The Full Wiki

More info on Comparison of video codecs

Comparison of video codecs: Map


Wikipedia article:

Map showing all locations mentioned on Wikipedia article:

Comparison of video codecs — is an evaluation process for codec similarities and differences. A video codec is a device or software that enables video compression and or decompression for digital video. The compression usually employs lossy data compression, so quality measurement issues become important. Shortly after the compact disc became widely available as a digital-format replacement for analog audio, it became feasible to also store and use video in digital form. A variety of technologies soon emerged to do so. The primary goal for most methods of compressing video is to produce video that most closely approximates the fidelity of the original source and simultaneously deliver the smallest file size possible. However, there are also several other factors that can be used as a basis for comparison.

Introduction to comparison

The following characteristics are compared in video codecs comparisons:
  • Video quality per bitrate (or range of bitrates). Commonly video quality is considered the main characteristic of codec comparisons. Video quality comparisons can be subjective or objective.
  • Performance characteristics like compression/decompression speed, supported profiles/options, supported resolutions, supported rate control strategies etc.
  • General software characteristics, for example:
    • Manufacturer
    • Supported OS (Linux, Mac OS, Windows)
    • Version number
    • Date of release
    • Type of license (commercial, free, open source)
    • Supported interfaces (VfW, DirectShow, etc)
    • Price for codec (volume discounts, etc)

Another important issue for comparison is application area. The following application areas need different codec characteristics:
  • Videoconferencing presume
    • very fast compression (minimum delay and similar compression time for all frames)
    • very fast decompression (minimum delay)
    • pretty good error resistance
    • good quality characteristics for low bitrates
    • camera artefacts suppression is welcome
  • DVD or MPEG-4 CD video compression presume
    • maximum quality compression (maybe multipass: 2-pass compression)
    • fast decompression (but constant delay with buffering is possible)
    • error resistance mechanism implementation is welcome, but not critical
    • maximum quality characteristics for high and medium bitrates
    • typical video processing (like automatic denoising, deinterlacing) is welcome.
Comparison of the best DVD MPEG-2 codec with the base profile videoconferencing H.264 implementation can cause some confusing issues and generally wrong results. Such methods of codec comparison were widely used for marketing materials preparation during dot-com bubble.

Video quality

The quality the codec can achieve is heavily based on the compression format the codec uses. A codec is not a format, and there can be multiple codecs that implement the same compression specification – for example, MPEG-1 codecs typically do not achieve quality/size ratio comparable to codecs that implement the more modern H.264 specification. But quality/size ratio of output produced by different implementations of the same specification can vary, too.

Prior to comparing codec video quality, it is important to understand that every codec can give a varying degree of quality for a given set of frames within a video sequence. Numerous factors play a role in this variability. First, all codecs have a bitrate control mechanism which is responsible for determining the bitrate and quality on a per-frame basis. A difference between variable bit rate (VBR) and constant bit rate (CBR) creates a trade-off between a consistent quality over all frames, and a more constant bitrate, which is required for some applications. Second, some codecs differentiate between different types of frames such as key frames and non-key frames, differing in their importance to overall visual quality and the extent to which they can be compressed. Third, quality depends on prefiltrations, that is included on all present-day codecs. Other factors can also come into play.

For a sufficiently long clip, it is possible to select sequences which have suffered little from the compression and sequences which have suffered heavily, especially if CBR was used, in which the quality between frames can vary highly due to different amounts of compression needed to achieve a constant bitrate. So, in any one long clip such as a full length movie, any two codecs may perform quite differently on a particular sequence from the clip, while the codecs may be approximately equal (or the situation reversed) in quality over a wider sequence of frames. Press-releases and amateur forums sometimes select sequences known to favor a particular codec or style of rate control in reviews .

Objective video quality

Objective video evaluation techniques are mathematical models that approximate results of subjective quality assessment, but are based on criteria and metrics that can be measured objectively and automatically evaluated by a computer program. Objective methods are classified based on the availability of the original video signal, which is considered to be of high quality (generally not compressed). Therefore, they can be classified as:
  • Full reference methods (FR),
  • Reduced reference methods (RR), and
  • No-reference methods (NR).

The main FR metrics are:
Peak signal-to-noise ratio (PSNR): The most widely used video quality metric during last 20 years (used approximately in 99% of scientific papers and in 20% of marketing materials). However, the validity of this metric is limited. It is only conclusive when the same codec (or codec type) and content is being compared.
Structural similarity (SSim.): New metric (was suggested in 2004) shows better results than PSNR with reasonable computational complexity increasing.

Some other metrics have been suggested by Video Quality Experts Group (VQEG); private companies; and universities, but are not widespread.

Main comparison method is so called RD-curve (rate/distortion chart), where Y-axis used for metric value and X-axis used for bitrate.

Following NR metrics are used:
  • Blocking measure — measurement power of so called blocking artefacts (extremely noticeable without deblocking filter usage on low bitrates)
  • Blurring measure — measurement of common video blurring (washout)
  • etc.

Subjective video quality

It is concerned with how video is perceived by a viewer and designates his or her opinion on a particular video sequence. Subjective video quality tests are quite expensive in terms of time (preparation and running) and human resources.

There is an enormous number of ways of showing video sequences to experts and to record their opinions. A few of them have been standardized. They are thoroughly described in ITU-R recommendation BT.500.

Following subjective video quality comparison methods are used:
  • Double Stimulus Impairment Scale (DSIS) — suggested in ITU-R BT.500-11.
  • Double Stimulus Continuous Quality Scale (DSCQS) type I and type II — suggested in ITU-R BT.500-11
  • Stimulus Comparison Adjectival Categorical Judgement (SCACJ) — suggested in ITU-R BT.500-11
  • Subjective Assessment Method for Video Quality evaluation (SAMVIQ)
  • MSU Continuous Quality Evaluation (MSUCQE)

The reason for measuring subjective video quality is the same as for measuring the Mean Opinion Score for audio. Opinions of experts can be averaged; average mark is usually given with confidence interval. Additional procedures can be used for averaging, for example experts who give unstable results can be rejected (for instance, if their correlation with average opinion is small).

In case of video codecs, this is very common situation. When codecs with similar objective results show results with different subjective results, the main reasons can be:

  • Pre- and postfilters are widely used in codecs. Commonly codecs use prefilters like video denoising, deflicking, deshacking and etc. Denoising and deflicking commonly maintain PSNR value, but increase visual quality (the best slow denoising filters also increase PSNR on middle and high bitrates). Deshacking seriously decreases PSNR, but increases visual quality. The same situation with postfilters — deblocking and deringing maintain PSNR, but increase quality. Graining (suggested in H.264) essentially increases video quality especially on big plasma screens, but decrease PSNR.
Note: All filters worsen compression/decompression time, so they increase visual quality, but decrease speed.
  • Motion estimation (ME) search strategy can also cause different visual quality for the same PSNR. So called true motion search commonly will not reach minimum sum of absolute differences (SAD) values in codec ME, but may result in better visual quality. Also such methods require more compression time.
  • Rate control strategy. VBR commonly cause better visual quality marks than CBR for the same average PSNR values for sequences.

For subjective video comparison it's difficult to use big amount of sequences. Commonly 3-4 10 seconds sequences are used in comparison with full movies compared with objective metrics. So sequences selection become pretty important (as far as those sequences will be close to the developers codec tuned sequences, their results will be more competitive).

Performance comparison

Speed comparison

Number of frames per second (FPS) commonly used for compression/decompression speed measurement.

In case of codecs following issues should be taken into account for correct comparison:
  • Decompression (sometimes compression) frame time uniformity. Big difference in this time can cause annoying jerkily playback.
  • SIMD support by processor and codec — MMX, SSE, SSE2.
  • Multi-threading support by processor and codec (sometimes Hyper-threading support turning on cause codec speed decreasing)
  • RAM speed (pretty important for codecs)
  • Processor's cache size (sometimes cause serious speed degradation on low cache CPU's such as the Intel Celeron.)

for example codec A is more optimized for memory usage (use less memory) but shows lower results than codec B on modern computer. The same codecs places can be swapped on old processor with limited cache size.

Profiles support

Modern standards define a wide range of features and require very substantial software or hardware efforts and resources for their implementation. Only selected profiles of a standard are typically supported in any particular product. (This very common situation for H.264 implementations for example.)

The H.264 standard includes the following seven sets of capabilities, which are referred to as profiles, targeting specific classes of applications:
  • Baseline Profile (BP): Primarily for lower-cost applications with limited computing resources, this profile is used widely in videoconferencing and mobile applications.
  • Main Profile (MP): Originally intended as the mainstream consumer profile for broadcast and storage applications, the importance of this profile faded when the High profile was developed for those applications.
  • Extended Profile (XP): Intended as the streaming video profile, this profile has relatively high compression capability and some extra tricks for robustness to data losses and server stream switching.
  • High Profile (HiP): The primary profile for broadcast and disc storage applications, particularly for high-definition television applications (this is the profile adopted into HD DVD and Blu-ray Disc, for example).
  • High 10 Profile (Hi10P): Going beyond today's mainstream consumer product capabilities, this profile builds on top of the High Profile — adding support for up to 10 bits per sample of decoded picture precision.
  • High 4:2:2 Profile (Hi422P): Primarily targeting professional applications that use interlaced video, this profile builds on top of the High 10 Profile — adding support for the 4:2:2 chroma sampling format while using up to 10 bits per sample of decoded picture precision.
  • High 4:4:4 Predictive Profile (Hi444PP): This profile builds on top of the High 4:2:2 Profile — supporting up to 4:4:4 chroma sampling, up to 14 bits per sample, and additionally supporting efficient lossless region coding and the coding of each picture as three separate color planes.

The standard also contains four additional all-Intra profiles, which are defined as simple subsets of other corresponding profiles. These are mostly for professional (e.g., camera and editing system) applications:
  • High 10 Intra Profile: The High 10 Profile constrained to all-Intra use.
  • High 4:2:2 Intra Profile: The High 4:2:2 Profile constrained to all-Intra use.
  • High 4:4:4 Intra Profile: The High 4:4:4 Profile constrained to all-Intra use.
  • CAVLC 4:4:4 Intra Profile: The High 4:4:4 Profile constrained to all-Intra use and to CAVLC entropy coding (i.e., not supporting CABAC).

Moreover, the standard now also contains three Scalable Video Coding profiles.
  • Scalable Baseline Profile: A scalable extension of the Baseline profile.
  • Scalable High Profile: A scalable extension of the High profile.
  • Scalable High Intra Profile: The Scalable High Profile constrained to all-Intra use.

An accurate comparison of codecs must take the profile variations within each codec into account.

See also MPEG-2 Profiles and Levels.

Supported rate control strategies

Videocodecs rate control strategies can be classified as:

Variable bit rate (VBR) is a strategy to maximize the visual video quality and minimize the bit rate. On fast motion scenes, a variable bit rate uses more bits than it does on slow motion scenes of similar duration yet achieves a consistent visual quality. For real-time and non-buffered video streaming when the available bandwidth is fixed, e.g. in videoconferencing delivered on channels of fixed bandwidth, a constant bit rate (CBR) must be used.

CBR is commonly used for videoconferences, satellite and cable broadcasting. VBR is commonly used for video CD/DVD creation and video in programs.

Usage of different rate control strategies — one of the main reasons of different results of codecs, implemented one standard.

Software characteristics

Codecs list

General video codec information — creator/company, license/price, etc.
Codec Creator/Maintainer First public release date Latest stable version License Patented compression formats Compression method
libtheora (Theora) 2002-09-25 1.1.1 (2009) Lossy
dirac-research (Dirac) BBC Research Department 2008-09-17 1.0.2 (2009) Lossy
Schrödinger (Dirac) David Schleef 2008-02-22 1.0.7 (2009) Lossy
x264 x264 team 2003 r1240 (2009) MPEG-4 AVC/H.264 Lossy/lossless
Xvid Xvid team 2001 1.2.2 (2009) MPEG-4 ASP Lossy
FFmpeg (libavcodec) FFmpeg team 2000 0.5 (2009) MPEG-1, MPEG-2, MPEG-4 ASP, H.261, H.263, VC-3, WMV7, WMV8, VP5, VP6, MJPEG etc. Lossy/lossless
FFavs (libavcodec) FFavs team 2009 0.0.3 MPEG-1, MPEG-2, MPEG-4 ASP etc. Lossy/lossless
Blackbird Forbidden Technologies plc 2006-01 2 Proprietary Blackbird Lossy
DivX DivX, Inc. 2001 7.0 (2009) Proprietary MPEG-4 ASP, H.264 Lossy
DivX ;-) a hack of Microsoft's MPEG-4v3 codec 1998 3.20 alpha (2000) Proprietary Microsoft's MPEG-4v3 (not MPEG-4 compliant) Lossy
3ivx 3ivx Technologies Pty. Ltd. 2001 5.0.2 (2007) Proprietary MPEG-4 ASP Lossy
Nero Digital Nero AG 2003 Proprietary MPEG-4 ASP, H.264 Lossy
Sorenson Video Sorenson Media 1998 Proprietary Sorenson Video Lossy
Sorenson Spark Sorenson Media 2002 Proprietary Sorenson Spark Lossy
VP3 On2 Technologies 2000 Lossy
VP4 On2 Technologies 2001 Proprietary VP4 Lossy
VP5 On2 Technologies 2002 Proprietary VP5 Lossy
VP6 On2 Technologies 2003 Proprietary VP6 Lossy
VP7 On2 Technologies 2005 Proprietary VP7 Lossy
VP8 On2 Technologies 2008 Proprietary VP8 Lossy
DNxHD Avid Technology 2008 Proprietary VC-3 Lossy
Cinema Craft Encoder SP2 Custom Technology Corporation 2000 (2009) Proprietary MPEG-1, MPEG-2 Lossy
TMPGEnc Free Version Pegasys Inc. 2001 2.525.64.184 (2008) Proprietary MPEG-1, MPEG-2 Lossy
Windows Media Encoder Microsoft 1999 9 (2003) (WMV3 in FourCC) Proprietary WMV, VC-1, (in early versions MPEG-4 Part 2 and not MPEG-4 compliant MPEG-4v3, MPEG-4v2) Lossy
Cinepak Created by SuperMac, Inc.Currently maintained by Compression Technologies, Inc. 1991 Proprietary Lossy
Indeo Video Intel Corporationmarker, currently offered by Ligos Corporation 1992 5.2 Proprietary Indeo Video Lossy
TrueMotion S The Duck Corporation 1995 Proprietary TrueMotion S Lossy
RealVideo RealNetworks 1997 RealVideo 10 Proprietary H.263, RealVideo Lossy
ACT-L3 Streambox Proprietary Lossy
Huffyuv Ben Rudiak-Gould 2000 2.1.1 (2003) Lossless
Lagarith Ben Greenwood 2004-10-04 1.3.20 (2009) Lossless

 The Xiph.Org Foundation has negotiated an irrevocable free license to Theora and other VP3-derived codecs for everyone, for any purpose.

Operating system support

Note that operating system support does not mean whether video encoded with the codec can be played back on the particular operating system – for example, video encoded with the DivX codec is playable on Unix-like systems using free MPEG-4 ASP decoders (FFmpeg MPEG-4 or Xvid), but the DivX codec (which is a software product) is only available for Windows and Mac OS X.

Encoder Operating System Support
Codec Mac OS X other Unix & Unix-like Windows
Schrödinger (Dirac)
Sorenson Video 3
 Limited support for Windows Vista.

Technical details

Codec Compression type Basic algorithm Highest supported bitrate Highest supported resolution Variable frame rate
Blackbird Lossy compression 384×288 (PAL), 320×240 (NTSC)
Cinepak Lossy compression Vector quantization
Dirac Lossy compression Wavelet compression Unlimited Unlimited
Sorenson 3 Lossy compression
Theora Lossy compression Discrete cosine transform Gibit/s 1,048,560×1,048,560Requires about 3 terabytes per uncompressed frame at maximum resolution (pg 37, Theora I Specification. March 7, 2006)
RealVideo Lossy compression Discrete cosine transform

 Theora streams with different frame rates can be chained in the same file, but each stream has a fixed frame rate.

Freely available codecs comparisons

List of freely available comparisons and their content description:

Name of comparison Type of comparison Date(s) of publication List of compared codecs Comments
Series of Doom9 codec comparisons Series of subjective comparison of popular codecs
  • 2002
  • 2003
  • 2005
  • DivX4.12, On2 VP3, XviD 1/25 and WMV8 and DivX5.01, XviD 3/27 and ON2 VP4 — at first version
  • Dirac, Elecard AVC HP, libavcodec MPEG-4, NeroDigital ASP, QuickTime 7, Snow, Theora, VideoSoft H.264 HP, XviD 1.1 beta 2 — in last one
Subjective comparison with convenient visualization
Series of MSU annual H.264 codecs comparisons Series of objective H.264 codecs comparisons with MPEG-4 ASP reference
  • 2004
  • 2005 Jan.
  • 2005 Dec.
  • 2006 Dec.
  • 2007 Dec.
  • 2009 May
  • 2005 (Jan.): Mpegable AVC, Moonlight H.264, MainConcept H.264, Fraunhofer IIS, Ateme MPEG-4 AVC/H.264, Videosoft H.264, DivX Pro 5.1.1 (Not 264! Used for comparison with H.264 codecs as well tuned codec from previous generation MPEG-4 ASP)
  • 2005 (Dec.): DivX 6.0 (MPEG-4 ASP reference), ArcSoft H.264, Ateme H.264, ATI H.264, Elecard H.264, Fraunhofer IIS H.264, VSS H.264, x264
  • 2006: DivX 6.2.5 (MPEG-4 ASP reference), MainConcept H.264, Intel H.264, VSS H.264, x264, Apple H.264, (partially), Sorenson H.264 (partially)
  • 2007: XviD (MPEG-4 ASP codec), MainConcept H.264, Intel H.264, x264, AMD H.264, Artemis H.264
Detailed objective comparisons
Series of Lossless Video Codecs Comparison Two size and time comparisons of lossless codecs (with lossless checking)
  • 2004 Oct.
  • 2007 Mar.
  • 2004 (14 codecs): Alpary v2.0, AVIzlib v2.2.3, CamStudio GZIP v1.0, CorePNG v0.8.2, FFV1 ffdshow 08/08/04, GLZW v1.01, HuffYUV v2.1.1, Lagarith v1.0.0.1, LEAD JPEG v1.0.0.1, LOCO v0.2, MindVid v1.0 beta 1, MSUlab beta v0.2.4, MSUlab v0.5.2, PicVideo JPEG v., VBLE beta
  • 2007 (16 codecs): Alpary, ArithYuv, AVIzlib, CamStudio GZIP, CorePNG, FastCodec, FFV1, Huffyuv, Lagarith, LOCO, LZO, MSU Lab, PICVideo, Snow, x264, YULS
in 2007 — more detailed report with new codecs including first standard H.264 (x264)
MSU MPEG-4 codecs comparison Objective comparison of MPEG-4 codecs
  • 2005 Mar.
DivX 5.2.1, DivX 4.12, DivX 3.22, MS MPEG-4 3688 v3, XviD 1.0.3, 3ivx D4 4.5.1, OpenDivX 0.3 Different versions of DivX was also compared. The Xvid results may be erroneous, as deblocking was disabled for it while used for DivX.
Subjective Comparison of Modern Video Codecs Scientifically accurate subjective comparison using 50 experts and SAMVIQ methodology
  • 2006 Feb.
DivX 6.0, Xvid 1.1.0, x264, WMV 9.0 (2 bitrates for every codec) PSNR via VQM via SSIM comparison was also done
MPEG-2 Video Decoders Comparison Objective MPEG-2 Decoders comparison
  • 2006 May.
bitcontrol MPEG-2 Video Decoder, DScaler MPEG2 Video Decoder, Elecard MPEG-2 Video Decoder, ffdshow MPEG-4 Video Decoder (libavcodec), InterVideo Video Decoder, Ligos MPEG Video Decoder, MainConcept MPEG Video Decoder, Pinnacle MPEG-2 Decoder Objectly tested (100 times per stream) decoders "crash test" (test on damaged stream — like scratched DVD or satellite samples)
Codecs comparison Personal subjective opinion
  • 2003 Nov.
3ivx, Avid AVI 2.02, Cinepak, DivX 3.11, DivX 4.12, DivX 5.0.2, DV, Huffyuv, Indeo 3.2, Indeo 4.4, Indeo 5.10, Microsoft MPEG-4 v1, Microsoft MPEG-4 v2, Microsoft RLE, Microsoft Video 1, XviD, 3ivx, Animation, Blackmagic 10-bit, Blackmagic 8-bit, Cinepak, DV, H.261, H.263, Motion-JPEG, MPEG-4 Video, PNG, Sorenson Video, Sorenson Video 3 Sometimes comparison is short (up to one text line per codec)
Evaluation of Dirac and Theora Scientific paper
  • 2009 Mar.
Dirac, Dirac Pro, Theora I, H.264, Motion JPEG2000 (the tested codecs are from Q2-2008) Quite detailed comparison of software available in Q2-2008; However, a buggy version of ffmpeg2Theora was used

See also

Notes and references

  1. Thomos, N., Boulgouris, N. V., & Strintzis, M. G. (2006, January). Optimized Transmission of JPEG2000 Streams Over Wireless Channels. IEEE Transactions on Image Processing , 15 (1).
  2. Xiangjun, L., & Jianfei, C. ROBUST TRANSMISSION OF JPEG2000 ENCODED IMAGES OVER PACKET LOSS CHANNELS. ICME 2007 (pp. 947-950). School of Computer Engineering, Nanyang Technological University.
  3. Xiph.Org Foundation (2009) Theora development website - news, Retrieved 2009-10-06
  4. Dirac Video Compression, Retrieved on 2009-08-08
  5. x264 - Jarod's unofficial builds for Windows, Retrieved on 2009-08-08
  6. x264 - a free h264/avc encoder, Retrieved on 2009-08-08
  7., Retrieved on 2009-08-08
  8., Retrieved on 2009-08-09
  9. FFavs, Retrieved on 2009-08-08
  10. VirtualDub VirtualDub documentation: codecs, Retrieved on 2009-08-08
  11. Video Codecs - Compressed Formats, Retrieved on 2009-08-08
  12. Tom's Hardware (2001-10-22) A Tough Choice: DivX 3.20a Codec Still Better Than DivX 4.01 Codec, Retrieved on 2009-08-08
  13. 3ivx, Retrieved on 2009-08-09
  14. Nero AG What is Nero Digital, Retrieved on 2009-08-08
  15. Custom Technology Corporation CINEMA CRAFT - Download, Retrieved on 2009-08-11
  16. Pegasys Inc. What Is New, Retrieved on 2009-08-11
  17. Compression Technologies, Inc., current maintainer of Cinepak
  18. RealNetworks Products - Codecs, Retrieved on 2009-08-07
  19. Huffyuv v2.1.1, Retrieved on 2009-08-09
  20. Lagarith Lossless Video Codec, Retrieved on 2009-08-09
  21. FAQ: isn't VP3 a patented technology?
  22. Technical description of the Cinepak codec
  23. Frame rate, resolution, etc. are coded as variable length data.

Embed code:

Got something to say? Make a comment.
Your name
Your email address