Die Version 3.0 der SVT-AV1-Bibliothek (Scalable Video Technology AV1) wurde veröffentlicht, die Encoder- und Decoder-Implementierungen des AV1-Videokodierungsformats umfasst. Diese wurden beschleunigt durch die in modernen Intel-CPUs vorhandenen Hardwareparallelisierungsfunktionen. Das Projekt wurde von Intel in Partnerschaft mit Netflix ins Leben gerufen, um ein Leistungsniveau zu erreichen, das für die Live-Transcodierung von Videos und die Anwendung in Video-on-Demand-Diensten (VOD) geeignet ist. Derzeit wird die Entwicklung unter dem Dach der Open Media Alliance (AOMedia) fortgesetzt, die die Weiterentwicklung des AV1-Videokodierungsformats überwacht. Zuvor entwickelte sich das Projekt im Rahmen des OpenVisualCloud-Projekts, das auch die SVT-HEVC- und SVT-VP9-Encoder entwickelt. Der Code wird unter der BSD-Lizenz vertrieben.
SVT-AV1 kann für Systeme mit jeder Architektur kompiliert werden, für die ein Compiler mit Unterstützung für den C99-Standard vorhanden ist, aber die beste Leistung wird auf x86_64-Systemen erreicht, wo Assembleroptimierungen auf Basis von SIMD-Instruktionen angewendet werden (idealerweise sollte der CPU AVX2 unterstützen, aber als Minimum reicht auch SS2 aus). Der Speicherverbrauch hängt von der Anzahl der für die Kodierung verwendeten Prozessorkerne ab, die über die Option „—lp“ geregelt werden können. Aufgrund der Komplexität der in AV1 verwendeten Algorithmen benötigt die Kodierung dieses Formats erheblich mehr Ressourcen als andere Formate; zum Beispiel benötigt der Standardencoder des AV1-Projekts 5721, 5869 und 658 mal mehr Berechnungen im Vergleich zu den Encodern x264 (Profil „main“), x264 (Profil „high“) und libvpx-vp9.
Zu den Änderungen in der neuen Version von SVT-AV1 gehören:
- Es wurden Optimierungen im Kompromiss zwischen Qualität und Geschwindigkeit für Presets mit mittlerem und hohem Qualitätsniveau vorgenommen. Im „fast-decode 2“-Modus für die Presets M3-M10 stieg die Geschwindigkeit um 15-25%, während das Qualitätsniveau beibehalten wurde. Für die Presets M0-M2 wurde das Qualitätsniveau um etwa 1% erhöht, beurteilt mit der BD-Rate-Methode (Bjontegaard-Delta).
- Im „fast-decode 1“-Modus im Vergleich zu „fast-decode 0“ konnten die Dekodierungszyklen um etwa 10% gesenkt werden, während die Verluste nur um 1% nach der BD-Rate-Metrik anstiegen.
- Auf ARM-Systemen wurden Optimierungen unter Verwendung von Neon- und SVE2-Erweiterungen implementiert, die eine Steigerung der Leistung bei der Kodierung von Streams mit hoher Farbtiefe und Auflösungen von 480p bis 1080p um 10-25% ermöglichten.
- Änderungen aus dem Fork SVT-AV1-SPY wurden übernommen, die die Qualitätswahrnehmung im Modus „tune 0“ verbessern.
- Der Modus „avif“ wurde hinzugefügt, der weniger Ressourcen bei der Kodierung statischer Bilder verbraucht.
- Die Unit-Tests für den Code, der Arm Neon und SVE2-Instruktionen verwendet, wurden verbessert.
Quelle: opennet.ru
