An overview of H.264/AVC
The H.264/AVC standard, also known as MPEG-4 Part 10,
is the latest evolution in video codecs. The H.264/AVC
standard is divided into two main sections, the Video
Coding Layer (VCL) and the Network Abstraction Layer
(NAL). The NAL provides for a mapping of the H.264/AVC
byte stream onto different networks or storage devices,
allowing the signal to be stored on permanent media,
transmitted over a broadcast channel, or transmitted
across a packetized network (like the Internet). The
main enhancements provided by the NAL are to the robustness
of the video signal:
- Parameter set structure, allowing multiple frames to reference identical information
- Multiple transmission paths for header information, parameter sets and VCL
- Flexible slice size
- Flexible macro-block ordering
- Redundant pictures (lower resolution)
The VCL provides a number of enhancements to previous
video standards, both in terms of the amount of compression
that can be achieved and on the efficiency of the
encoding procedures. In several instances, existing techniques
from the current MPEG-4 standard are provided in H.264/AVC
but with simpler implementation. The significant points of the
enhanced VCL are listed here:
- Variable macro-block size (as small as 4x4)
- Quarter sample motion compensation
- Motion vectors over picture boundaries (i.e. outside of image boundary)
- Multiple reference frames for video compensation
- Out-of-order transmission / delivery of frames
- Allow B frames to be used for motion compensation
- In-the-loop deblocking filter
- Short word length requiring only 16-bit arithmetic
- Exact match inverse transform -- all decoders produce identical output
- Improved entropy encoders for higher compression
- SP/SI frames to allow synchronization between different bit-rate streams
Summary of class discussion
During the discussion of this standard, several points were brought
up relating both to the H.264/AVC standard, the standards process
in general and previous video codec standards. The main points are
summarized in the following list:
- All standards begin as speculative, that is not knowing how to accomplish everything that they set out to do.
- The MPEG-4 standard never really had a killer application that saw wide spread adoption.
- The new H.264/AVC standard comes with a brand new patent-pool separate from the existing MPEG-4 standard, so it is unlikely MPEG-4 will be used in mainstream commercial applications, whereas it is more likely that H.264/AVC will be widely used.
- Apple Computer is definitely pushing H.264/AVC and is aggressively incorporating it into it's next round of iChat, iVideo, and so on.
- The sum total of the enhancements to the VCL provides approximately 50% improvement over MPEG-4.
- It is unclear at this point if either the Arbitrary Slice Ordering (ASO) or the Flexible Macroblock Ordering (FMO) will be widely used. The VCL enhancements seem to be the first thing implemented in current codecs.
- It is unclear how features like redundant pictures help, given that they appear in the NAL unit after the primary picture and would be impacted by delivery problems too.
References
The presentation slides (as a PDF) file.
The paper the presentation was based on.