Über uns Produkte Support FAQ Bloggen

HEVC-Codec-Vergleich der Moskauer Staatlichen Universität. So verbessern Sie die Ergebnisse

image

 

   Von Olga Krovyakova - geändert am 6. Oktober 2023, erstellt am 3. April 2019.

 

TRY ZOND 265 FREE

 

Im Oktober 2015 veröffentlichte die Graphics & Media Lab Video Group der Fakultät für Informatik der Moskauer Staatlichen Universität (CS MSU Graphics & Media Lab) einen weiteren Codec-Vergleichsbericht, diesmal mit mehreren Codecs im HEVC-Format.

 

Der Ausgangspunkt dieser Forschung war, dass wir den Unterschied in den Voreinstellungen für AVC- und HEVC-Tests bemerkten. Für AVC wurde ein unverändertes schnelles Profil mit einer einzelnen GOP verwendet, während für HEVC-Tests ein modifiziertes Profil mit mehreren GOP verwendet wurde. Außerdem zeigte der x264-Codierer bei schneller Transcodierung in SSIM/Bitraten-Korrelationsdiagrammen bessere Ergebnisse als x265, unabhängig von der Codierungsgeschwindigkeit – für “Apple Tree”, die einzige im offenen Bericht beschriebene Datei. Es stellte sich sofort die Frage: Was wäre, wenn diese oder andere offensichtliche Optionen das Bild verändern könnten?

Der Bericht vergleicht Voreinstellungen, empfiehlt’jedoch keine diesbezüglichen Verbesserungen. In diesem Artikel haben wir eine ähnliche Überprüfung durchgeführt und Empfehlungen zur Änderung der x265-Encoder-Voreinstellungen entwickelt. Für die Videosequenz, die mit der in der kostenlosen Version des Berichts analysierten identisch ist, tragen unsere vorgeschlagenen Änderungen der Kodierungsparameter dazu bei, die Komprimierungseffizienz zu erhöhen und den x265-Kodierer bei der Berichtsdiagrammerstellung zu rehabilitieren.

Die geänderten Voreinstellungen erheben keinen Anspruch auf Universalität, da das Testen mehrerer Videosequenzen den Rahmen dieser Untersuchung sprengen würde. Sie können jedoch als Ausgangspunkt für die Suche nach Möglichkeiten zur Verbesserung der x265-Kodierungseffizienz empfohlen werden.

 

Über das Projekt

Die Aufgabe der Videokodierung im Prozess der Multimediaverarbeitung, sei es Übertragung, Schnitt, Bearbeitung oder Speicherung, ist in der Anwendungs-/Dienstentwicklung und -konfiguration im laufenden Betrieb allgegenwärtig. Da es eine große Anzahl gängiger Video-Codecs gibt, die oft vom gleichen Typ sind, ist es’nicht einfach, den besten auszuwählen und dann die richtigen Einstellungen anzuwenden. Es ist’höchstwahrscheinlich, dass diese Überlegungen das laufende Videovergleichsprojekt gefördert haben, das im Jahr 2000 vom Lab of Computer Graphics and Multimedia der CMC MSU gestartet und betrieben wurde. Im Oktober 2015 wurde ein Codec-Vergleichsbericht herausgegeben, der mehrere HEVC-Formate berücksichtigte Codecs und andere Codecs in aktiver Entwicklung. Als Modellkompressor wurde in ihrem Bericht x264 gewählt. Einer der anderen dort erwähnten interessanten Kompressoren war x265. Dieses Format wird das Hauptthema unserer Studie sein.

Das Analysetool ist SolveigMM Zond 265, ein HEVC/H.265- und AVC/H.264-Analysator.

image

Die Methodik des Codec-Vergleichs und der Parameterauswahl


Lassen Sie uns’die Methodik beschreiben. Der Vergleich wird anhand dieser Kriterien durchgeführt: Bitrate – Qualität (SSIM, PSNR) – Leistung. Die Methodik zum Vergleich der Korrelation von Bitrate/metrischer Qualität (siehe Punkt C4) ist wie folgt.
Wir wählen mehrere Bitratenwerte aus (z. B. 7 Werte: 1, 2, 4, 6, 8, 10 und 12 Mbit/s) und berechnen alle erforderlichen Qualitätsmetriken für jeden Codec.

Wir platzieren die Ausgabewerte im Diagramm: Qualitätsmetrik (horizontale Achse) – Bitrate (vertikale Achse).

  1. Wir führen eine lineare Interpolation durch.
  2. Wir wählen einen maximalen Bereich aus, in dem alle Diagramme definiert sind, und ermitteln Bereiche unter allen darin enthaltenen Diagrammen.
  3. Als einQualitätsmaß eines bestimmten Codecs (oder einer Voreinstellung) nehmen wir das Verhältnis seiner Fläche zur Fläche des Modellcodecs. Je kleiner der empfangene Wert ist, desto effektiver ist der Codec.

Als Modell wählen wir x265 mit der im Bericht gewählten Voreinstellung (Tabelle 1). Der Bericht verwendet eine frühere Version des Kompressors, die hier zu finden ist: x265 1.5+460-ac85c775620f. Allerdings bringt die neueste Version’keine radikalen Änderungen mit sich.
Die verwendeten Kompressor-Voreinstellungen sind in Tabelle 1 aufgeführt (für die Desktop-Plattform).

Tabelle 1. Einstellungen des x265-Kompressors im MSU HEVC Video Codec-Vergleichsbericht.
 
Rippen x265 -p veryslow --bitrate %BITRATE_KBPS% %SOURCE_FILE% -o %TARGET_FILE% --input-res %WIDTH%x%HEIGHT% --fps %FPS%
Universelle Kodierung x265 -p medium --bitrate %BITRATE_KBPS% %SOURCE_FILE% -o %TARGET_FILE% --input-res %WIDTH%x%HEIGHT% --fps %FPS%
Schnelle Transkodierung x265 -p ultrafast --ref 3 --bitrate %BITRATE_KBPS% %SOURCE_FILE% -o %TARGET_FILE% --input-res %WIDTH%x%HEIGHT% --fps %FPS%
 

Um voreingestellte Änderungsempfehlungen vorzuschlagen, führen wir einen Test aller voreingestellten Einstellungen durch, um deren individuelle Auswirkungen auf Qualität und Leistung zu bewerten. Hier ist der Aktionsplan:

  1. Wir kodieren die Datei, indem wir jeden voreingestellten Parameter ändern: von der schnellen Transkodierung bis zum universellen, vom universellen bis zum Rippen, während wir gleichzeitig die Kodierzeit einsparen.
  2. Wir berechnen das Qualitätsmaß (auf die gleiche Weise wie im obigen Bereich) und die referenzielle Codierungszeit (den minimalen Wert der FPS-Codierung für den „voreingestellten geänderten Parameter“ der Datei im Verhältnis zu allen ausgewählten Bitratenwerten).
  3. Aus der Tabelle bestehend aus veränderbarem Parameter, Qualitätsmaß und minimalem FPS wählen wir die Parameter aus, mit denen sich die Presets verbessern lassen.


Wir beschränken uns auf die Voreinstellungen für Universal Encoding und Ripping (Tabelle 2) und schalten die Parameter „-p medium“ und „-p ultrafast“ frei. Wir fügen außerdem zwei weitere hinzu, die im Bericht weggelassen wurden: „--keyint -1 --tune ssim“. Wir ergänzen die Voreinstellungen mit den genannten Parametern für eine schnelle bzw. universelle Transkodierung.

Tabelle 2. Parameter – Kandidaten für die Änderung der MSU HEVC Video Codec-Vergleichsberichtsvoreinstellungen.

 
Universelle Kodierung --rc-lookahead 20 --scenecut 40 --ctu 64 --min-cu-size 8 --bframes 4 --b-adapt 2 --subme 1 --me hex --early-skip --sao -- signhide --weightp --rd 3 --aq-strength 1.0 --aq-mode 1 --cutree --no-fast-intra
"„Ripping“" --weightb --amp --rect --rc-lookahead 40 --bframes 8 --tu-inter- Depth 3 --tu-intra- Depth 3 --rd 6 --rdoq 2 --psy-rdoq 1.0 - -subme 4 --max-merge 4 --me star --ref 5 --b-intra --lookahead-slices 0

 

Testen


Für die in der kostenlosen Version des Berichts verwendete Testsequenz „Apple Tree“ (Bild 1) ist kein Download-Link verfügbar. Wir’werden ein ähnliches Modell auswählen, dessen Hauptmerkmal – die Nahaufnahme ist, eine große Menge kleiner Details. Zum Beispiel „big_buck_bunny_1080p_h264.mov“, das Intervall von 338 Bildern ab Sekunde 24:

ffmpeg -i big_buck_bunny_1080p_h264.mov -ss 00:00:24 -frames:v 338 -c:v rawvideo -pix_fmt yuv420p sample.yuv

image

Bild. 1. Merkmale der Sequenz „Apfelbaum“"

Um die drei Schritte des obigen Plans zu realisieren und Zeit beim Kopieren der erforderlichen Zahlen aus der Zond 265-Schnittstelle zu sparen, ist es’praktisch, die Befehlszeilenfunktion zu verwenden (Tabelle 3):


zond265_x64 %COMPRESSED_FILE% -iref %REFERENCE_420P_FILE% -nowait -report t=quality,statstream qm=SSIM o=%TARGET_CSV_FILE%


Sie können die Liste aller Parameter und ihre vollständige Beschreibung auf der Zond 265-Seiteeinsehen.

Tabelle 3. Parameter der Zond 265-Befehlszeile, die für die Skriptkompilierung erforderlich sind.

Parameter Beschreibung
-iref Festlegen der Referenz-YUV-Datei
-bericht Angabe des Zond 265-Betriebsmodus in der Befehlszeile
t=Qualität,Statstream Erstellung von zwei ausgewählten Berichten: Qualitäts- und Videostream-Statistiken.
qm=SSIM Qualitätsmetrik zur Berechnung
ö Pfad zur Berichtsdatei im CSV-Format
-jetzt warten Pausenfrei. Zond 265 navigiert automatisch und ohne Verzögerung von Datei zu Datei.
 

Hier sind zwei Skripte für Python 2.7: eines für die Kodierung von 266 Dateien (20 Einstellungen für die erste, 18 Einstellungen für die zweite Voreinstellung, für 7 Bitratenwerte: 1, 2, 4, 6, 8 , 10, 12 Mbit/s), der andere für das Kompilieren eines Berichts im CSV-Format (die Datei – die Beziehung der FPS-Kodierung zur Modellkonfiguration – die Beziehung der SSIM-Metrik zur Modellkonfiguration). 

Wie Sie in den Berichtstabellen für das Dateifragment „big_buck_bunny_1080p_h264.mov“ (Tabellen 5 und 6) sehen können, können Konfigurationen geändert werden’, beispielsweise wie in Tabelle 4 angegeben Zur Erinnerung: Für bessere Ergebnisse sollte der Wert „Qualitätsmaß“ kleiner als eins und der Wert „Relative Codierungszeit“ – größer als eins sein.

Der Test wurde mit der folgenden Hardwarekonfiguration durchgeführt: Intel Core i7-2600@3,4 GHz, 16 GB RAM. Die größte Qualitätsverbesserung bei der Konfiguration der schnellen Kodierung bringt der Parameter „--min-cu-size 8“, bei universeller Kodierung’der Parameter „--rdoq-level 2“ (der allerdings langsamer wird). Codierung am meisten).

Tabelle 4. Ändern der Voreinstellungen des MSU HEVC Video Codec-Vergleichsberichts zur Verbesserung der Codierungseffizienz bei gleicher Codierungsgeschwindigkeit.

Schnelle Transkodierung x265 -p ultrafast --ref 3 --rc-lookahead 20 --min-cu-size 8 --bframes 4 --early-skip --cutree --tune ssim --bitrate %BITRATE_KBPS% %SOURCE_FILE% -o %TARGET_FILE% --input-res %WIDTH%x%HEIGHT% --fps %FPS%
Universelle Kodierung x265 -p medium --weightb --bframes 8 --tu-intra- Depth 3 --psy-rdoq 1.0 --b-intra --lookahead-slices 0 --tune ssim --bitrate % BITRATE_KBPS% %SOURCE_FILE% -o %TARGET_FILE% --input-res %WIDTH%x%HEIGHT% --fps %FPS%
 
 
Tabelle 5. Der Bericht über die Änderung der Voreinstellung für schnelle Transkodierung
image

Tabelle 6. Der Bericht über die Änderung der Voreinstellung der universellen Kodierung.

image
Sie können leicht überprüfen, ob die Optionen richtig ausgewählt wurden, indem Sie das Kodierungsskript mit geänderten Voreinstellungen starten (Tabelle 7).
 
Tabelle 7. Codierungseffizienz unter Verwendung geänderter Voreinstellungen im Verhältnis zu den Voreinstellungen des MSU HEVC Video Codec-Vergleichsberichts.
 
Aufbau Qualitätsmaßstab Relative Kodierungszeit
Schnelle Transkodierung (Modell) 1 1
Schnelle Transkodierung (modifiziert)  0,69  0,97
Universelle Transkodierung (Modell)  1  1
Universelle Transkodierung (modifiziert)  0,85  0,94
 

Lassen Sie uns’die Auswirkungen der Optionsänderung  – in Zond 265 bewerten. Wir öffnen die mit der geänderten Voreinstellung codierte Datei im schnellen Transkodierungsmodus für die Bitrate von 8 Mbit/s und vergleichen sie mit . Datei, die mit der unveränderten Voreinstellungcodiert ist. Die Größe der größten Kodierungseinheit bleibt unverändert und beträgt 32x32 (Feld „--ctu 32“). Allerdings verringert sich die Größe der minimalen Einheit von 16 auf 8 (Feld „--min-cu-size 8“). Dieser Parameter lieferte die größte Qualitätsverbesserung. Die Anzahl der B-Frames erhöhte sich von 3 auf 4 (Feld „—bframes“), allerdings erhöhte sich auch die maximale Anzahl der Referenzframes (Feld „--ref 4“). Das Feld „SSIM“ markiert zwei Maximalwerte für die Diagramme SSIM/PSNR für drei Komponenten: Helligkeit (Luma) und zwei Farbkomponenten (Cb, Cr). Ihre Werte stiegen von 0,9623-0,9966 auf 0,9771-0,9991. Die verbleibenden zusätzlichen Parameter (--rc-lookahead 20 --early-skip --cutree) beeinflussen den Kodierungsalgorithmus, nicht jedoch die Art des Ausgabevideos. Dies spiegelt sich hauptsächlich in der Kodierungsgeschwindigkeit wider (siehe Tabelle 5). Erwähnenswert ist’, dass sich das Bild des dekodierten Frames optisch verändert hat – Kodierungsartefakte werden nicht mehr angezeigt.

 
image

Bild. 2. Screenshot einer Zond 265-Datei, die mit der modifizierten schnellen Kodierungskonfiguration kodiert wurde

Sie können die Parameter der kodierten Datei auch mit einer modifizierten und unmodifizierten universellen Kodierungsvoreinstellung überprüfen (Abb. 3). Die Größe der minimalen TU’-Partitionen hat sich nicht geändert und beträgt weiterhin 4x4 (Feld „--tu-intra- Depth 3“), die Anzahl der B-Frames ist ebenfalls unverändert geblieben und beträgt 3 (Feld „--bframes“) 3"). SSIM stieg von 0,9789-0,9994 auf 0,9811-0,9992. Im Vergleich zur Schnelltranskodierungskonfiguration hat sich die Größe der maximalen Einheit erhöht und beträgt nun 64x64 (Feld „--ctu 64“), der SAO-Filter wurde hinzugefügt (Feld „--sao“).

image

Bild. 3. Screenshot der Zond 265-Datei, die mit einer modifizierten universellen Kodierungskonfiguration kodiert wurde

Als Ergebnis der durchgeführten Tests schlagen wir eine Liste von Optionen zur Verbesserung der Kodierungseffizienz (Verbesserung des SSIM-Metrikwerts bei gleicher Bitrate und Kodierungsgeschwindigkeit) für die schnellen und universellen Kodierungskonfigurationen vor. Unter Verwendung vorgeschlagener Änderungen für die Datei mit vielen kleinen Details verbesserte sich der Wert des integralen „Qualitätsmaßes“ des MSU HEVC Video Codec-Vergleichsberichts um 31 % bei der schnellen Transkodierung und um 15 % bei der universellen Transkodierung, mit einem unbedeutenden Wert Änderung der Kodierungsgeschwindigkeit. Da der Test für jede Option separat durchgeführt wurde, ist es in der Praxis nur sinnvoll, mehrere praktische Optionen auszuwählen und nicht die gesamte Vorschlagsliste.

Verweise

  1. Vergleich der HEVC-Videocodecs
  2. Blender Foundation | www.blender.org
  3. Zond 265 Homepage

 

TRY ZOND 265 FREE

 

 

Über den Autor

imageOlga Krovyakova ist seit 2010 Technical Support Manager bei Solveig Multimedia.

Sie ist Autorin zahlreicher Text- und Video-Richtlinien für Produkte: Video Splitter, HyperCam, WMP Trimmer Plugin, AVI Trimmer+ und TriMP4.

Sie arbeitet jeden Tag mit Programmen und weiß daher sehr gut, wie sie funktionieren. Wenden Sie sich bei Fragen an Olga über support@solveigmm.com.

Sie hilft Ihnen gerne weiter!