Comparison of H.264 and VC-1

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

H.264 and VC-1 are popular video compression standards gaining use in the industry as of 2007.

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, 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[citation needed]
Example industry use Supports 4:2:0 compression / color space[2] Supports studio archiving requirements with 4:4:4 color space;
separate black and white (BW) video mode
Licensing costs Similar[3][4][5]
Documentation Not free. Reference decoder, comes with external documentation. ?[6] AVC/H264 Licensing costs and terms from MPEG LA.[7] Reference encoder and decoder free as well.[8] 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 H.264
Partition sizes 16×16 and 8×8[9] 16×16, 16×8, 8×16, 8×8, 8×4, 4×8, and 4×4
Integer transform 8×8, 4×8, 8×4, and 4×4 4×4; 8×8 available in High Profile only
Frame Used for progressive or interlaced content
Macroblock sizes 16×16 only
Motion vector Two dimensional vector offset from current position to reference frame
Picture A field or frame
Skipped macroblock No data is encoded for macroblock

Features

VC-1 H.264
Bitstream formats single bit stream NAL and byte stream
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 6-tap filter for half pixels; averaging for quarter pixels
Variable Length Coding Yes
B frame used for predicting other pictures Yes

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.

External links