Comparison of Video Codecs

16

Click here to load reader

description

video codecs

Transcript of Comparison of Video Codecs

Introduction to comparisonThe following characteristics are compared in video codecs comparisons: Video quality per bitrate(or range ofbitrates). Commonlyvideo qualityis considered the main characteristic of codec comparisons. Video quality comparisons can besubjectiveorobjective. Performance characteristicslike 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.)Video qualityThe 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 abitrate controlmechanism which is responsible for determining the bitrate and quality on a per-frame basis. A difference betweenvariable bit rate(VBR) andconstant 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 askey framesand 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 ifCBRwas 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 qualityObjective 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 referencemethods (FR), where the whole original video signal is available Reduced referencemethods (RR), where only partial information of the original video is available, and No-referencemethods (NR), where the original video is not available at all.The main FR metrics are:Peak signal-to-noise ratio(PSNR)The most widely used video quality metric during the 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.[1][2]Structural similarity(SSim.)A new metric (suggested in 2004) which shows better results than PSNR at the cost of a reasonable increase in computational complexity.VQuad-HD anITU-TJ.341 standardThe new standard was recently (Jan 2011) approved by ITU-Tas J.341. The new VQuad-HD algorithm was developed bySwissqualin 2008-2010. It was the best performing model in the HDTV competition to find the new standard that was organized by the independent and non-commercial Video Quality Expert Group (VQEG).More information on VQuad-HD can be found in the technical white paper "Video Quality Measurement for High Definition Video Signals" available for download from:white paperSome other metrics have been suggested by Video Quality Experts Group (VQEG), private companies, and universities, but are not widespread.The main comparison method is the so-calledRD-curve(rate/distortion chart), where a metric value is plotted against the Y-axis and the bitrate against the X-axis.Some example NR metrics are: Blocking measure measurement power of so calledblocking artefacts(extremely noticeable without deblocking filter usage on low bitrates) Blurring measure measurement of common video blurring (washout)Subjective video qualityThis 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 of recording 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 inITU-RBT.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 theMean Opinion Scorefor 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 a very common situation. When codecs with similar objective results show results with different subjective results, the main reasons can be: Pre- and postfiltersare widely used in codecs. Commonly codecs use prefilters likevideo denoising, deflicking, deshacking, 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 inH.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 strategycan also cause different visual quality for the same PSNR. So calledtrue motionsearch commonly will not reach minimumsum 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.It is difficult to use long sequences for subjective testing. Commonly, three or four ten-second sequences are used, compared with full movies used for objective metrics. Sequence selection is important those sequences that are similar to the ones used by developers to tune their codecs are more competitive.Performance comparisonSpeed comparisonNumber offrames per second(FPS) commonly used for compression/decompression speed measurement.The following issues should be considered when estimating probable codec performance differences: Decompression (sometimes compression) frame time uniformity. Big differences in this value can cause annoyingly jerky playback. SIMDsupportby processor and codec e.g.,MMX,SSE,SSE2, each of which change CPU performance on some kinds of tasks (often including those with which codecs are concerned). Multi-threading supportby processor and codec (sometimes turning onHyper-threadingsupport (if available on a particular CPU) causes codec speed to decrease) RAMspeed(generally important for most codec implementations) Processor cache size(low values sometimes cause serious speed degradation, e.g. for CPUs with low cache such as several of the IntelCeleronseries.) GPUusageby codec some codecs can drastically increase their performance by taking advantage of GPU resources.So, for example, codec A (being optimized for memory usage, i.e. uses less memory) may give slower performance on modern computers (which are typically not memory limited) than codec B. The same pair of codecs may give opposite results if running on an older computer with reduced memory (or cache) resources.Profiles supportModern standards define a wide range of features and require very substantial software or hardware efforts and resources for their implementation. Only selectedprofilesof 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 asprofiles, 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 intoHD DVDandBlu-rayDisc, 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. Multiview High Profile: This profile supports two or more views using both inter-picture (temporal) and MVC inter-view prediction, but does not support field pictures and macroblock-adaptive frame-field coding.The standard also contains four additionalall-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 toCAVLCentropy coding (i.e., not supportingCABAC).Moreover, the standard now also contains threeScalable Video Codingprofiles. 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.Supported rate control strategiesVideocodecs 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.Software characteristicsCodecs listGeneral video codec information creator/company, license/price, etc.

CodecCreator/MaintainerFirst public release dateLatest stable versionLicensePatentedcompression formatsCompression methodOpenCLsupportnVidiaCUDAsupportATIStream/AMDAPP supportIntelAVXsupportIntelQuick Sync Videosupport

libtheora(Theora)Xiph.org2002-09-251.1.1 (2009)[3]BSD-style[4]Patented, but freely licensed[*]LossyUnknownUnknownUnknownUnknownUnknown

dirac-research (Dirac)BBC Research Department2008-09-171.0.2 (2009)[5]MPL 1.1,GNU GPL2,GNU LGPL2.1noneLossy/losslessUnknownUnknownUnknownUnknownUnknown

Schrdinger (Dirac)David Schleef2008-02-221.0.11 (2012)[5]MPL 1.1,GNU GPL2,GNU LGPL2,MIT LicensenoneLossy/losslessUnknownUnknownUnknownUnknownUnknown

x264x264 team2003r2019 (2011)[6][7]GNU GPLMPEG-4 AVC/H.264Lossy/losslessNoNoNoPartialUnknown

XvidXvid team20011.3.2 (2011)[8]GNU GPLMPEG-4 ASPLossyUnknownUnknownUnknownUnknownUnknown

FFmpeg(libavcodec)FFmpeg team20000.10.0 (2012)[9]GNU LGPLMPEG-1, MPEG-2, MPEG-4 ASP, H.261, H.263, VC-3, WMV7, WMV8, MJPEG, MPEG-4v3, DV etc.Lossy/losslessUnknownUnknownUnknownUnknownUnknown

FFavs(libavcodec)FFavs team20090.0.3[10]GNU LGPLMPEG-1, MPEG-2, MPEG-4 ASP etc.Lossy/losslessUnknownUnknownUnknownUnknownUnknown

BlackbirdForbidden Technologies plc2006-012ProprietaryBlackbirdLossyUnknownUnknownUnknownUnknownUnknown

DivXDivX, Inc.2001DivX Plus (2010)[11]ProprietaryMPEG-4 ASP, H.264LossyUnknownUnknownUnknownUnknownUnknown

DivXa hack of Microsoft's MPEG-4v3 codec[12][13]19983.20 alpha[14](2000)ProprietaryMicrosoft's MPEG-4v3 (not MPEG-4 compliant)LossyUnknownUnknownUnknownUnknownUnknown

3ivx3ivx Technologies Pty. Ltd.20015.0.2 (2007)[15]ProprietaryMPEG-4 ASPLossyUnknownUnknownUnknownUnknownUnknown

Nero DigitalNero AG2003UnknownProprietaryMPEG-4 ASP,H.264[16]LossyUnknownUnknownUnknownUnknownUnknown

ProRes 422/ProRes 4444Apple Inc.2007ProprietaryUnknownLossyUnknownUnknownUnknownUnknownUnknown

Sorenson VideoSorenson Media1998ProprietarySorenson VideoLossyUnknownUnknownUnknownUnknownUnknown

Sorenson SparkSorenson Media2002ProprietarySorenson SparkLossyUnknownUnknownUnknownUnknownUnknown

VP3On2 Technologies2000BSD-style[4]Patented, but freely licensed[*]LossyUnknownUnknownUnknownUnknownUnknown

VP4On2 Technologies2001ProprietaryVP4LossyUnknownUnknownUnknownUnknownUnknown

VP5On2 Technologies2002ProprietaryVP5LossyUnknownUnknownUnknownUnknownUnknown

VP6On2 Technologies2003ProprietaryVP6LossyUnknownUnknownUnknownUnknownUnknown

VP7On2 Technologies2005ProprietaryVP7LossyUnknownUnknownUnknownUnknownUnknown

VP8On2 Technologies(now owned byGoogle)2008BSD-stylePatented, but freely licensedLossyUnknownUnknownUnknownUnknownUnknown

DNxHDAvid Technology2008ProprietaryVC-3LossyUnknownUnknownUnknownUnknownUnknown

Cinema Craft EncoderSP2Custom Technology Corporation20001.00.01.09 (2009)[17]ProprietaryMPEG-1, MPEG-2LossyUnknownUnknownUnknownUnknownUnknown

TMPGEncFree VersionPegasys Inc.20012.525.64.184 (2008)[18]ProprietaryMPEG-1, MPEG-2LossyUnknownUnknownUnknownUnknownUnknown

Windows Media EncoderMicrosoft19999 (2003) (WMV3 inFourCC)ProprietaryWMV,VC-1, (in early versionsMPEG-4 Part 2and not MPEG-4 compliant MPEG-4v3, MPEG-4v2)LossyUnknownUnknownUnknownUnknownUnknown

CinepakCreated by SuperMac, Inc.Currently maintained by Compression Technologies, Inc.[19]19911.10.0.26 (1999)ProprietaryUnknownLossyUnknownUnknownUnknownUnknownUnknown

Indeo VideoIntel Corporation, currently offered by Ligos Corporation19925.2ProprietaryIndeo VideoLossyUnknownUnknownUnknownUnknownUnknown

TrueMotion SThe Duck Corporation1995ProprietaryTrueMotion SLossyUnknownUnknownUnknownUnknownUnknown

RealVideoRealNetworks1997RealVideo 10[20]ProprietaryH.263, RealVideoLossyUnknownUnknownUnknownUnknownUnknown

ACT-L3Streambox2003-02-213.4 (2009)ProprietaryUnknownLossyUnknownUnknownUnknownUnknownUnknown

HuffyuvBen Rudiak-Gould20002.1.1 (2003)[21]GNU GPL2noneLosslessUnknownUnknownUnknownUnknownUnknown

LagarithBen Greenwood2004-10-041.3.26 (2011-09-25)[22]GNU GPL2noneLosslessUnknownUnknownUnknownUnknownUnknown

MainConceptMainConcept GmbH19938.8.0 (2011)ProprietaryMPEG-1, MPEG-2, H.264/AVC, H.263, VC-3, MPEG-4 Part 2, DV, MJPEG etc.LossyYes[23]Yes[24][25]UnknownUnknownYes[26]

ElecardElecard2008G4 (2010)[27]ProprietaryMPEG-1, MPEG-2, MPEG-4, AVCLossyUnknownUnknownUnknownUnknownUnknown

TheXiph.Org Foundationhas negotiated an irrevocable free license to Theora and other VP3-derived codecs for everyone, for any purpose.[28] DivX Plus is also known as DivX 8. The latest stable version for Mac is DivX 7 for Mac.Native operating system supportNote 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 MacOSX.Encoder Operating System Support

CodecMac OS XotherUnix&Unix-likeWindows

3ivxYesYesYes

BlackbirdYesYesYes

CinepakYesNoYes

DivXYesNoYes

FFmpegYesYesYes

RealVideoYesYesYes

Schrdinger (Dirac)YesYesYes

Sorenson Video 3YesNoYes

TheoraYesYesYes

x264YesYesYes

XvidYesYesYes

ElecardNoNoYes

Technical detailsCodecCompression typeBasic algorithmHighest supportedbitrateHighest supportedresolutionVariable frame rate

BlackbirdLossy compressionUnknownUnknown384288 (PAL), 320240 (NTSC)Yes

CinepakLossy compressionVector quantization[29]UnknownUnknownUnknown

DiracLossy/LosslesscompressionWavelet compressionUnlimited[30]Unlimited[30]Yes

Sorenson 3Lossy compressionUnknownUnknownUnknownUnknown

TheoraLossy compressionDiscrete cosine transform2Gibit/s1,048,5601,048,560[31][32]Via chaining[*]

RealVideoLossy compressionDiscrete cosine transformUnknownUnknownYes

ElecardLossy compressionUnknownUnlimited16kYes

Theora streams with different frame rates can be chained in the same file, but each stream has a fixed frame rate.[31]Freely available codecs comparisonsList of freely available comparisons and their content description:Name of comparisonType of comparisonDate(s) of publicationList of compared codecsComments

Series of Doom9 codec comparisonsSeries ofsubjectivecomparison 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 oneSubjective comparison with convenient visualization

Series of MSU annual H.264 codecs comparisonsSeries ofobjectiveH.264 codecs comparisons with MPEG-4 ASP reference 2004 2005 Jan. 2005 Dec. 2006 Dec. 2007 Dec. 2009 May 2010 Apr. 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 2009: XviD (MPEG-4 ASP codec), Dicas H.264, Elecard H.264, Intel IPP H.264, MainConcept H.264, x264 2010: XviD (MPEG-4 ASP codec), DivX H.264, Elecard H.264, Intel MediaSDK AVC/H.264, MainConcept H.264, Microsoft Expression, Encoder, Theora, x264Detailed objective comparisons

Series of Lossless Video Codecs ComparisonTwosize and time comparisonsof 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, YULSin 2007 more detailed report with new codecs including first standard H.264 (x264)

MSU MPEG-4 codecs comparisonObjectivecomparison 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.3Different 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 CodecsScientifically accuratesubjectivecomparison 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 ComparisonObjectiveMPEG-2Decoderscomparison 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 DecoderObjectly tested (100 times per stream) decoders "crash test" (test on damaged stream like scratched DVD or satellite samples)

Codecs comparisonPersonalsubjectiveopinion 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 3Sometimes comparison is short (up to one text line per codec)

Evaluation of Dirac and TheoraScientific 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

VP8 versus x264Objective and subjective quality comparison of VP8 and x264 2010 Jun.VP8, x264VQM, SSIM and PSNR for 19 CIF video clips with bit-rates of 100, 200, 500 and 1000 kbit/s