FiLMiC (das Unternehmen hinter den mobilen App FiLMiC Pro) hat angekündigt, dass es eine hocheffiziente Bild-Remapping-Technologie namens Cubiform patentiert hat, die 4,75-mal schneller arbeiten soll als herkömmliche GPU-Pipeline-Methoden. Das klingt auf den ersten Blick revolutionär, ist es aber beim näheren Hinsehen nur bedingt. Denn bei genauerer Betrachtung handelt es sich eigentlich nur um eine angewandte Matrizen-Multiplikation (die hier in Europa als Beschreibung eines Algorithmus wohl überhaupt nicht patentierbar wäre).
Die Idee ist dabei, diverse Filter-Schritte zu einer einzigen LookUpTable zusammenzulegen. Bei der Veränderung eines Parameters eines Subfilters muss natürlich die gesamte Cubiform-LUT neu berechnet werden, dafür kann die Effektkette immer rasend schnell gerendert werden, sobald die Cubiform LUT einmal fertig berechnet ist.
In der Praxis müssen solche Cubiform LUTs etwas komplexer (und weitaus größer) sein, als einfache typische LUTs, u.a. weil offensichtlich auch Masken mit in die Berechnung einfließen können. Dennoch können wir aus eigenen Erfahrungen bestätigen, dass das Prinzip effektiv funktioniert, solange man Zugriff auf genügend schnellen Speicher für die Cubiform LUTs besitzt.
FiLMiC selbst gibt an, dass eine GPU-Pipeline, die 26,4 Millisekunden Rechenzeit benötigen würde, mit Cubiform in 5.6 ms erledigt werden könnte. FiLMiC behauptet in bester Marketingmanier, dass Cubiform somit eine äquivalente GPU-Pipeline um das 4,75-fache übertreffen kann. Verschwiegen wird dabei jedoch die Zeit, welche der Encoder zusätzlich benötigt.
Auch verschwiegen wird, dass die Reihenfolge der Effekte in der Effektkette immer bestimmten Regeln folgen muss und viele Effekte sich überhaupt nicht für eine Vorausberechnung in einer kombinierten LookUpTable eigenen. Soll ein Effekt in der Kette beispielsweise die Position eines Pixels verändern, so funktioniert das gesamte Konzept nicht mehr.
Zudem hinkt der Geschwindigkeits-Vergleich mit mehreren einzelnen Effekten. Denn würde man diese Effekte ebenfalls als einen einzigen "Ketten-Effekt" programmieren, könnten viele Speicherzugriffe wegfallen und die Bilanz würde gegenüber der Cubiform Lösung deutlich besser aussehen.
In diese zweite Richtung gehen aktuell auch progressive Engine-Ansätze: Nämlich dass man eine Effektkette zu einem fixen Kombieffekt im Schnittprogramm "vorkompiliert", der dann weitaus schneller rendern kann, als die Kombination aus einzelnen Effekten. Dies beschleunigt dann theoretisch sogar jede Effektart.
In einem nächsten Schritt könnte man solche Effektketten sogar nach FPGA-IP kompilieren, was einen weiteren Schub für Echtzeit-Effekte bedeuten würde. Uns ist allerdings aktuell keine Entwicklung in dieser Richtung bekannt. Wir hatten bisher am ehesten vermutet, dass Apple mit seiner Afterburner Accelerator card for Mac Pro in diese Richtung zielt, aber noch gibt es keinerlei belastbare Anzeichen dafür...