08 Feb Conceptual Workflow: Conditional Encoding
The post industry lives and dies around the concept of deliverables. What specifications have to met to appease the viewer, server, or engineer on the other end. Many times, just getting the deliverable out is a chore in itself. The last encoding format sheet I read from a leading encoding manufacturer had 5 pages of supported input / output formats. Being able to decipher these often cryptic encoding acronyms and numeric values appears to need a degree in engineering.
This is Science.
Translating from one medium to another has it’s own inherent problems. Does the image blur or breakup when the camera pans? Is the audio intelligible after it’s compressed? Do the lettering or graphics remain legible when the image is resized? Often it takes a slow hand (and a smooth touch) to know when to finesse parameters to convey the artistic vision when transcoding.
This is Art.
Depending on the deliverable, one may have options as to what path is the easiest to walk down. Is a certain codec really the right choice? Will it play nice in all browsers or devices? Will it cause the media to load slowly? These kinds of decisions are based on thorough knowledge of the medium, and the gotchas associated with the platform.
This is Experience.
There was a time when all three of these traits of these were the core component of a now fading job: The Compressionist. Like a Colorist, their job was highly specialized, and had a job to ensure the best quality and visually appealing image once the media left the edit bay. Our attention span has now waned, and our deadlines have been cut short, and one click presets are rapidly becoming commonplace when outputting.
There has got to be a better way.
Replacing the job of a Compressionist – the human eye, the human attitude, the human heart – cannot be replaced. However, we can begin to bridge the gap with what I am calling “Conditional Encoding”, or for you coding geeks, “Boolean Encoding” (patent pending). Of course, both my employer and myself would prefer KCM: Kammes Compression Methodology.
There are baselines that can be assembled for specific criteria. This, coupled with easy to understand non-techie based concepts yield a easier path for users to navigate: An example:
Does the source media involve fast motion?
Encoding System: increase data rate. Change motion estimation to a higher level. De-interlace if the file is interlaced. Perform a 2-pass encode.
Encoding System: maintain average data rate, reduce motion estimate factor, perform 1 pass
Does the media include large amounts of dialogue?
Encoding System: Use less compression on audio, apply equalization favorable to vocal frequences, reduce volume on non vocal frequencies.
Encoding System: Use more compression, apply broadband equalization.
So, we can essentially build rules based on the human perception of the source media. By utilizing these within a Boolean conditional set (IF, THEN, ELSE logic), we can very quickly create a set of encoding parameters “closer” to what a Compressionist would choose. While they will not replace the role, they will certainly get the dart closer to the bull’s-eye.
Think of Choose Your Own Adventure books. Each subsequent decision is based on a prior decision. By incorporating this methodology, this logic could create the desire encode. Once applied to each deliverable, the process becomes streamlined.
Another key to this is presenting users with options and descriptions which translate between technical and laymen. Bitrates could instead be replaced by “need more space”, or “higher quality”, for example. Logic would have to be configured and scripted in to the parameters to balance the users options when answers conflict.
To further efficiency, this could be incorporated into a familiar interface which users could also readily utilize and understand, like a web page. This means an easy to use GUI for the user, the possibility for remote access, and the ability to be ported over to many platforms.
The webpage could then conceivably generate a data file that the encoding solution could parse and understand. Formats like XML have long been a web standard, and several encoding solutions already utilize this format: Root6’s Content Agent, Digital Rapids Stream software, and several of Telestream’s product offerings already have this functionality (albeit limited) built in.
Several consumer software solutions have “wizard” functionality, which incorporates a slimmed down version of this concept. Apple’s Compressor, for example, has once-click device encodes (DVD, iPod, etc.), or time-based encodes (how much material do you need to fit on a given medium). Each of these selections loads up a preset of encoding parameters. This Boolean Encoding brings this concept to the next level.
I can see it now: The Microsoft Paper Clip A.I. turned encoding vehicle. I think I just died a little inside.
Next week, I’ll explore a much larger scale workflow which not only incorporates this concept, but utilizing it as a possible side business – or even a current business enabler.