Video Formats‎ > ‎

Codecs

A codec (short for Compressor-Decompressor) is a means of compressing digital video for playback on a computer.  Choosing a codec to use for your work depends on many variables.

Image Quality vs. Computer Resources

A codec compresses digital information.  Compression implies some loss of data - otherwise it would be Uncompressed, or raw data.  The purpose of compression is to preserve computing resources - for example, either to help a computer play a file back quickly, or to make a file small enough to send through the internet.  When you choose a codec, you must consider the tradeoff of data (image) quality against file size/speed.  A high-quality image results in a large, unwieldy file.  A small, fast file will necessitate some loss of image quality.

Codecs in Video Workflow

Codecs can be divided roughly into 3 categories for our digital video workflow.  Complications can arise if you try to use a codec for something other than what it's designed for; however, there is much overlap with certain more versatile codecs.  To get from one codec to another you may need to transcode your footage.

 Acquisition (Shooting) Codecs

 Intermediate (Editing) Codecs

 Distribution (Output) Codecs

DV
HDV
DVCProHD
AVCHD
XD-Cam
h264 (Flip/Zi8)

FILM!
Apple ProRes
Apple Intermediate
Avid
Avid DNxHD
Animation
None
Photo-JPEG
XD-Cam
Cineform
Streaming/Lossy:
    h264
    MPEG-2 (DVD)
    MP4
---------------------------------
High Quality:
    8-bit/10-bit Uncompressed
    Avid 1:1
    Sheervideo
    Apple ProRes
    None
    h264 (All Keyframes)


Data Rates

When a computer plays back a video file using a codec, it does so at a rate determined by the codec itself, and the capacities of the computer.  A higher data rate strains a computers resources, but may hold more visual information.  Some codecs may operate in a wide range of data rates, such as h264.  Others use a specific data rate which is integral to the codec.  Below are some common codecs and their data rates, or range, measured in Mb/sec (megabits per second).

Interframe and Intraframe

There are two categories of video compression that are important to recognize, interframe and intraframe.

INTERFRAME compression uses 'keyframes' or I-frames, and then compresses the amount of data required by only comparing subsequent frames to the I-frame.  Thus there is much less concrete image and pixel data per frame.  Because of this 'streaming' nature of interframe video, however, it is very difficult to accurately edit it.  Presently, interframe compression is used for datarate-efficient acquisition codecs, such as h264 and AVCHD, and for distribution methods that require small files and low datarates, such as web streaming.

INTRAFRAME compression is more closely related to our traditional notion of 'frames,' in that each image is completely encoded without regard to the frames before or after.  (Though there are compressions that use varying degrees of subsequence analysis).  Intraframe compression results in higher data rates, but also a more stable video file within most editing platforms.  Presently intraframe compression is used for high data rate acquisition codecs (e.g. DV, DVCPro HD), and professional intermediate codecs for editing and effects (ProRes, Animation).

UNCOMPRESSED video is the other alternative, where the luminance and chrominance signals are recorded directly in their native capacity and nothing is removed.  These files are very large, with equally large data rates required to play them.  Uncompressed video is used in very high-end acquisition, and as a lossless archival and mastering format.

As computing power increases, more and more applications for interframe compression are emerging, including some editing platforms that claim to be able to edit these formats in real time.  Even if this is so, because of the stream-like nature of the data, it requires much more effort on the part of the editing system to make these edits and sequence multiple streams of video.
Comments