Comparison of video codecs: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m →‎Introduction into comparison: "and etc" --> "etc"
→‎Codecs list: rm link to deleted article
Line 191: Line 191:
|-
|-
| [[Sorenson codec|Sorenson 3]]
| [[Sorenson codec|Sorenson 3]]
| [[Sorenson Media]]
| Sorenson Media
| [[July 1]], [[2001]]
| [[July 1]], [[2001]]
| 4.5
| 4.5

Revision as of 15:16, 1 July 2008

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. Around the time when the compact disc entered the market as a digital-format replacement for analog audio, it became feasible to also begin storing and using video in digital form, and a variety of such technologies began to emerge.

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.

So for comparison of best DVD MPEG-2 codec with base profile videoconferencing H.264 implementation can cause some confusing issues and generally wrong results. Such method of codecs comparison was 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. Firstly, 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. Secondly, 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. Thirdly, 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 [citation needed].

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).

Let's list main FR metrics:

  • 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)
  • SSIM - new metric (was suggested in 2004) shows better results, than PSNR with reasonable computational complexity increasing.
  • some other metrics was also suggested by VQEG, private companies and universities, but not so popular.

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 artifact" (very annoying 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:

  • DSIS (Double Stimulus Impairment Scale) - suggested in ITU-R BT.500-11.
  • DSCQS (Double Stimulus Continuous Quality Scale) type I and type II - suggested in ITU-R BT.500-11
  • SCACJ (Stimulus Comparison Adjectival Categorical Judgement) - suggested in ITU-R BT.500-11
  • SAMVIQ (Subjective Assessment Method for Video Quality evaluation)
  • MSUCQE (MSU Continuous Quality Evaluation)

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 are commonly save the same PSNR value, but increase visual quality (best slow denoising filters also increase PSNR on middle and high bitrates). Deshacking seriously decrease PSNR, but increase visual quality. The same situation with postfilter - deblocking and deringing are save 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 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 Celeron's)

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 declare a wide range of features and require millions of code lines for their implementation. Only selected profiles can be supported by exact codec (this very common situation for H.264 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.

In addition, the standard now 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).

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

Basic general information about the codecs: creator/company, license/price etc.

Codec Creator/Maintainer First public release date Latest stable version Cost (USD) License Patented algorithms
Blackbird Forbidden Technologies plc January 2006 2 Included in FORscene Proprietary Blackbird
Cinepak Created by Radius, Inc.

Currently maintained by Compression Technologies, Inc.[1]

1992 ? Included in Microsoft Windows or purchase a professional version from Cinepak Proprietary ?
DivX DivX, Inc. 2001 6.8 DivX Community Codec - free

DivX Pro Codec - $19.99

Proprietary MPEG-4 ASP
FFmpeg (libavcodec) FFmpeg team 2000 0.4.9-pre1 Free GNU LGPL MPEG-1, MPEG-2, MPEG-4 etc.
Sorenson 3 Sorenson Media July 1, 2001 4.5 Squeeze 4.3 for Flash (Win/Mac) $249 Full; $199 Upgrade

Squeeze 4.3 Compression Suite (Win/Mac) $399 Full; $159 Upgrade

Proprietary Sorenson 3
Theora Xiph.org α1: September 25, 2002 β3: April 16, 2008[2] Free BSD-style[3] none[*]
RealVideo RealNetworks 1997 RealVideo 10 Free Proprietary ?
x264 x264 team 2003 r712 Free GNU GPL H.264
wmv Microsoft 1999 Windows Media Video 9 (WMV 3 in FourCC) Free Proprietary wmv
Xvid Xvid team 2001 1.1.3 Free GNU GPL MPEG-4 ASP

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

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.

Codec Mac OS X Unix & Unix-like Windows
Blackbird Yes Yes Yes
Cinepak Yes No Yes
DivX Yes No Yes[*]
FFmpeg Yes Yes Yes
Sorenson 3 Yes No Yes
Theora Yes Yes Yes
RealVideo Yes Yes Yes
x264 Yes Yes Yes
Xvid Yes Yes Yes

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) Yes
Cinepak Lossy compression Vector quantization[5] ? ? ?
Sorenson 3 Lossy compression ? ? ? ?
Theora Lossy compression Discrete cosine transform Gibit/s 1048560×1048560[6][7] Partial[*]
RealVideo Lossy compression ? ? ? ?

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

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.
  • 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.2.10.0.29, 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)

See also

Notes and references

  1. ^ Compression Technologies, Inc., current maintainer of Cinepak
  2. ^ Theora development website
  3. ^ Theora.org FAQ: what is the license for Theora?
  4. ^ Theora.org FAQ: isn't VP3 a patented technology?
  5. ^ Technical description of the Cinepak codec
  6. ^ a b Template:PDFlink
  7. ^ Requires about 3 terabytes per uncompressed frame at maximum resolution (pg 37, Theora I Specification. March 7, 2006)