Die Version 3.1.0 der SVT-AV1-Bibliothek (Scalable Video Technology AV1) wurde veröffentlicht, mit Implementierungen des Encoders und Decoders für das Video-Encoding-Format AV1, die von den in x86_64- und ARM-Prozessoren vorhandenen Hardware-Parallelisierungs-Erweiterungen profitieren. Das Projekt wurde von Intel in Zusammenarbeit mit Netflix ins Leben gerufen, um eine Leistungsstufe zu erreichen, die für die Echtzeit-Videoumwandlung und die Nutzung in Video-on-Demand-Diensten (VOD) geeignet ist. Derzeit wird die Entwicklung unter dem Dach des Open Media Alliances (AOMedia) vorangetrieben, der die Entwicklung des Video-Encoding-Formats AV1 leitet. Zuvor wurde das Projekt im Rahmen von OpenVisualCloud entwickelt, das auch die SVT-HEVC- und SVT-VP9-Encoder entwickelt. Der Code wird unter der BSD-Lizenz veröffentlicht.
SVT-AV1 kann für Systeme mit jeder Architektur kompiliert werden, für die ein C99-kompatibler Compiler verfügbar ist, jedoch wird die beste Leistung auf x86_64-Systemen erzielt, die mit assemblerbasierten Optimierungen auf SIMDs basieren (AVX2-Support im CPU ist wünschenswert, aber SSE2 ist das Minimum). Der Speicherverbrauch hängt von der Anzahl der beim Encoding verwendeten CPU-Kerne ab, die durch die Option "—lp" geregelt wird. Aufgrund der Komplexität der in AV1 verwendeten Algorithmen erfordert das Encoding dieses Formats erheblich mehr Ressourcen als andere Formate; beispielsweise benötigt der Standard-Encoder des AV1-Projekts 5721, 5869 und 658 Mal mehr Rechenleistung 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:
- Die Kompromisse zwischen Qualität und Geschwindigkeit wurden für Presets optimiert, die ein mittleres bis hohes Qualitätsniveau setzen. Im "fast-decode 0"-Modus für die Presets M1-M5 stieg die Geschwindigkeit um 15-25% bei Beibehaltung des Qualitätsniveaus. In den Modi fast-decode 1 und 2 für die Presets M3-M7 erhöhte sich die Geschwindigkeit um 15-20% bei Beibehaltung der Qualität. Für die Presets M0 und MR wurde das Qualitätsniveau um etwa 1-1,5% bei Bewertung mit der BD-Rate-Methode (Bjontegaard-Delta) erhöht.
- Die Leistung des Low Delay-Encoding-Modus wurde erheblich verbessert.
- Die Leistung im RTC-Modus wurde um 5-10% gesteigert.
- Auf ARM-Systemen wurden Optimierungen auf Basis der Neon- und SVE2-Erweiterungen implementiert, die eine Steigerung der Encoding-Leistung für Streams in niedriger Auflösung mit hoher Farbtiefe um 5% ermöglichten.
- Auf ARM-Systemen wurde die Codierungsleistung von Videos im Landschafts- (1080p +4%, 720p +6%, 480p: +6%, 360p: +3%, 240p: +4%) und Porträtmodus (1080p +8%, 720p +4%, 480p +3%, 360p +7%, 240p +4%) erhöht.
- Im Zugriffsmodus wurde die Unterstützung von S-Frames implementiert.
- Die Implementierung der Flags "—chroma-qm-min" und "—chroma-qm-max" wurde aus dem Fork SVT-AV1-SPY übernommen, ebenso wie Verbesserungen im Zusammenhang mit Variance Boost (Implementierung des VAQ-Algorithmus für adaptives Quantisieren).
- Im RTC-Modus wurden die Presets M11 und M12 aktiviert.
Quelle: opennet.ru
