Video Compresion Codecs Transcoding
Video Compresion Codecs Transcoding
http://www.dpreview.com/learn/?/Guides/Understanding_Video_Compression_01.htm
Data volume
o Data storage needs
o Data processing speed (in camera, on computer)
Image quality
o Detail
o Color
Here are the different techniques commonly used to get the video stream down to a
manageable data volume:
Detail Compression
This is more like JPEG where the algorithms try to preserve the overall impression
of the image but sacrifice finer detaill.
Bit depth:
8-14 bit. All prosumer video cameras and HDSLRs create video streams at 8 bit,
which is kind of like shooting 8 bit JPEGs with stronger compression. And just like
when you shoot stills, if you have more than 8 bits per color available then you have
more latitude during color corrections (called also 'grading'). At 10 bit there are
1024 shades of each color channel, as opposed to only 256 at 8 bit.
Chroma Subsampling
'Because the human visual system is less sensitive to the position and motion of
color than luminance, bandwidth can be optimized by storing more luminance detail
than color detail. At normal viewing distances, there is no perceptible loss incurred
by sampling the color detail at a lower rate. In video systems, this is achieved
through the use of color difference components. The signal is divided into a luma
(Y') component and two color difference components (chroma)' (from this
Wikipedia article).
The ideal is 4:4:4 sampling, but this often produces files that are too big for
consumer use. Pro cameras often use 4:2:2 and most HDSLRs have only 4:2:0. I am
told that experienced moviemakers can easily see the difference between 4:2:2 and
4:2:0 in a direct comparison. This likely is again mostly an issue during editing if
you make major color corrections.
GOP compression structure shoowing one I and two P frames per group of
pictures.
o Lets assume you have a static scene with no content movement or change.
The P-Frame would just tell: nothing changed and hardly use up data
o If there is fast movement that results in a lot of changes:
The real-time video encoder will be challenged and may even skip
frames
The P-Frames will get complex
Quality can suffer
Longer GOP structures (e.g. 15 long) are more efficient but can be also more problematic
because the full I-frames many frames apart.
GOP sequences are very powerful to reduce data but also may show limitations for some
fast action. Overall the results are quite impressive. Think that your Blu-ray disks use the
same basic methods but also use much more sophisticated encoding software then the
camera's real-time encoders.
Bit Rate
The video system (camera or player) has to deal with the capabilities of the devices.
A video stream needs to read/write constantly for the entire movie or clip. If the
video camera writes to a SD- or CF-Card it should not write faster than the card can
perform constantly (depends of course on the specifications of the card and camera).
That is why the encoding system in the camera will maintain a maximal bit-rate
(e.g. 17 Mega bits per second, 17Mbit/s). If you ever looked at your JPEG images
you will find that the files vary in size. Images with more detail or more noise will
show bigger. The video encoding system has to ensure that the bit rate never
exceeds the limit. This can be done by using more aggressive compression if
otherwise the data are too large to maintain the bit rate.
Clearly higher bit rates result in better image quality but also create more data and
need faster devices (e.g. cards).
Camera Encoders
At a given bit rate different cameras can create different video quality. The camera
encoder for H.264 has to fulfill a complex task with low powered processors in real
time. It is to be expected that these encoders (part of the cameras processing chip)
will improve over time because better algorithms are found and also the in camera
processors get more powerful. Larger cameras can have the advantage to have faster
processors because the camera housing also allows better cooling. This means that
the bit rate alone does not tell the full story about the final image quality.
Video Codecs
Codecs are software that enable your devices (Camera, Editor, Player) to perform video
encoding and/or decoding (think video compression and de-compression). Obviously your
Blu-ray player needs only to decode a video stream. All these Codecs are based on
standards (often de-facto company standards).
H.264
H.264 is one of the most important HD Codecs used today. H.264 is part of the MPEG-4
AVC standard. H.264 is used on:
o Blu-ray
o Internet video (e.g. YouTube)
o HD video broadcasting
o Apple TV
o iPad, iPhone and more
o Video recording
o Video Capture
o Video Editing
o Video rendering for players (e.g. Internet, streaming or Blu-ray)
We want to use a codec that captures the highest quality possible balanced with the data
volume our cameras can handle. Here are some codecs used in HDSLRs and pro video
cameras.
MJPEG
Simple Codec that is not very efficient in terms of a good balance of size and quality (non
GOP Codec).
H.264 uses a GOP encoding method. This is not really a top recording format. The proper
domains for H.264 are the output and player devices. This said H.264 is quite a usable
compromise for getting reasonable quality in relative small files. Canon HDSLRs use this
codec in a .MOV container.
AVCHD
Also a GOP based Codec. Used by Panasonic GH1/2, GF1, AF-100, TM700 and also the
Sony NEX-5 and VG10. It is very important to check the bit rates used. The GH1 uses by
default 17 Mbit/s and this leads to artifacts called 'Mud' (severe loss of detail in low
contrast areas). Going up to 24 Mbit/s already improves the quality (used in VG10, GH2
and AF100).
Actually AVCHD (standard by Sony/Pansonic and also used on some consumer video
cameras by Canon) at it's core uses the same H.264 Codec. The main difference is the
packaging (container) of the data.
AVCHD is a format created for consumer camcorders. The structure actually mimics the
basic structure of Blu-ray. Some TV sets and Blu-ray players can play these clips directly
from the SD-Cards. For editing only the .MTS files in the STREAM folder are needed.
They actually contain a H.264 video stream (some tools like ClipWrap on Macs can re-
wrap these streams to .MOV without changing any data).
On Windows the MTS files are supported natively with the Windows Media Player. On
Macs Quicktime does not render MTS videos. Best to use a program like VLC (free) or
Toast 10 Titanium (commercial product) to play MTS clips on Macs.
HDCAM HD
Professional Sony Codec family.
Apple ProRes HQ
This Codec is often used in editing (with FinalCut Pro) but also can be native for the
new high-end Arri ALEXA digital film camera (expensive new digital movie
camera).
Transcoding
Transcoding is the process of converting a video stream from one Codec to a different one
or just to downsample the video. Transcoding to a lower quality (higher compressed Codec)
should only be done as the last step to target your output device (Internet or Blu-ray).
Editing in 720p is often easier on your computer system than using full 1080p. Even if we
edit at 720p we still always shoot full 1080p footage because this shows lower artifacts
(like moire and aliasing) and also allows us to use full 1080p if needed.
If we record using H.264 or AVCHD in our cameras we transcode the footage to 720p
Apple ProRes. This way we have a way smother editing process than using H.264 directly.
We only convert part of our footage that we intend to use for editing because the file sizes
get quite a bit bigger.
For the final rendering of your video for your target devices the H.264 compression Codec
often will be used for both the Internet and Blu-ray.
Your Blu-ray authoring tools will take care of the appropriate compression and
Codec.
Often for the Internet higher compression and some downsampling is applied.
Conclusion
In video compression there is no free lunch and you have to pick your poison. Overall the
solutions available work very well and not everybody works in Hollywood. We follow the
following workflow in our personal work:
Import the video clips from the camera. Most cameras don't let you much choice
how they record but always use the maximum quality possible if you care about
video quality.
Transcode selective clips to a high quality Codec for editing
Edit your video using this high quality Codec.
Export you final video to a Codec that is optimal for your output device (mostly
Internet, home video or Blu-ray)
Further learning
This is an edited and updated version of an article first published on Digital Outback Photo.
You can read the original article here, or check out the 220 page ebook (currently on offer at
$19.95) 'Mastering HD Video with your DSLR' by by Uwe Steinmueller & Helmut Kraus
here.