Veröffentlichung von rav1e 0.3, einem AV1-Encoder in Rust

fand statt Ausgabe rav1e 0.3, ein leistungsstarker Encoder für Videokodierungsformate AV1, entwickelt von den Xiph- und Mozilla-Communitys. Der Encoder ist in Rust geschrieben und unterscheidet sich vom Referenz-Libaom-Encoder durch eine deutlich höhere Codierungsgeschwindigkeit und ein erhöhtes Augenmerk auf die Sicherheit. Projektnummer vertrieben von unter der BSD-Lizenz.

Alle wichtigen AV1-Funktionen werden unterstützt, einschließlich Support
intern und extern codierte Frames (Intra- и inter-Frames), 64x64 Superblöcke, 4:2:0, 4:2:2 und 4:4:4 Chroma-Unterabtastung, 8-, 10- und 12-Bit-Farbtiefenkodierung, RDO-Optimierungsverzerrung (Rate-Distortion Optimization), verschiedene Modi zur Vorhersage von Interframe-Änderungen und zur Identifizierung von Transformationen, zur Steuerung der Flussrate und zur Erkennung von Szenenkürzungen.

Das AV1-Format ist auffällig ist voraus H.264 und VP9 hinsichtlich der Komprimierungsfähigkeiten, jedoch aufgrund der Komplexität der Algorithmen, die sie implementieren erfordert deutlich mehr Zeit für die Kodierung (in der Kodierungsgeschwindigkeit liegt libaom hunderte Male hinter libvpx-vp9 und tausende Male hinter x264).
Der Rav1e-Encoder bietet 11 Leistungsstufen, von denen die höchste Codierungsgeschwindigkeit nahezu in Echtzeit liefert. Der Encoder ist sowohl als Befehlszeilenprogramm als auch als Bibliothek verfügbar.

In der neuen Version:

  • Schnellerer Codierungsmodus vorgeschlagen Geschwindigkeit 10;
  • Die Größe der Binärassemblys wurde reduziert (auf der x86_64/Linux-Plattform nimmt die Bibliothek etwa 3 MB ein);
  • Montagezeit um ca. 14 % verkürzt;
  • Multithread-Filter zum Entfernen von Blockartefakten aus Videos hinzugefügt (Deblocking);
  • Für die x86_64-Architektur wurden weitere Optimierungen mittels SIMD-Anweisungen umgesetzt und die Nutzung der Auto-Vektorisierung erweitert;
  • Die Anzahl der Speicherzuweisungsvorgänge wurde um 1/6 reduziert;
  • Bei RDO (Rate-Distortion Optimization) wurde die Logik zur Unterdrückung von Intra-Frame-Verzerrungen verbessert;
  • Einige Operationen wurden von der Verwendung der Gleitkomma-Arithmetik auf Ganzzahlberechnungen umgestellt;
  • Die Kodierungsqualität auf der zweiten Geschwindigkeitsstufe wurde um 1-2 % verbessert;
  • Добавлен neuer Bewegungsrichtungsvorhersagefilter (Intra-Edge);
  • Option „-S“ (--switch-frame-interval) hinzugefügt, um das Umschaltintervall zwischen Frames zu bestimmen;
  • Build-Unterstützung für die wasm32-wasi-Plattform hinzugefügt (WebAssembly-Systemschnittstelle).

Source: opennet.ru

Kommentar hinzufügen