Comparison of H.264 and VC-1
From Wikipedia, the free encyclopedia
H.264 and VC-1 are popular video compression standards gaining use in the industry as of 2007. This article outlines commonalities and differences with the two standards.
Contents |
[edit] Overview
VC-1 | H.264 | |
---|---|---|
Goals | Designed to offer very high image quality with excellent compression efficiency [1] | Designed to meet a variety of industry needs with many profiles and levels [1][dead link] |
Design Approaches | Lower computational complexity without performance loss[2] | More complex, more difficult to implement and optimize[2] |
Example industry use | Supports 4:2:0 compression / color space[3] | Supports studio archiving requirements with 4:4:4 color space; separate black and white (BW) video mode |
Licensing costs | Similar [2] [3] | Similar [4] |
Documentation | Not free. Reference decoder (which is not free by itself) comes with external documentation. | Free [5] Reference encoder and decoder free as well [6]. Plus JVT, M4IF mail-lists where one may receive answers on the AVC related questions. |
[edit] Terminology
All sources for the below information are from the respective specifications listed in the overview section.
VC-1 | H.264 | |
---|---|---|
Partition sizes | 16x16, 16x8, 8x16, 8x8[2] | 16x16,16x8,8x16,8x8,8x4,4x8,4x4 |
Integer transform | 8x8, 4x8, 8x4, and 4x4 | 4x4; 8x8 available in High Profile only |
Frame | Used for interlace content. Consists of bottom and top field | Used for progressive or interlaced content |
Macroblock sizes | 16x16 only | Same |
Motion vector | Two dimensional vector offset from current position to reference frame | Same |
Picture | A field or frame | Same |
Skipped macroblock | No data is encoded for macroblock | Same |
[edit] Features
VC-1 | H.264 | |
---|---|---|
Bitstream formats | single bit stream | NAL and byte stream |
Bitstream format | Each Bitstream Data Unit has it's own header. Simple and Main profile do not provide neither sequence nor entry point headers. | SPS (sequence parameter set), PPS (picture parameters set), slice header, macroblock |
Deblocking filter | In-loop and out-of-loop alogorithms, overlap transform | In-loop only |
CABAC | No | Only supported in Main and higher profiles |
Variable transform size | Yes | Only in High profile and above |
Variable Length Coding | Yes | Yes |
Slice | Contiguous (integer number of macroblock rows only) | Contiguous/non contiguous |
B frame used for predicting other pictures | No | Yes |
Sub pixel interpolation methods | bicubic, bilinear | 6-tap filter for half pixel, averaging for quarter pixels |
[edit] References
- ^ http://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-H.264-200503-I!!PDF-E&type=items[dead link] Section 0.3
- ^ a b c Advanced Encoding
- ^ SMPTE Draft Standard for Television, SMPTE421M, SMPTE Technology Committee C24 on Video Compression Technology, Proposed SMPTE Standard for Television: VC-1 Compressed Video Bitstream Format and Decoding Process, Date: 2005-08-23, Copyright 2003-2005 THE SOCIETY OF MOTION PICTURE AND TELEVISION ENGINEERS 595 W. Hartsdale Ave. White Plains, NY 10607 E-mail eng@smpte.org Web www.smpte.org