# Compositing

Compositing (englisch für Zusammensetzung, Mischung) ist ein Begriff aus der Video- und Filmtechnik und findet in der Postproduktion eines Filmes als visueller Effekt Anwendung. Im Compositing werden zwei oder mehr voneinander getrennt aufgenommene oder erstellte Elemente zu einem Bild zusammengeführt. In der Computergrafik versteht man unter Compositing das Zusammenfügen mehrerer hintereinanderliegender Schichten eines Volumens.
Das Compositing ist der Prozess des Zusammenführens mehrerer Bildelemente zu einem stimmigen Gesamtbild. Die wichtigsten Techniken sind das Freistellen (durch Keying oder Rotoskopie), das photorealistische Integrieren von freigestelltem Footage, gerenderten Bildern oder Matte Paintings sowie das zeitliche Verändern von Footage (Retiming).
Die entsprechende Berufsbezeichnung ist der Compositing Artist.

## Geschichte

In den 1930er-Jahren wurden die ersten visuellen Effekte mit Hilfe eines Optischen Printers (optical printer) und einer travelling matte realisiert. Ein optical printer wurde zum Kopieren von Filmmaterial verwendet: Er besteht aus einem oder mehreren Projektoren, welche dann den Film auf eine kleine integrierte Projektionsfläche projizieren und einer Kamera, die diese abfilmt. Mithilfe einer travelling matte (dt.: bewegte Maske) wurden zunächst Teile dieser Projektion abgeschattet, was unbelichtete Stellen im Filmmaterial hinterließ. In einem zweiten Durchlauf konnte mit der inversen Maske ein zweites Filmmaterial an den abgeschatteten Stellen eingefügt werden, ohne die zuvor belichteten Stellen doppelt zu belichten. Unter diesen mechanischen Verfahren litt allerdings auch die Bildqualität, weshalb es meist nur kurzfristig angewandt und nicht beliebig oft wiederholt werden konnte.
1940 erweiterte Lawrence Butler diese Technik und erfand eine Möglichkeit, travelling mattes bewegter Objekte photochemisch zu erzeugen. Für diese Erfindung der Bluescreen-Technik wurde er mit einem Oscar ausgezeichnet. Bis in die 1990er-Jahre war diese Compositing-Technik die einzige Möglichkeit, effizient bewegte Objekte freizustellen und zusammenzusetzen.
Verfeinerungen dieser Technik wurden in großem Umfang erstmals im Film Blade Runner aus dem Jahr 1982 angewandt, in dem zahlreiche Einstellungen von Miniaturmodellen, Matte Paintings, Regen- und Realfilm-Aufnahmen kombiniert wurden.
Mit dem Film Indiana Jones und der letzte Kreuzzug (1989) wurde diese Technik zum ersten Mal im Computer erzeugt. Dazu wurde das Filmmaterial digitalisiert, durch eine Bildbearbeitungssoftware zusammengefügt und danach wieder auf Filmmaterial übertragen.
Ab Mitte der 1990er-Jahre wurde Compositing auch eingesetzt, um digital erzeugte Figuren in Realfilm-Aufnahmen einzufügen (Bsp.: Jurassic Park (1993), Godzilla (1997)).
Eine bekannte Firma in diesem Bereich ist Industrial Light & Magic von George Lucas, die unter anderem die visuellen Effekte für Star Wars, Jurassic Park, Abyss – Abgrund des Todes, Terminator, Star Trek und Indiana Jones gemacht hat.

## Techniken
### Freistellen

Das Freistellen von Elementen ist einer der wichtigsten Teilbereiche des Compositings. Freigestellte Bilder und Filmsequenzen können einzeln bearbeitet, verändert und neu kombiniert werden. Die dabei hauptsächlich eingesetzten Techniken sind Keying und Rotoskopie. Ziel ist das Erstellen einer exakt zum Bild passenden Alphamaske. Besondere Schwierigkeiten treten beim Freistellen von halbtransparenten Objekten, Unschärfe und Haaren auf.

### Photorealistische Integration

Ein häufiges Ziel ist es, neue Elemente in bestehendes Bildmaterial (Footage) einzufügen. Zu diesen Elementen gehören freigestellte Bilder, Matte Paintings, oder gerenderte Elemente. Ziel ist es dabei, einen realistischen Look zu erzeugen und die eingefügten Elemente so aussehen zu lassen, als wären sie durch die Kamera gefilmt. Wichtige Aspekte bei der Integration sind die korrekte Perspektive und (bei bewegter Kamera) Parallaxe, Farb- und Helligkeitsanpassung an das Footage, sowie korrekte Unschärfe (defocus) und Bewegungsunschärfe (motion blur). Auch das Erzeugen von Kameraeigenheiten wie Grain oder Bildfehlern wie Chromatische Aberration, Verzeichnung oder Randlichtabfall sorgt für eine optimale Integration, wenn es an das originale Footage angepasst wird.

## Software

Für die Anwendung des Compositings im professionellen Bereich existieren spezialisierte Programmlösungen. Diese lassen sich im groben in Bezug auf ihre Benutzeroberfläche in zwei Kategorien einordnen: Node-basierte Compositing-Software und layerbasierte Compositing-Software.
Zu Compositing-Programmen gehören beispielsweise:
* After Effects
* Autodesk
** Inferno
** Flame
** Flint
** Combustion
** Toxik
* Avid DS
* Blackmagic Fusion
* Hitfilm
* IQ, EQ
* Nuke
* Shake
sowie die quelloffenen Programme:
* Jahshaka
* Blender
* CinePaint
* Kdenlive
* OpenShot
* Liconcomp
* Natron
Das quelloffene Videoschnittprogramm Cinelerra für GNU/Linux besitzt ebenfalls Werkzeuge zum Compositing. Heute haben alle professionellen nichtlinearen Schnittprogramme (wie Avid, Media 100 oder Final Cut Pro) Compositingmöglichkeiten.
Wichtiger Bestandteil von Compositing-Programmen sind Erweiterungsmodule, welche die Funktionalität vergrößern. Dazu gehören unter anderem:
* Boris/FX
* Sapphire
* Krokodove
* Monster
* Frischluft
* REVision
* Furnace

## Volumengrafik

In der direkten Volumenvisualisierung findet das Compositing Anwendung, um mehrere hintereinanderliegende Schichten eines Volumens zu einem 2D-Bild zusammenzufügen. Das gesamte Volumen kann man sich dabei als eine Vielzahl von Volumenzellen (Voxel) vorstellen, welche eine Transparenz haben und Licht einer bestimmten Farbe abstrahlen. Die Farb- und Transparenzwerte müssen entlang eines „Sichtstrahls“ miteinander verrechnet werden. Die dafür angewendeten Verfahren liefern unterschiedliche Ergebnisse:
* Average: Es wird einfach der Durchschnitt der Farbe über alle Voxel gebildet, durch die der Sichtstrahl verläuft. Das Ergebnis ähnelt einem Röntgenbild.
* Front to back: Die Voxel werden vom Betrachter aus zum Hintergrund hin durchlaufen. Dabei wird die bisherige Transparenz entlang dieser Strecke immer mit der Transparenz des aktuellen Voxels multipliziert. Die Farbe des Voxels fließt dann abhängig von der Transparenz in die Gesamtfarbe ein. Da die Transparenz im Intervall $[0,1]$ liegt, wird diese immer kleiner. Die Farbe weiter hinten liegender Voxel geht entsprechend kaum noch in die Gesamtfarbe ein, so dass der Algorithmus bei Unterschreitung eines bestimmten Schwellenwertes abgebrochen werden kann. Dadurch wird die Geschwindigkeit des Renderings deutlich erhöht.
* Back to front: Die Voxel werden vom Hintergrund zum Betrachter durchlaufen. Der für die vorherigen Voxel berechnete Farbwert muss jeweils mit der Transparenz und der Farbe des aktuellen Voxels verrechnet werden.
Außerdem kann bei allen Verfahren ein Binärbaum verwendet werden, der den Sichtstrahl in mehrere Segmente aufteilt. Diese können parallel gerechnet und später wieder zusammengefügt werden, um einen weiteren Geschwindigkeitsgewinn zu erzielen.