A video codec is software or a device that provides encoding and decoding for digital
video, and which may or may not include the use of video compression and/or decompression.
The compression may employ lossy data compression, so that 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, while simultaneously delivering 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. Commonly video
quality is considered the main characteristic of codec comparisons. Video quality comparisons
can be subjective or objective. Performance characteristics such as compression/decompression
speed, supported profiles/options, supported resolutions, supported rate control strategies,
etc. General software characteristics – for example:
Manufacturer Supported OS
Version number Date of release
Type of license Supported interfaces
Price
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 may
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 also vary. 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 that is responsible for determining the bitrate
and quality on a per-frame basis. A difference between variable bitrate and constant bitrate
creates a trade-off between a consistent quality over all frames, on the one hand, and a more
constant bitrate, which is required for some applications, on the other. 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, which are included on all present-day codecs.
Other factors may also come into play. For a sufficiently long clip, it is possible
to select sequences that have suffered little from the compression, and sequences that have
suffered heavily, especially if CBR has been used, whereby the quality between frames can
vary highly due to different amounts of compression needed to achieve a constant bitrate. So,
in a given 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 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. Therefore, they can be classified as:
Full reference methods, where the whole original video signal is available
Reduced reference methods, where only partial information of the original video is available,
and No-reference methods, where the original video
is not available at all. The main FR metrics are:
Peak signal-to-noise ratio The most widely used video quality metric
during the last 20 years. However, the validity of this metric is limited. It is conclusive
only when the same codec and content is being compared.
Structural similarity A new metric that shows better results than
PSNR at the cost of a reasonable increase in computational complexity.
VQuad-HD an ITU-T J.341 standard The new standard was recently approved by
ITU-T as J.341. The new VQuad-HD™ algorithm was developed by Swissqual in 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. 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 paper
Some other metrics have been suggested by Video Quality Experts Group, private companies,
and universities, but are not widespread. The main comparison method is the so-called
RD-curve, in which 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-called blocking artefacts
Blurring measure — measurement of common video blurring
Subjective video quality
This 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 with
regard to time 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.
The following subjective video quality comparison methods are used:
Double Stimulus Impairment Scale — suggested in ITU-R BT.500-11.
Double Stimulus Continuous Quality Scale type I and type II — suggested in ITU-R BT.500-11
Stimulus Comparison Adjectival Categorical Judgement — suggested in ITU-R BT.500-11
Subjective Assessment Method for Video Quality evaluation
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, and the average mark is usually given with confidence interval. Additional
procedures can be used for averaging. For example, experts who give unstable results
may be rejected. 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 postfilters are widely used in codecs.
Codecs often use prefilters such as video denoising, deflicking, deshacking, etc. Denoising
and deflicking normally maintain PSNR value while increasing visual quality. Deshacking
greatly decreases PSNR, but increases visual quality. Postfilters show similar characteristics
— deblocking and deringing maintain PSNR, but increase quality; graining essentially
increases video quality, especially on big plasma screens, but decreases PSNR.
Note: All filters increase compression/decompression time, so they enhance visual quality but decrease
the speed of coding an decoding. Motion estimation 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 values in codec ME, but may result in better
visual quality. Such methods also 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, while full
movies are 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 comparison Speed comparison
Number of frames per second commonly used for compression/decompression speed measurement.
The following issues should be considered when estimating probable codec performance
differences: Decompression frame time uniformity – Big
differences in this value can cause annoyingly jerky playback.
SIMD support by processor and codec — E.g., MMX, SSE, SSE2, each of which change CPU performance
on some kinds of tasks. Multi-threading support by processor and codec
– Sometimes turning on Hyper-threading support causes codec speed to decrease)
RAM speed – 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 Intel Celeron series.
GPU usage by codec — some codecs can drastically increase their performance by taking advantage
of GPU resources. So, for example, codec A may, on modern computers,
give slower performance than codec B. Meanwhile, the same pair of codecs may give opposite
results if running on an older computer with reduced memory resources.
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. The H.264 standard includes the following
seven sets of capabilities, which are referred to as profiles, targeting specific classes
of applications: Baseline Profile: Primarily for lower-cost
applications with limited computing resources, this profile is used widely in videoconferencing
and mobile applications. Main Profile: 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: 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: The primary profile for broadcast
and disc storage applications, particularly for high-definition television applications.
High 10 Profile: 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: 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: 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 and MVC inter-view prediction, but does not
support field pictures and macroblock-adaptive frame-field coding.
The standard also contains four additional all-Intra profiles, which are defined as simple
subsets of other corresponding profiles. These are mostly for professional 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. 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 bitrate and Constant bitrate.
Variable bitrate is a strategy to maximize the visual video quality and minimize the
bitrate. On fast-motion scenes, a variable bitrate 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 bitrate 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 characteristics Codecs list
The Xiph.Org Foundation has negotiated an irrevocable free license to Theora and other
VP3-derived codecs for everyone, for any purpose.
DivX Plus is also known as DivX 8. The latest stable version for Mac is DivX 7 for Mac.
Native 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, but the DivX codec is only available for Windows and Mac OS X.
Technical details
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:
See also
Comparison of media players List of video players
List of codecs Open source codecs and containers
Comparison of audio coding formats Comparison of container formats
Comparison of video encoders Comparison of video editing software
Notes and references
External links MSU Subjective Comparison of Modern Video
Codecs ITS - Video Quality Research
Evaluation of Subjective Video Quality of Mobile Devices