A codec is a device or computer program
which encodes or decodes
a digital data stream
. ''Codec'' is a portmanteau
In electronic communications, an endec is a device which acts as both an encoder
and a decoder
on a signal or data stream
, and hence is a type of codec. ''Endec'' is a portmanteau
A coder or encoder encodes a data stream or a signal for transmission or storage, possibly in encrypted
form, and the decoder function reverses the encoding for playback or editing. Codecs are used in videoconferencing
, streaming media
, and video editing
In the mid-20th century, a codec was a device that coded analog signals into digital form using pulse-code modulation
(PCM). Later, the name was also applied to software for converting between digital signal formats, including compander
An audio codec
converts analog audio signals into digital signals for transmission or encodes them for storage. A receiving device converts the digital signals back to analog form using an audio decoder for playback. An example of this are the codecs used in the sound cards of personal computers. A video codec
accomplishes the same task for video signals.
An Emergency Alert System
unit is usually an endec, but sometimes just a decoder.
When implementing the Infrared Data Association
(IrDA) protocol, an endec may be used between the UART and the optoelectronics.
In addition to encoding a signal, a codec may also compress the data to reduce transmission bandwidth or storage space. Compression codecs are classified primarily into lossy
codecs and lossless
Lossless codecs are often used for archiving data in a compressed form while retaining all information present in the original stream. If preserving the original quality of the stream is more important than eliminating the correspondingly larger data sizes, lossless codecs are preferred. This is especially true if the data is to undergo further processing (for example editing
) in which case the repeated application of processing (encoding and decoding) on lossy codecs will degrade the quality of the resulting data such that it is no longer identifiable (visually, audibly or both). Using more than one codec or encoding scheme successively can also degrade quality significantly. The decreasing cost of storage capacity and network bandwidth has a tendency to reduce the need for lossy codecs for some media.
Many popular codecs are lossy. They reduce quality in order to maximize compression. Often, this type of compression is virtually indistinguishable from the original uncompressed sound or images, depending on the codec and the settings used.
The most widely used lossy data compression technique in digital media
is based on the discrete cosine transform
(DCT), used in compression standards such as JPEG
video, and MP3
audio. Smaller data sets ease the strain on relatively expensive storage sub-systems such as non-volatile memory
and hard disk
, as well as write-once-read-many
formats such as CD-ROM
and Blu-ray Disc
. Lower data rates also reduce cost and improve performance when the data is transmitted.
Two principal techniques are used in codecs, pulse-code modulation and delta modulation
. Codecs are often designed to emphasize certain aspects of the media to be encoded. For example, a digital video (using a DV
codec) of a sports event needs to encode motion well but not necessarily exact colors, while a video of an art exhibit needs to encode color and surface texture well.
Audio codecs for cell phones need to have very low latency
between source encoding and playback. In contrast, audio codecs for recording or broadcast can use high-latency audio compression
techniques to achieve higher fidelity at a lower bit-rate.
There are thousands of audio and video codecs, ranging in cost from free to hundreds of dollars or more. This variety of codecs can create compatibility and obsolescence issues. The impact is lessened for older formats, for which free or nearly-free codecs have existed for a long time. The older formats are often ill-suited to modern applications, however, such as playback in small portable devices. For example, raw uncompressed PCM audio
(44.1 kHz, 16 bit stereo, as represented on an audio CD or in a .wav or .aiff file) has long been a standard across multiple platforms, but its transmission over networks is slow and expensive compared with more modern compressed formats, such as Opus
data streams contain both audio
, and often some metadata that permits synchronization of audio and video. Each of these three streams may be handled by different programs, processes, or hardware; but for the multimedia data streams to be useful in stored or transmitted form, they must be encapsulated together in a container format
codecs allow more users, but they also have more distortion. Beyond the initial increase in distortion, lower bit rate codecs also achieve their lower bit rates by using more complex algorithms that make certain assumptions, such as those about the media and the packet loss rate. Other codecs may not make those same assumptions. When a user with a low bitrate codec talks to a user with another codec, additional distortion is introduced by each transcoding
Audio Video Interleave
(AVI) is sometimes erroneously described as a codec, but AVI is actually a container format, while a codec is a software or hardware tool that encodes or decodes audio or video into or from some audio or video format. Audio and video encoded with many codecs might be put into an AVI container, although AVI is not an ISO standard
. There are also other well-known container formats, such as Ogg
, and DivX Media Format
. MPEG transport stream
, MPEG program stream
, and ISO base media file format
are examples of container formats that are ISO standardized.
* Audio signal processing
* Comparison of audio coding formats
* Comparison of video codecs
* Comparison of video container formats
* Digital signal processing
* List of codecs
* List of open-source codecs
Category:Digital signal processing