Information about Video Codecs

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. Historically, video was stored as an analog signal on magnetic tape. 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.

Audio and video call for customized methods of compression. Engineers and mathematicians have tried a number of solutions for tackling this problem.

There is a complex balance between the video quality, the quantity of the data needed to represent it, also known as the bit rate, the complexity of the encoding and decoding algorithms, robustness to data losses and errors, ease of editing, random access, the state of the art of compression algorithm design, end-to-end delay, and a number of other factors.

Applications

In daily life, digital video codecs are found in DVD (MPEG-2), VCD (MPEG-1), in emerging satellite and terrestrial broadcast systems, and on the Internet. Online video material is encoded in a variety of codecs, and this has led to the availability of codec packs - a pre-assembled set of commonly used codecs combined with an installer available as a software package for PCs.

Encoding media by the public has seen an upsurge with the availability of DVD-writers. Since commercially available DVDs are usually dual-layer, and hence bigger than the more common single layer writable DVDs, it is often the case that the material has to be compressed again, sacrificing quality so that the media will fit onto a single disc.

Video codec design

Video codecs seek to represent a fundamentally analog data set in a digital way. Because of the design of analog video signals, which represent luma and color information separately, a common first step in image compression in codec design is to represent and store the image in a YCbCr color space. The conversion to YCbCr provides two benefits: first, it improves compressibility by providing decorrelation of the color signals; and second, it separates the luma signal, which is perceptually much more important, from the chroma signal, which is less perceptually important and which can be represented at lower resolution to achieve more efficient data compression. It is common to represent the ratios of information stored in these different channels in the following way Y:Cb:Cr. Refer to the following article for more information about Chroma subsampling.

Different codecs will use different chroma subsampling ratios as appropriate to their compression needs. Video compression schemes for Web and DVD use make use of a 4:2:0 color sampling pattern, and the DV standard uses 4:1:1 sampling ratios. Professional video codecs designed to function at much higher bitrates and to record a greater amount of color information for post-production manipulation sample in 3:1:1 (uncommon), 4:2:2 and 4:4:4 ratios. Examples of these codecs include Panasonic's DVCPRO50 and DVCPROHD codecs (4:2:2), and then Sony's HDCAM-SR (4:4:4) or Panasonic's HDD5 (4:2:2). Apple's new Prores HQ 422 codec also samples in 4:2:2 color space. More codecs that sample in 4:4:4 patterns exist as well, but are less common, and tend to be used internally in post-production houses. It is also worth noting that video codecs can operate in RGB space as well. These codecs tend not to sample the red, green, and blue channels in different ratios, since there is no perceptual motivation for doing so.

Some amount of spatial and temporal downsampling may also be used to reduce the raw data rate before the basic encoding process. The most popular such transform is the 8x8 discrete cosine transform (DCT). Codecs which make use of a wavelet transform are also entering the market, especially in camera workflows which involve dealing with RAW image formatting in motion sequences. The output of the transform is first quantized, then entropy encoding is applied to the quantized values. When a DCT has been used, the coefficients are typically scanned using a zig-zag scan order, and the entropy coding typically combines a number of consecutive zero-valued quantized coefficients with the value of the next non-zero quantized coefficient into a single symbol, and also has special ways of indicating when all of the remaining quantized coefficient values are equal to zero. The entropy coding method typically uses variable-length coding tables. Some encoders can compress the video in a multiple step process called n-pass encoding (e.g. 2-pass), which performs a slower but potentially better quality compression.

The decoding process consists of performing, to the extent possible, an inversion of each stage of the encoding process. The one stage that cannot be exactly inverted is the quantization stage. There, a best-effort approximation of inversion is performed. This part of the process is often called "inverse quantization" or "dequantization", although quantization is an inherently non-invertible process.

This process involves representing the video image as a set of macroblocks. For more information about this critical facet of video codec design, see B pictures.

Video codec designs are often standardized or will be in the future- i.e., specified precisely in a published document. However, only the decoding process needs to be standardized to enable interoperability. The encoding process is typically not specified at all in a standard, and implementers are free to design their encoder however they want, as long as the video can be decoded in the specified manner. For this reason, the quality of the video produced by decoding the results of different encoders that use the same video codec standard can vary dramatically from one encoder implementation to another.

Commonly used standards and codecs

A variety of codecs can be implemented with relative ease on PCs and in consumer electronics equipment. It is therefore possible for multiple codecs to be available in the same product, avoiding the need to choose a single dominant codec for compatibility reasons. In the end it seems unlikely that one codec will replace them all. Some widely-used video codecs are listed below, starting with a chronological-order list of the ones specified in international standards.

H.261: Used primarily in older videoconferencing and videotelephony products. H.261, developed by the ITU-T, was the first practical digital video compression standard. Essentially all subsequent standard video codec designs are based on it. It included such well-established concepts as YCbCr color representation, the 4:2:0 sampling format, 8-bit sample precision, 16x16 macroblocks, block-wise motion compensation, 8x8 block-wise discrete cosine transformation, zig-zag coefficient scanning, scalar quantization, run+value symbol mapping, and variable-length coding. H.261 supported only progressive scan video.

MPEG-1 Part 2: Used for Video CDs, and also sometimes for online video. The quality is roughly comparable to that of VHS. If the source video quality is good and the bitrate is high enough, VCD can look better than VHS, and all in all very good, but VCD requires high bitrates for this. However, to get a fully compliant VCD file, bitrates higher than 1150 kbit/s and resolutions higher than 352 x 288 should not be used (includes the *.mp3 standard). When it comes to compatibility, VCD has the highest compatibility of any digital video/audio system. Almost every computer in the world can play this codec, and very few DVD players do not support it. In terms of technical design, the most significant enhancements in MPEG-1 relative to H.261 were half-pel and bi-predictive motion compensation support. MPEG-1 supported only progressive scan video.

MPEG-2 Part 2 (a common-text standard with H.262): Used on DVD, SVCD, and in most digital video broadcasting and cable distribution systems. When used on a standard DVD, it offers good picture quality and supports widescreen. When used on SVCD, it is not as good as DVD but is certainly better than VCD. In terms of technical design, the most significant enhancement in MPEG-2 relative to MPEG-1 was the addition of support for interlaced video. MPEG-2 is now considered an aged codec, but has tremendous market acceptance and a very large installed base.

H.263: Used primarily for videoconferencing, videotelephony, and internet video. H.263 represented a significant step forward in standardized compression capability for progressive scan video. Especially at low bit rates, it could provide a substantial improvement in the bit rate needed to reach a given level of fidelity.

MPEG-4 Part 2: An MPEG standard that can be used for internet, broadcast, and on storage media. It offers improved quality relative to MPEG-2 and the first version of H.263. Its major technical features beyond prior codec standards consisted of object-oriented coding features and a variety of other such features not necessarily intended for improvement of ordinary video coding compression capability. It also included some enhancements of compression capability, both by embracing capabilities developed in H.263 and by adding new ones such as quarter-pel motion compensation. Like MPEG-2, it supports both progressive scan and interlaced video.

MPEG-4 Part 10 (a technically aligned standard with the ITU-T's H.264 and often also referred to as AVC). This emerging new standard is the current state of the art of ITU-T and MPEG standardized compression technology, and is rapidly gaining adoption into a wide variety of applications. It contains a number of significant advances in compression capability, and it has recently been adopted into a number of company products, including for example the XBOX 360, PlayStation Portable, iPod, the Nero Digital product suite, Mac OS X v10.4, as well as HD DVD/Blu-ray Disc.

DivX, Xvid, FFmpeg MPEG-4 and 3ivx: Different implementations of MPEG-4 Part 2.

VP6: A proprietary video codec developed by On2 Technologies and used in Adobe Flash Player 8 and above.

Sorenson 3: A codec that is popularly used by Apple's QuickTime, basically the ancestor of H.264. Many of the QuickTime movie trailers found on the web use this codec.

Sorenson Spark: A codec that was licensed to Macromedia for use in its Flash Player 6. In the same family as H.263.

Theora: Developed by the Xiph.org Foundation as part of their Ogg project, based upon On2 Technologies' VP3 codec, and christened by On2 as the successor in VP3's lineage, Theora is targeted at competing with MPEG-4 video and similar lower-bitrate video compression schemes.

WMV (Windows Media Video): Microsoft's family of video codec designs including WMV 7, WMV 8, and WMV 9. It can do anything from low resolution video for dial up internet users to HDTV. The latest generation of WMV is standardized by SMPTE as the VC-1 standard.

VC-1: SMPTE standardized video compression standard (SMPTE 421M). Based on Microsoft's WMV9 video codec. One of the 3 mandatory video codecs in both HD-DVD and Blu-Ray high-definition optical disc standards. Commonly found in portable devices and on streaming video websites in its Windows Media Video implementation.

RealVideo: Developed by RealNetworks. A popular codec technology a few years ago, now fading in importance for a variety of reasons.

Cinepak: A very early codec used by Apple's QuickTime.

x264: A GPL-licensed implementation of H.264 encoding standard, x264 is only an encoder.

Huffyuv: Huffyuv (or HuffYUV) is a very fast, lossless Win32 video codec written by Ben Rudiak-Gould and published under the terms of the GPL as free software, meant to replace uncompressed YCbCr as a video capture format. See Lagarith as a more up-to-date codec.

Lagarith: A more up-to-date fork of Huffyyuv is available as Lagarith.

SheerVideo: A family of ultrafast lossless QuickTime and AVI codecs, developed by BitJazz Inc., for RGB[A], Y'CbCr[A] 4:4:4[:4], Y'CbCr[A] and 4:2:2[:4] formats; for both 10-bit and 8-bit channels; for both progressive and interlaced data; for both Mac and PC.

All of the codecs above have their qualities and drawbacks. Comparisons are frequently published. The tradeoff between compression power, speed, and fidelity (including artifacts) is usually considered the most important figure of technical merit.

Missing Codecs and Video File Issues

A common problem when an end user wants to watch a video stream encoded with a specific codec is that if the exact codec is not present and properly installed on the user's machine, the video won't play (or won't play optimally).

Windows XP SP2 itself only has a very limited number of video and audio codecs installed; other than Microsoft formats, Intel Indeo is the only available .avi Codec that is installed per default. All other codecs, such as DivX, Xvid or Theora, must be installed manually.

List of the available/default codecs after a Windows XP SP2 Installation

Some video files and codec analysis tools have been made available to provide a user-friendly way to solve this common problem:

VideoInspector : Analyzes most containers (AVI, Matroska, MPEG, etc.) and gives direct download links for missing codecs.

GSpot : A pioneer in troubleshooting video applications, GSpot remains a useful tool despite missing some features present in other software.

MediaInfo : Open-source alternative to GSpot.

AVICodec : Another useful application.

AVI2Clipboard : An extension for the Explorer context menu to easily view and save information about videos with an AVI container.

Many people find that VLC media player resolves many of these issues because it contains many popular codecs in a portable standalone library, available for many operating systems, including Windows, Linux, and Mac OS X. This also resolves many issues within Windows in conflicting and poorly installed codecs.

Video Codec Benchmarking

For directshow users who are interested in their benchmarking their video decoders try using the Haali TimeCodec. It requires that you install the latest version of the Haali Media Splitter before using it.

Another method is using the internal audio and video decoders built into TCPMP for both mobile devices and desktop PC's. See Shinos TCPMP benchmark page

See also

External links

codec, see Codec (disambiguation).


A codec is a device or program capable of performing encoding and decoding on a digital data stream or signal. The word codec may be a combination of any of the following: 'Compressor-Dec
..... Click the link for more information.
Computer software is a general term used to describe a collection of computer programs, procedures and documentation that perform some task on a computer system. [1]
..... Click the link for more information.
Video compression refers to reducing the quantity of data used to represent video images, and this is almost always coupled with the goal of retaining as much of the original's quality as possible.
..... Click the link for more information.
lossy compression method is one where compressing data and then decompressing it retrieves data that may well be different from the original, but is close enough to be useful in some way.
..... Click the link for more information.
Magnetic tape is a medium for magnetic recording generally consisting of a thin magnetizable coating on a long and narrow strip of plastic. Nearly all recording tape is of this type, whether used for recording audio or video or for computer data storage.
..... Click the link for more information.
Compact Disc

The closely spaced tracks on the readable surface of a Compact Disc cause light to diffract into a full visible colour spectrum
Media type: Optical disc
Encoding: Various
Capacity: Typically up to 700 MB
..... Click the link for more information.
engineer is someone who is trained or professionally engaged in a branch of engineering.[1] Engineers use technology, mathematics, and scientific knowledge to solve practical problems.
..... Click the link for more information.
mathematician is a person whose primary area of study and research is the field of mathematics.

Problems in mathematics

Some people incorrectly believe that mathematics has been fully understood, but the publication of new discoveries in mathematics continues at an immense
..... Click the link for more information.
Video quality is a characteristic of a video passed through a video transmission/processing system, a formal or informal measure of perceived video degradation (typically, compared to the original video).
..... Click the link for more information.
As applied to video signals, luma represents the brightness in an image (the "black and white" or achromatic portion of the image). Luma is typically paired with chroma. Luma represents the achromatic image without any color, while the chroma components represent the color
..... Click the link for more information.
YCbCr or Y'CbCr is a family of color spaces used in video and digital photography systems. Y' is the luma component and Cb and Cr are the blue and red chroma components. The prime on the Y is to distinguish the luma from luminance.
..... Click the link for more information.
YCbCr or Y'CbCr is a family of color spaces used in video and digital photography systems. Y' is the luma component and Cb and Cr are the blue and red chroma components. The prime on the Y is to distinguish the luma from luminance.
..... Click the link for more information.
As applied to video signals, luma represents the brightness in an image (the "black and white" or achromatic portion of the image). Luma is typically paired with chroma. Luma represents the achromatic image without any color, while the chroma components represent the color
..... Click the link for more information.
Chrominance (chroma for short), is the signal used in many video systems to carry the color information of the picture separately from the accompanying luma signal.
..... Click the link for more information.
Chroma subsampling is the practice of implementing more resolution for the (quantity representative of) luminance than the (quantity representative of) color. It is used in many video encoding schemes (both analog and digital) and also in JPEG encoding.
..... Click the link for more information.
Chroma subsampling is the practice of implementing more resolution for the (quantity representative of) luminance than the (quantity representative of) color. It is used in many video encoding schemes (both analog and digital) and also in JPEG encoding.
..... Click the link for more information.
Digital Video (DV) is a digital video format launched in 1994, and, in its smaller tape form factor MiniDV, has since become a standard for home and semiprofessional video production; it is sometimes used for professional purposes as well, such as filmmaking and electronic
..... Click the link for more information.
In signal processing, downsampling (or "subsampling") is the process of reducing the sampling rate of a signal. This is usually done to reduce the data rate or the size of the data.
..... Click the link for more information.
discrete cosine transform (DCT) is a Fourier-related transform similar to the discrete Fourier transform (DFT), but using only real numbers. DCTs are equivalent to DFTs of roughly twice the length, operating on real data with even symmetry (since the Fourier transform of a real and
..... Click the link for more information.
A wavelet is a kind of mathematical function used to divide a given function into different frequency components and study each component with a resolution that matches its scale. A wavelet transform is the representation of a function by wavelets.
..... Click the link for more information.
RAW image file

File extension: .raf (Fuji)
.crw .cr2 (Canon)
.kdc .dcr (Kodak)
.mrw (Minolta)
.nef (Nikon)
.orf (Olympus)
.dng (Adobe)
.ptx .pef (Pentax)
.arw .srf (Sony)
.x3f (Sigma)
.erf (Epson)
.mos (Leaf)
.

..... Click the link for more information.
Quantization is the procedure of constraining something from a continuous set of values (such as the real numbers) to a discrete set (such as the integers). Quantization in specific domains is discussed in:

..... Click the link for more information.
In information theory an entropy encoding is a lossless data compression scheme that is independent of the media’s specific characteristics.

One of the main types of entropy coding assigns codes to symbols so as to match code lengths with the probabilities of the
..... Click the link for more information.
Huffman coding is an entropy encoding algorithm used for lossless data compression. The term refers to the use of a variable-length code table for encoding a source symbol (such as a character in a file) where the variable-length code table has been derived in a particular way
..... Click the link for more information.
Quantization is the procedure of constraining something from a continuous set of values (such as the real numbers) to a discrete set (such as the integers). Quantization in specific domains is discussed in:

..... Click the link for more information.
Macroblock is a term used in video compression, which represents a block of 16 by 16 pixels. Each macroblock contains 4 Y block, 1 Cb block, 1 Cr block (4:2:0). (It also could be represented by 4:2:2 or 4:4:4 YCbCr format).
..... Click the link for more information.
The three major picture types found in typical video compression designs are I(ntra) pictures, P(redicted) pictures, and B(i-predictive) pictures (or B(i-directional) pictures).
..... Click the link for more information.
The term International Standard may refer to
  • International standard
  • International Standard (dance), a category of ballroom dance


..... Click the link for more information.
H.261 is a 1990 ITU-T video coding standard originally designed for transmission over ISDN lines on which data rates are multiples of 64 kbit/s. It is one member of the H.26x family of video coding standards in the domain of the ITU-T Video Coding Experts Group (VCEG).
..... Click the link for more information.
The ITU Telecommunication Standardization Sector (ITU-T) coordinates standards for telecommunications on behalf of the International Telecommunication Union (ITU) and is based in Geneva, Switzerland.
..... Click the link for more information.


This article is copied from an article on Wikipedia.org - the free encyclopedia created and edited by online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of the wikipedia encyclopedia articles provide accurate and timely information please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.
Herod_Archelaus


page counter