Wednesday, May 21, 2008

Resolution independence conundrum

Hi everyone. I was thinking about a feature in Edius Pro that I want to implement in my editor: Resolution independency... but I stumbled on a problem.

Let's say we have a sequence whose frames are made of 4 zoomed-out clips: A, B, C and D, as in a multicam display.
AB
CD

To process this, normally one would apply a "reduction" transformation to A, B, C and D, followed by a translation transformation. Then that would be rendered in the resulting clip, which we'll call E.

Now imagine E has similar sequences called F, G and H.

EF
GH

The result will be called I, which would have this structure:

I { E { ABCD } F { JKLM} G {NOPQ} H {RSTU} }

Now what happens when we zoom inside I? The result depends on the processing order of the transformations. If we put this in layers (tracks), we'll have something similar to this:

I
E F G H
ABCD JKLM NOPQ RSTU


If transformations (filters) are applied bottom-up, we would gain speed in processing, but resolution is lost, since the resulting images have a constant resolution. Zooming in would result in mosaic artifacts.

Instead, if transformations are applied top-down, processing complexity would be greater, but resolution would be preserved to the last pixel. This would allow us to zoom from I to E, to A and beyond.

The conundrum is...

Is there an algorithm for doing this? :(

No comments: