Friday, November 27, 2009

Displaying Metadata

Just before the Thanksgiving break, CineForm released new betas for the Neo and Prospect product lines (http://tr.im/FNSb.) These have a new feature that we have been planning for ages (years it seems,) the ability for the decoder to render its own passive metadata. The decoder has been applying Active Metadata for many years, developing the image through color parameters and 3D LUTs for creative looks, yet the classic metadata has remained dormant within each compressed frame -- we left it up to vendors using the SDK to extract as needed (and so few do this.) As metadata is so often lost and misplaced, you are lucky if you are left with just the timecode in many workflows, so we long ago moved metadata from side-car files or within the file wrapper (AVI/MOV/MXF) and placed it within the compressed sample itself. This enables the decoder to read its own metadata (not possible with 99% of video types), all that was missing was the font engine to render the results in the display. The decoder now has that font engine. Offline workflows typically have a range of burn-ins top of the video image, returning to burnin free media for online/finishing. The CineForm burnins are non-destructive allowing the operator to enable the overlay display, choose which elements to display, switch from offline to online with a single click. Any tools that uses the CineForm decoder will gain this feature.

The First Light control panel:


The placement and font controls are primitive today, but the engine already works with transparency, color and outline stroke controls (vendors using SDK can select these today.) Sample images from the overlay engine tests: http://twitpic.com/obs9l http://twitpic.com/ob1d9
http://twitpic.com/oay77

For those who want get started with the metadata burn-ins, here are some simple steps:

1) Start the new First Light (within version 4.1.3 of Neo or Prospect.)
2) Import a CineForm clip that has the type of metadata you wish to display.
3) Select the Passive Metadata tab to reveal all the metadata types with.
4) Select an item from the list.
5) optionally -- click the 9-way justification control to determine where you want to place the burn-in.
6) Click "Add / Remove" to apply the burn (and again to remove.)
7) Repeat steps 4-6 to add more metadata to the output.

8) The Overlay checkbox (near histogram control,) globally enables these burn-ins for all clips in the system.

If you want custom formatting for your metadata we are using the C language printf formatting. Instead of the recode data "2009-11-26", in the customer formatting add "Date: %s" for a display of "Date: 2009-11-26". You can use this to add freeform burnins like "property of me" by select a random metadata line and not putting a "%s" (string) or "%d" (for decimals) in the formatting. Font name and sizing also are active, setting Arial and size 70 will render the next added burn-in with those characteristics.

Users of Red and SI cameras will have lots of metadata to display, unfortunately there is not much for HDV/AVCHD users -- yet. The reason we implemented this feature, is not just to display today's metadata, but to encourage more metadata to be stored at acquisition time (something our own tools have a reason to do more of.) Also to store changing metadata during capture -- good examples would be lens data and GPS/orientation coordinates that are coming to more cameras. Even Red One metadata out from the SDK is only per clip, not per frame (we understand this with be addressed with a future R3D SDK release.) There is an opportunity for those doing live HDSDI/HDMI captures into CineForm, to generate their own metadata streams (see how at techblog.cineform.com.)

We aren't stopping at display of new metadata, next we will use this metadata to trigger external applications and tools to act in new and programmable ways -- think of third party apps for your decoder. We want metadata to approach the power of the image data that it is stored with.