Gerald Himmelein, Dr. Volker Zota
Aktuelle Video-Codecs dampfen Filme bei hohen Kompressionsgraden bereits mit beeindruckender Qualität ein: Die bei TV-Sendungen üblicherweise übertragenen 22 MByte/s schrumpfen ohne sichtbare Verluste auf ein bis zwei MBit/s. Jetzt reduziert der Einsatz so genannter ‘Facelets’ in bestimmten Fällen die Video-Bitrate nochmals auf wenig mehr als die Hälfte.
Schon seit geraumer Zeit existieren Videokompressionsverfahren, die ganze Spielfilme in erstaunlicher Qualität auf nur einen CD-Rohling quetschen können. Dennoch versuchen Film-Freaks, ihre Videos in immer kleineren Paketen zu verschnüren.
Vor gut zwei Jahren revolutionierte DivX 3.1 die Raubkopierszene, nun tritt DivX 5.0 Pro die Thronfolge an - und hat durchaus das Zeug dazu, den Vorgänger weit in den Schatten zu stellen. Nur Tage nach der Veröffentlichung der neuen Version stießen wir beim Filesharing-Dienst eDonkey 2000 auf DivX-5-kodierte Moviez, die gerade einmal halb so groß waren wie übliche DVD-Rips: ‘Notting Hill’ mit Julia Roberts und Hugh Grant kommt beispielsweise als 270 MByte ‘kleine’ Datei daher - trotz üblicher Auflösung von 720 x 304 Bildpunkten und standesgemäßer DivX-Qualität.
Da stutzten wir dann doch: Zwar versprechen in DivX 5.0 Pro eingeführte Optimierungen wie etwa ‘Bidirectional Frames’ bis zu 30 Prozent effizientere Kodierung, eine Platzersparnis jenseits von 50 Prozent schien uns jedoch völlig utopisch. Der Grund für die scheinbar enorm effiziente Kompression fand sich bei der Wiedergabe des Videos: Julia Roberts ist im wahrsten Sinne des Wortes nur ein Schatten ihrer selbst, auch von Hugh Grant ist nichts zu sehen. Anstelle der Hollywood-Prominenz bekommt der Betrachter lediglich eine Silhouette zu Gesicht. Alle anderen Darsteller erschienen dagegen erwartungsgemäß im Bild.
Eine Recherche in einschlägigen DivX-Foren brachte Licht ins Dunkel. In den ersten überhitzten Postings argwöhnten empörte Anwender noch, die werbefinanzierte DivX-5-Version schwärze Teile des Videos, um die Nutzer zum Kauf der 30 US-Dollar teuren Pro-Version zu zwingen. Des Rätsels Lösung ist aber weitaus interessanter: Hinter den Schattenspielen stecken weder ‘geldgeile’ Entwickler, Programmier-Unfähigkeit noch ein neuer DVD-Kopierschutz. Es handelt sich vielmehr um ein revolutionäres Feature: Neben der eigentlichen Videodatei benötigt man so genannte ‘Facelet’-Bibliotheken der beiden Hauptdarsteller, die man separat herunterladen muss.
Die Bibliothek mit Julia Roberts (julia_roberts.m4f) ist etwa 50 MByte groß; die von Hugh Grant (hugh_grant.m4f) zehn MByte größer. Der Clou daran: Die Datei von Julia Roberts enthält nicht nur die Figur ‘Anna Scott’ aus Notting Hill, sondern auch ihre Paraderolle ‘Vivian Ward’ aus Pretty Woman sowie das Wonderbra-Wunder ‘Erin Brockovich’ aus dem gleichnamigen Film. Damit spart der DivX-Gucker pro Movie-Download 50 MByte. In der Facelet-Datei von Hugh Grant stecken noch die Bilder dreier weiterer Rollen - das erklärt den größeren Download.
Zu verdanken ist die Ersparnis der weitgehenden MPEG-4-Kompatibilität des jüngsten DivX-Sprosses. Findige Hacker griffen dazu auf dessen ursprünglich freie Code-Basis zurück. Dieser zunächst beim Project Mayo (www.projectmayo.com) für OpenDivX eingesetzte Code stammt direkt aus der MPEG-4-Referenzimplementierung des MoMuSys-Projekts [1]. Im Unterschied zu MPEG-2 kann MPEG-4 mehrere Bildelemente übereinander legen - ähnlich wie die Ebenen eines Bildbearbeitungsprogramms. Dazu verwendet das Format ‘Video Object Layers’ (VOL). Diese VOLs werden wiederum zu Video Object Planes zusammengefasst - analog zu den aus MPEG-1 und -2 bekannten Group Of Pictures (GOP).
Konzipiert wurde das Verfahren für ressourcenschonendes Streaming bei niedrigen Bandbreiten. Dazu werden Charakter und Hintergrund voneinander getrennt (MPEG-4 nennt dies ‘Spatial Segmentation’) und separaten VOLs zugeordnet. Als Hintergrund versteht MPEG-4 alle Objekte eines Videostroms, die konstant bleiben beziehungsweise durch einfache Translation ineinander überführt werden können - etwa bei Kameraschwenks. Im Idealfall muss der Hintergrund also nur einmal in einem I-VOL hinterlegt werden. Zum Hintergrund zählen dabei auch Nebendarsteller und andere bewegte Objekte, die der Algorithmus mit den bekannten MPEG-Techniken bearbeitet.
Der Hauptdarsteller wird separat behandelt - der MPEG-4-Jargon bezeichnet ihn als ‘Sprite’ oder plastischer als Facelet. Die Facelet-Datei enthält die Mimik und Gesichtszüge eines Charakters; je nach Ausdrucksstärke des Darstellers fallen dabei unterschiedlich viele Daten an. Die Bezeichnung ‘Facelet’ orientiert sich übrigens an ‘Wavelet’ - mit Wavelet-Transformationen arbeiten unter anderem LuraWave, JPEG2000 und auch MPEG-4 [2].
Die meisten Schauspieler sind wenig wandlungsfähig. Gleich in welchem Film sie mitspielen: Die Gesichtszüge, Gebärden und Grimassen verändern sich nur selten - sonst würde man sie ja auch nicht wieder erkennen. Im Kompressions-Slang nennt man das einen ‘hohen Redundanzgrad’ - die Charakterköpfe werden durch Triangulierung und Shape Adaptive Discrete Cosine Transformation (SA-DCT) des Advanced Coding Efficiency Profile (ACE) erfasst, ihre Differenzen bestimmt und in einer m4f-Bibliothek (m4f: MPEG-4 Facelet) hochkomprimiert gespeichert.
Ein Mimikmuffel wie Tom Cruise lässt sich besonders Platz sparend zu Sprites verarbeiten - schließlich decken vier Gesichtsausdrücke sein gesamtes emotionales Spektrum ab. Den ‘Ethan Hunt’ der beiden ‘Mission Impossible’-Filme unterscheiden nur der Dreitagebart, die Frisur und die Narbe im Gesicht - sie lassen sich einfach als zusätzliche Textur auf das Sprite anwenden.
Arnold Schwarzenegger ist ebenfalls ein dankbares Kompressionsopfer: In Terminator 1 und 2 behält er beispielsweise stets den gleichen emotionslosen Gesichtsausdruck und ermöglicht dadurch maximale Kompression. Das Metall-Exoskelett des T-800 landet in einer separaten Datei und kommt damit ebenfalls bei der Eröffnungssequenz der Sequel zum Einsatz.
Auch wenn wir aus Zeitgründen noch keine diesbezüglichen Versuche anstellen konnten, dürften deutsche Produktionen besonders von der Facelet-Kompression profitieren: Hier tritt schließlich ein deutlich kleinerer Artisten-Pool immer wieder vor die Kamera. Die Bibliotheken für Til Schweiger, Götz George und Katja Riemann dürften bereits die Hälfte der deutschen Produktionen der letzten fünf Jahre abdecken.
In der Praxis zeigt die Facelet-Kompression allerdings noch ihre Tücken. So können Übertragungsfehler dazu führen, dass bestimmte Variablen in einem Facelet-komprimierten DivX-Video umkippen und das Codec plötzlich den falschen Bereich aus der Bibliothek lädt. Dies war beispielsweise bei einem DVD-Rip von ‘The Fifth Element’ zu sehen, in dem Bruce Willis plötzlich als ‘John McClane’ aus ‘Stirb langsam’ auftauchte.
Ein unschönes Problem tritt bei Video-Dateien auf, in denen die Breitbild-Balken mitkodiert wurden: Hier ragt der Körper des eingebundenen Akteurs ständig in die schwarzen Balken hinein, was doch sehr störend wirkt.
Zu den amüsanteren Bugs gehört hingegen, was ein findiger Anwender im DivX-Forum publizierte: Der DivX 5-Codec validiert den Inhalt der eingebundenen Facelet-Bibliotheken nicht. So genügt es beispielsweise, die Facelet-Datei von Julia Roberts in arnold_schwarzenegger.m4f umzubenennen, damit plötzlich die Actrice durch Terminator 2 stakst. Das Vergnügen hält aber nur kurz an: Da Frau Roberts deutlich schmaler und anders proportioniert ist als die steirische Eiche, verdeckt sie die Aussparung vor dem Hintergrund natürlich nicht vollständig. Aber die Technologie steckt ja noch in den Kinderschuhen.
Eines wird aus der Verfahrensweise bereits klar: Je actionreicher der jeweilige Film, desto weniger Ersparnis lässt sich durch den Einsatz von Facelets erzielen. Umgekehrt eignen sich das ‘Heute Journal’ oder die ‘Tagesthemen’ hervorragend zur Facelet-Zerlegung, zumal auch die Hintergründe des virtuellen Studios gut in I-VOLs Platz finden. Bei Action-Krachern macht sich der Kompressionsgewinn von Facelets nur dann bemerkbar, wenn sie beispielsweise viele Nahaufnahmen enthalten.
Dennoch hat das Facelet-Verfahren einige wesentliche Vorteile: Durch die Trennung von Vordergrund-Sprites wie Schauspielern und anderen beweglichen Objekten vom Hintergrund entstehen weniger Artefakte. Ansonsten bekommen sowohl MPEG-2 als auch MPEG-4 häufig Probleme bei der Bewegungsvorhersage (Motion Estimation), wenn Teile des zunächst verdeckten Hintergrunds ins Bild kommen. Das Back-/Foreground-Mosaicing des Facelet-Verfahrens vermeidet diesen Effekt.
Bei der MoMuSys-Referenzimplementierung diente das in Java implementierte Programmpaket VOGUE (Video Object Generation Tool with User Environment [3]) zur Analyse der Videosequenzen. VOGUE zerlegte die Videobilder halbautomatisch in Video-Objekte, wobei der Anwender die Objekte per Hand den gewünschten VOLs zuordnen musste.
Derzeit kursiert im Internet eine Weiterentwicklung, die diesen Job nach einmaligem Markieren der Hauptperson vollständig automatisch erledigt - die Hacker haben sie sinnigerweise [en]VOGUE getauft (siehe Soft-Link). Die Ergebnisse konnten zwar beeindrucken, doch benötigt das Tool auch bei einem schnellen Prozessor extrem viel Zeit für die aufwendigen Berechnungen. Allein für die Analyse der Anna Scott in Notting Hill benötigte unser Testrechner, ein 1,4-GHz-Athlon mit 512 MByte Arbeitsspeicher, über acht Stunden.