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. Contents [hide] • • • 1 Introduction to comparison 2 Video quality o 2.1 Objective video quality o 2.2 Subjective video quality 3 Performance comparison o 3.1 Speed comparison o 3.2 Profiles support o 3.3 Supported rate control strategies 4 Software characteristics o 4.1 Codecs list o 4.2 Operating system support o 4.3 Technical details 5 Freely available codecs comparisons 6 See also 7 Notes and references

• • •

[edit] 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: o Manufacturer o Supported OS (Linux, Mac OS, Windows) o Version number o Date of release o Type of license (commercial, free, open source) o Supported interfaces (VfW, DirectShow, etc) o Price for codec (volume discounts, etc)

Another important issue for comparison is application area. The following application areas need different codec characteristics: • Videoconferencing presume o very fast compression (minimum delay and similar compression time for all frames) o very fast decompression (minimum delay)

o pretty good error resistance o good quality characteristics for low bitrates o camera artefacts suppression is welcome DVD or MPEG-4 CD video compression presume o maximum quality compression (maybe multipass: 2-pass compression) o fast decompression (but constant delay with buffering is possible) o error resistance mechanism implementation is welcome, but not critical o maximum quality characteristics for high and medium bitrates o 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. [edit] 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]. [edit] Objective video quality Main article: 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

[edit] Subjective video quality Main article: 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.50011 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). [edit] Performance comparison [edit] Speed comparison Main article: Frame rate 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. [edit] Profiles support Main article: H.264 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. [edit] Supported rate control strategies Main article: Rate distortion theory Videocodecs rate control strategies can be classified as: • • Variable bit rate (VBR) and Constant bit rate (CBR).

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. [edit] Software characteristics [edit] Codecs list Basic general information about the codecs: creator/company, license/price etc. Codec Blackbird First public release date Forbidden Technologies plc January 2006 Created by Radius, Inc. Creator/Maintainer Currently maintained by Compression Technologies, Inc.[1] DivX, Inc. FFmpeg team Sorenson Media Xiph.org RealNetworks x264 team Microsoft Xvid team 1992 Latest stable version 2 License Proprietary Patented algorithms Blackbird

Cinepak

?

Proprietary

?

DivX FFmpeg (libavcodec) Sorenson 3 Theora RealVideo x264 wmv Xvid
*

2001 2000 July 1, 2001 α1: September 25, 2002 1997 2003 1999 2001

6.8 0.4.9-pre1 4.5 β3: April 16, 2008[2] RealVideo 10 r912 Windows Media Video 9 (WMV 3 in FourCC) 1.1.3

Proprietary MPEG-4 ASP MPEG-1, GNU MPEG-2, LGPL MPEG-4 etc. Proprietary Sorenson 3 BSDstyle[3] Proprietary GNU GPL Proprietary none[*] ? H.264 wmv

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] [edit] 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

Limited support for Windows Vista.

[edit] Technical details Compression type Highest supported bitrate ? ? ? 2 Gibit/s ? Highest supported resolution 384×288 (PAL), 320×240 (NTSC) ? ? 1048560×1048560[6][7] ? Variable frame rate Yes ? ? Partial[*] ?

Codec Blackbird

Basic algorithm ? Vector quantization[5] ? Discrete cosine transform ?

Lossy compression Lossy Cinepak compression Lossy Sorenson 3 compression Lossy Theora compression Lossy RealVideo compression
*

Theora streams with different frame rates can be chained in the same file, but each stream has a fixed frame rate.[6] [edit] 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 DivX4.12, On2 VP3, XviD 1/25 and WMV8 and DivX5.01, XviD 3/27 and ON2 VP4 - at first version Comments

Series of Series of subjective Doom9 codec comparison of comparisons popular codecs

• • •

2002 2003 2005

Series of MSU Series of annual H.264 objective H.264 codecs codecs comparisons comparisons with MPEG-4 ASP reference

• • • •

2004 2005 Jan. 2005 Dec. 2006 Dec. 2007 Dec.

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 2005 (Jan.): Mpegable AVC, Detailed objective comparisons 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

Subjective comparison with convenient visualization

(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 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 Different versions of DivX was also compared. The Xvid results may be erroneous, as deblocking was disabled for it while used for DivX.

Two size and Series of time Lossless Video comparisons of Codecs lossless codecs Comparison (with lossless checking)

2004 Oct. 2007 Mar. •

in 2007 - more detailed report with new codecs including first standard H.264 (x264)

MSU MPEG-4 Objective codecs comparison of comparison MPEG-4 codecs

DivX 5.2.1, DivX 4.12, DivX 3.22, 2005 MS MPEG-4 3688 v3, XviD 1.0.3, Mar. 3ivx D4 4.5.1, OpenDivX 0.3

Scientifically accurate Subjective subjective Comparison of comparison using Modern Video 50 experts and Codecs SAMVIQ methodology MPEG-2 Objective Video MPEG-2

PSNR via VQM via 2006 DivX 6.0, Xvid 1.1.0, x264, WMV 9.0 SSIM comparison Feb. (2 bitrates for every codec) was also done

2006 bitcontrol MPEG-2 Video Decoder, May. DScaler MPEG2 Video Decoder,

Objectly tested (100 times per

Decoders Comparison

Decoders comparison

Codecs comparison

Personal subjective opinion

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 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 2003 RLE, Microsoft Video 1, XviD, 3ivx, Nov. Animation, Blackmagic 10-bit, Blackmagic 8-bit, Cinepak, DV, H.261, H.263, Motion-JPEG, MPEG4 Video, PNG, Sorenson Video, Sorenson Video 3

stream) decoders "crash test" (test on damaged stream like scratched DVD or satellite samples)

Sometimes comparison is short (up to one text line per codec)

[edit] See also Free software portal • • • • • Comparison of media players List of video players (software) List of codecs o Open source codecs and containers Comparison of audio codecs Comparison of container formats

[edit] Notes and references

1. 2. 3. 4. 5. 6. 7.

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

[hide] v•d•e Data compression software implementations MPEG-4 ASP 3ivx · DivX · Nero Digital · FFmpeg MPEG-4 · HDX4 · Xvid CoreAVC · Nero Digital AVC · QuickTime H.264 · x264 CorePNG · FFV1 · Huffyuv · Lagarith · MSU Lossless · SheerVideo Cinepak · Dirac · Indeo · VP3 · VP7 · Pixlet · RTVideo · Snow · Sorenson · Tarkin · Theora · WMV ADPCM · ATRAC · Dolby Digital · Dolby Digital Plus · DTS · Musepack · TwinVQ · Vorbis · WMA iLBC · AMBE · IMBE · iSAC · QCELP · RTAudio · Siren · Speex · Truespeech Apple Lossless · Dolby TrueHD · DTS-HD Master Audio · FLAC · La · Monkey's Audio · OptimFROG · TTA · WavPack · WMA Lossless 7-Zip · Ark · File Roller · InfoZIP · KGB Archiver · PeaZip · The Unarchiver 7zX · DGCA · Filzip · GCA · IZArc · StuffIt Expander · TUGZip · Zipeg · ZipGenius · WinUHA ALZip · Archive Utility · MacBinary · PowerArchiver · Squeez · StuffIt · WinAce · WinRAR · WinZip ARC · ARJ · JAR · bzip2 · compress · gzip · Info-ZIP · LHA · lzop · PAQ · PKZIP · RAR · SBC · UPX · UHarc

H.264/MPEG-4 AVC Video codecs (Comparison Lossless )

Others

General

Audio codecs (Comparison)

Speech/Voice

Lossless

Open Source

Freeware Archivers (Comparison) Proprietary

Command line

Retrieved from "http://en.wikipedia.org/wiki/Comparison_of_video_codecs" Categories: Software comparisons | Video codecs