Die Veröffentlichung der SVT-AV1-Bibliothek 4.0.0 (Scalable Video Technology AV1) enthält Implementierungen von Encoder und Decoder für das Video-Codierungsformat AV1, die zur Beschleunigung die in x86_64- und ARM-Prozessoren vorhandenen Erweiterungen zur hardwarebeschleunigten Parallelverarbeitung nutzen. Das Projekt wurde von Intel in Partnerschaft mit Netflix ins Leben gerufen, um ein Leistungsniveau zu erreichen, das für die Echtzeit-Videokodierung und für Dienste geeignet ist, die Videos auf Anfrage (VOD) bereitstellen. Derzeit wird die Entwicklung unter dem Dach der Open Media Alliance (AOMedia) vorangetrieben, die die Entwicklung des Video-Codierungsformats AV1 überwacht. Zuvor wurde das Projekt im Rahmen des OpenVisualCloud-Projekts entwickelt, das auch die Encoder SVT-HEVC und SVT-VP9 entwickelt. Der Code wird unter der BSD-Lizenz verbreitet.
SVT-AV1 kann für Systeme jeder Architektur erstellt werden, die einen Compiler mit C99-Unterstützung haben. Die beste Leistung wird jedoch auf x86_64-Systemen erreicht, wo SIMD-Befehlsoptimierungen zum Einsatz kommen (eine CPU mit AVX2-Unterstützung ist wünschenswert, aber mindestens sollte SSE2 vorhanden sein). Der Speicherverbrauch hängt von der Anzahl der beim Kodieren verwendeten CPU-Kerne ab, die über die Option "—lp" gesteuert werden. Aufgrund der komplexeren Algorithmen in AV1 benötigt die Kodierung dieses Formats erheblich mehr Ressourcen als andere Formate. Zum Beispiel erfordert der Standard-Encoder des AV1-Projekts in den Fällen 5721, 5869 und 658 Mal mehr Berechnungen im Vergleich zu den Encodern x264 (Profil „main“), x264 (Profil „high“) und libvpx-vp9.
Zu den Neuerungen in der aktuellen Version von SVT-AV1 gehören:
- Die Codierungsmodi für Einzelbilder und AVIF-Bilder wurden optimiert. Bei den Presets M0-M11 wurde eine Geschwindigkeitssteigerung der Kodierung um 5-8 Mal bei aktivierter MS-SSIM-Option (—tune 4) festgestellt, während das Qualitätsniveau erhalten bleibt. Bei der Bewertung mit der BD-Rate-Methode (Bjontegaard-Delta) zeigt sich eine Verbesserung der Kompressionseffizienz um 5-8% bei gleichem Komplexitätsgrad.
- Die Kompromissoptimierung zwischen Qualität und Geschwindigkeit für das Kodieren im Modus „—rtc“ (Real-Time Communications) wurde durchgeführt. Bei den Presets M7-M11 wurde eine Geschwindigkeitssteigerung von 5-15 % bei gleichbleibendem Qualitätsniveau festgestellt.
- Die Kompromissoptimierung zwischen Qualität und Geschwindigkeit für die Kodierung im Modus des zufälligen Zugriffs (Random Access) wurde vorgenommen. Bei den Presets M0-M7 wird eine Beschleunigung um 10-25 % ohne Qualitätsverlust bei Nutzung der Option „—fast-decode=1|2“ vermerkt.
- Auf ARM-Systemen wurden zusätzliche Optimierungen auf Basis der Erweiterungen Neon und SVE2 implementiert, die die Codierungsleistung bei Streams in niedriger Auflösung mit hoher Farbtiefe um 5 % erhöhen.
- Aus dem Fork SVT-AV1-PSY, dessen Unterstützung eingestellt wurde, wurde der Transfer erweiterter Funktionen für den Modus hoher visueller Qualität abgeschlossen, der durch die Einstellungen „—tune 0“ (VQ, Video Quality) für Videos und „—tune 3“ (IQ, Image Quality) für Avif-Bilder aktiviert wird.
- Eine Methode zur psychovisualen Modellierung AC Bias wurde implementiert, die die Detailgenauigkeit und das Rauschen des Kamerasensors verbessert.
- Die Unterstützung für S-Frames (Switch Frames), die beim Wechsel zwischen Streams unterschiedlicher Qualität verwendet werden, wurde verbessert. Es wurde Unterstützung für S-Frames in den Optionen zur Anpassung der Quantisierung (QP, Quantization Parameter) und der Decodierreihenfolge hinzugefügt.
- Die Möglichkeit zur Anwendung der Modi IQ (Image Quality) und MS-SSIM (Multi-Scale Structural Similarity Index) beim Kodieren von Bildern und einzelnen Frames wurde hinzugefügt.
- Änderungen an der API wurden vorgenommen, die unter anderem die Abwärtskompatibilität beeinträchtigen.
Quelle: opennet.ru
