Understanding H.264 Video Compression

H.264 is the latest official video compression standard, which follows from the highly successful MPEG-2 and MPEG-4 video standards and offers improvements in both video quality and compression. The most significant benefit for IP video systems is the ability to deliver the same high-quality, low-latency, digital video with savings of between 25 and 50 percent on bandwidth and storage requirements. Or to put it another way, the goal is to deliver significantly higher video quality for the same bandwidth.

What is H.264?

H.264 is a video codec (compression and decompression, a.k.a., encode, decode) standard. A video codec is designed to compress and uncompress digital video in order to reduce the amount of bandwidth required to transmit and store the video. This is needed as the raw data rate of uncompressed CCIR601 active digital video (720x480 pixel, 4:2:2 video at 30fps) is in excess of 158Mbps. That raw volume is over 300 times the capacity of a 512kbps ADSL connection and would allow only a little more than one hour of recording on an 80GB hard disk.

Simply scaling the video, to SIF resolution (352x240 pixels with a 4:2:0 video color sampling scheme at 30fps), and compressing with standard utilities such as WinZip or Gzip could achieve 10:1 compression. However, at least 300:1 compression is needed to stream live video over an ADSL connection and to achieve 300 hours (12.5 days) recording to an 80GB hard disk. This level of compression can be achieved with H.264.

Implementing the Standard

It is important, before looking at H.264 in more detail, to understand the difference between making a comparison between a standard and an implementation of a standard. The two are very different. Thus when people say, "H.264 provides better video quality than MPEG-2" this is a little misleading.

H.264 is a video compression standard. The H.264 standard defines the syntax of a compliant bitstream, to which a compliant decoder must conform exactly, implementing all the necessary tools defined by the standard in order to decode the bitstream.

An H.264 encoder, conversely, can implement a subset of the syntax defined by the standard, providing it produces a compliant bitstream. Various implementations and algorithms within the encoder are also not defined by the standard, and are created by the designer of the encoder. As such, H.264 encoders from different vendors will produce streams of differing quality, for the same bitrate.

So it is more appropriate to say, "H.264 provides a richer syntax and toolset than MPEG-2 and as such allows the possibility of implementing a superior video encoder that can generate higher quality video for the same bitrate, and can generate the same quality video at a much lower bitrate."

This can be demonstrated using the reference software encoder (JM11) freely available from the International Standards Organization (ISO). The H.264 reference encoder allows a user to select which tools to use in order to encode a particular video sequence. The table below shows the result of encoding an identical video sequence using the H.264 reference encoder with different tools. Each output bitstream from each test is a fully compliant H.264 bitstream and each bitstream is of equivalent video quality.

Tools

Bitrate (kbps)

Total execution time of required coding tools only (relative)

I-frame only encoding

2279

1

I and P-frames but with no motion estimation (0 search range)

1055

1.5

I and P-frames with a +/-16 search using a simplified search algorithm

453

14

I and P-frames using a full search algorithm with differing block size motion compensation

421

56

This table clearly shows that the more tools and algorithms that are used, the greater the compression achieved for the same quality of video. However, it is also clear that the addition of tools comes at the expense of increased complexity - in this case measured by the execution time of the encoding process. It is this increase in complexity that often causes some tools or algorithms to be omitted from the design of an H.264 encoder.

Relationship to MPEG-4, Part 2

MPEG-4 (ISO/IEC 14496) is a collection of standards defining the coding of audio-visual objects. The collection is divided into a number of parts describing video compression and audio compression standards, as well as system level parts, describing features such as the MPEG-4 file format. The video compression standard found in many products today is the traditional DCT-based MPEG-4 Part 2 (ISO/IEC 14496-2) standard.

The H.264 video compression standard has been incorporated into MPEG-4 as MPEG-4 Part 10 (ISO/IEC 14496-10). This means MPEG-4 now has two video compression standards available. However, these two video compression standards are non-interoperable, with each standard using different methods to compress and represent the data, i.e. an MPEG-4 Part 10 (H.264) decoder cannot decode an MPEG-4 Part 2 bitstream, and vice versa.

IP Video and H.264

The best way to see the benefits of H.264 in IP Video solutions is to look at an actual implementation of the standard, in this case IndigoVision's new 9000 series DVR.

Inside a 9000 transmitter, frames of video are captured from the camera and sent to the internal H.264 encoder to be compressed. Each frame of video is then compressed in one of two ways: as an I-frame or as a P-frame.

An I-frame is a video frame that has been encoded without reference to any other frame of video. A video stream or recording will always start with an I-frame and will typically contain regular I-frames throughout the stream. These regular I-frames, also called intra frames, key frames or access points, are crucial for random access of recorded H.264 files, such as with rewind and seek operations during playback. The regularity of these I-frames is known as the I-frame interval; however, the disadvantage of I-frames is that they tend to be much larger than P-frames.

P-frames are motion-compensated frames: that is to say the encoder makes use of the difference between the current frame being processed and a previous frame of video, ensuring that information that does not change, e.g. a static background, is not repeatedly transmitted. To put it simply, a P-frame tells the codec what changed from the previous I-frame, and since it is not a full frame of video, it takes much less space to store. Unlike purely difference-based codecs, such as delta-MJPEG, H.264 not only looks for differences but searches for motion that has occurred in the video. This means that motion-compensated codecs will typically outperform simple difference-based codecs when there is motion. The process of searching for motion is known as motion estimation.

Within the codec the motion estimation unit is one of the most computationally expensive parts and critical to the performance of the H.264 encoder. Motion estimation is a complex procedure and often encoders, especially real-time software or DSP-based encoders, will use reduced search areas or use a restrictive search algorithm in order to achieve real-time performance. However, this can often result in poor quality video and significantly reduced compression.

An example of the savings that can be achieved on a scene, such as the one opposite, is demonstrated in the following graph. In this example the same video sequence has been encoded using four different encoders: MPEG-4 (using the IndigoVision 8000), H.264 (using the IndigoVision 9000), an MPEG-4 encoder with no motion estimation, and an MJPEG encoder. All were encoded at 25fps (with the exception of MJPEG at 5fps) to the same subjective video quality.

The graph shows that compared to MPEG-4, H.264 can achieve savings of typically between 20 and 25 percent in bandwidth usage and in excess of 50 percent during periods of scene inactivity - i.e. when there is no moving traffic. Not only does this reduce the overall bandwidth requirements of the IP video system but more importantly it can significantly reduce the amount of storage required for recording the video, often one of the most expensive items in the system.

Conclusion

H.264 offers significant benefits to the user and system designer. However, the extra complexity of the implementation comes at extra cost. So H.264 will not replace MPEG-4 overnight, but sit alongside it providing a wider choice of solutions to the end user. Even though MPEG-4 and H.264 compression standards are not compatible, IP networks allow both systems to co-exist and many video management and recording software systems can directly understand both bitstreams.

About the author: Before joining video surveillance vendor IndigoVision as Chief Technical Officer (CTO) in 1999, Barry Keepence worked for over 10 years in the space industry and at 3Com as a system architect. He is based in Edinburgh, England.

Loading