Comparison of H.264 and VC-1
Encyclopedia
H.264 and VC-1
are popular video compression standards gaining use in the industry .
VC-1
VC-1 is the informal name of the SMPTE 421M video codec standard, which was initially developed as a proprietary video format by Microsoft before it was released as a formal SMPTE standard video format on April 3, 2006...
are popular video compression standards gaining use in the industry .
Overview
VC-1 VC-1 VC-1 is the informal name of the SMPTE 421M video codec standard, which was initially developed as a proprietary video format by Microsoft before it was released as a formal SMPTE standard video format on April 3, 2006... | H.264 | |
---|---|---|
Goals | Designed to offer very high image quality with excellent compression efficiency | Designed to meet a variety of industry needs with many profiles and levels, allowing for varying compression, quality and CPU usage levels, where the lowest level is for portable devices, designed with low CPU usage in mind, while the high levels are designed with very high quality and compression efficiency in mind |
Example industry use | Supports 4:2:0 compression / color space | Supports studio archiving requirements with 4:4:4 color space; separate black and white (BW) video mode |
Licensing costs | Similar | |
Documentation | Not free. Reference decoder, comes with external documentation. | ?AVC/H264 Licensing costs and terms from MPEG LA. Reference encoder and decoder free as well. Additionally, JVT & M4IF mailing lists are available where one may receive answers on AVC related questions. |
Terminology
All sources for the below information are from the respective specifications listed in the overview section.Feature | VC-1 VC-1 VC-1 is the informal name of the SMPTE 421M video codec standard, which was initially developed as a proprietary video format by Microsoft before it was released as a formal SMPTE standard video format on April 3, 2006... | H.264 |
---|---|---|
Partition sizes | 16x16 and 8x8 | 16x16, 16x8, 8x16, 8x8, 8x4, 4x8, and 4x4 |
Integer transform | 8x8, 4x8, 8x4, and 4x4 | 4x4; 8x8 available in High Profile only |
Frame | Used for progressive or interlaced content | |
Macroblock Macroblock Macroblock is an image compression component and technique based on discrete cosine transform used on still images and video frames. Macroblocks are usually composed of two or more blocks of pixels. In the JPEG standard macroblocks are called MCU blocks.... sizes |
16x16 only | |
Motion vector | Two dimensional vector offset from current position to reference frame Reference frame (video) Reference frames are frames of a compressed video that are used to define future frames. As such, they are only used in inter-frame compression techniques. In older video encoding standards, such as MPEG-2, only one reference frame – the previous frame – was used for P-frames... |
|
Picture | A field or frame | |
Skipped macroblock | No data is encoded for macroblock | |
Features
VC-1 VC-1 VC-1 is the informal name of the SMPTE 421M video codec standard, which was initially developed as a proprietary video format by Microsoft before it was released as a formal SMPTE standard video format on April 3, 2006... | H.264 | |
---|---|---|
Bitstream Bitstream A bitstream or bit stream is a time series of bits.A bytestream is a series of bytes, typically of 8 bits each, and can be regarded as a special case of a bitstream.... formats |
single bit stream | NAL Network Abstraction Layer The Network Abstraction Layer is a part of the H.264/AVC Video Coding Standard. The main goal of the H.264/AVC NAL is the provision of a "network-friendly" video representation addressing "conversational" and "non conversational" applications... and byte stream Byte stream In computer science, a byte stream is a bit stream, in which data bits are grouped into units, called bytes.In computer networking the term octet stream is sometimes used to refer to the same thing; it emphasizes the use of bytes having the length of 8 bits, known as octets.Formally, a byte stream... |
Bitstream Bitstream A bitstream or bit stream is a time series of bits.A bytestream is a series of bytes, typically of 8 bits each, and can be regarded as a special case of a bitstream.... format |
In advanced profile, each Bitstream Data Unit has its own header. Simple and Main profile provide neither sequence nor entry point headers. |
SPS (sequence parameter set), PPS (picture parameters set), slice header, macroblock |
Deblocking filter | In-loop filter and overlap transform | In-loop only |
CABAC | No | Only supported in Main and higher profiles |
Variable transform size | Yes | Only in High profile and above |
Slice | Contiguous (integer number of macroblock rows only) | Contiguous or non-contiguous |
Sub-pixel interpolation methods | bicubic, bilinear Bilinear Bilinear may refer to:* Bilinear sampling, a method in computer graphics for choosing the color of a texture* Bilinear form* Bilinear interpolation* Bilinear map, a type of mathematical function between vector spaces... |
6-tap filter for half pixels; averaging for quarter pixels |
Variable Length Coding Variable-length code In coding theory a variable-length code is a code which maps source symbols to a variable number of bits.Variable-length codes can allow sources to be compressed and decompressed with zero error and still be read back symbol by symbol... |
Yes | |
B frame used for predicting other pictures | Yes | |
External links
- AVC/H264 Licensing costs and terms from MPEG LA
- EEtimes comparison of video codecs http://www.eetimes.com/news/latest/showArticle.jhtml?articleID=184417335&pgno=4
- NAB2005 presentation: codec comparison slides 13-14
- Codec challenge comparison on Doom9 with professional VC1 encoder, PeP, and x264 for H264 => x264 win the first round
- Microsoft employee discusses differences between VC-1 and H.264
- Comparison at Doom9