Video Encoding 101 - From the Beginning

The series so far:

Introduction - http://blog.brightcove.com/en/2009/10/video-encoding-101-series

So to start any discussion we need to begin with the fundamentals.   Specifically what is the process of video encoding?   Or even more generally what is encoding and how does it apply to Online Video? 

At its very fundamental sense encoding is effectively the storage of data in a well defined format.   An example of encoding is my writing this blog post: the thoughts and abstract ideas in my head (the data) is written (encoded) into words and sentences following a series of rules (the format) so that the reader , already skilled up with these rules, can consume and understand this data at any time (transmitted) in the future (decoded).

As you can see the process of encoding has a pre requisite of needing data to work on.  This packaged data can then be transmitted or stored well into the future to be unpackaged / decoded at any time by a reader that understands the rules and structure of the packing.  The goal being a minimal loss in meaning of the data from the time it is encoded to when it is decoded and consumed.

The process is essentially the same where the data can be anything from abstract thought, to a snapshot of time or a period of time: all that differs is the effectiveness of the format used. 

  1. Written language is great for instant abstract thought streams but video is overkill (think Twitter)
  2. Audio recording is great for conversational data streams (the Telephone)
  3. Video recording is ideal for scenic data streams (YouTube)

The differences between the 3 examples above is the amount of data needed to be transmitted for each scenario.  Twitter has a maximum number of up to 140 characters to post which, for comparison, is about 560 Bytes of information.   Take a high definition video recording of a 3 minute timeline (the same time it would take me to come up with something interesting on Twitter) this could easily take up over 50 MBytes - that's a over size difference of over 100,000x in the data being transmitted!

The 4 base formats: Text, Images, Audio and Video align in this order on a scale of effectiveness around data transmission given increasing data size.  Or in other words, as you slide from the highly focused side of the scale to the highly contextual size your need to store data to maintain message quality increases exponentially.

And when it comes to Video and its delivery over the web we hit our fundamental challenge - our Problem Number 1.   How do we take something that requires so much data to convey its message at a maintained quality level and push it down a pipe designed to deliver Text?  The mother of all Square Peg - Round Hole problems.

But I'm getting ahead of myself here.  Before we start down that road we need to just become a bit more familiar with Video as an encoding tool.  And more specifically around transcoding - the process of switching from one format to another.

In the next instalment I'll be breaking down Video encoding into its component parts.   Looking at the pieces in turn and setting the stage to start the investigation around how we can solve our Problem Number 1.