Über uns Produkte Support FAQ Bloggen

So validieren Sie HEVC-Streams mit Zond 265

image

 

   Von Olga Krovyakova - geändert am 9. Oktober 2023, erstellt am 2. April 2019.

Was zu überprüfen ist

So prüfen Sie mit Zond 265

Registerkarte „Bitstream“

Registerkarte „Fehler“

Analyse der CPB-Puffergröße

Generieren von Berichten über die Befehlszeilenschnittstelle

Verweise

 

TESTEN SIE ZOND 265 KOSTENLOS

 

button

Was zu überprüfen ist

Beim Entwickeln, Optimieren und Testen von HEVC-Codec-Komponenten (High Efficiency Video Coding) stehen Forscher vor der Aufgabe der Videostream-Validierung. Um eine Datei oder einen Stream in einem beliebigen Player korrekt abzuspielen, reicht es nicht aus, nur zu überprüfen, ob sie von einem speziellen Referenztool korrekt dekodiert wurde. Darüber hinaus müssen Sie feststellen, ob der getestete Videostream der HEVC-Spezifikation [1]entspricht.

Für HEVC gibt es ein spezielles ISO-Dokument, das beschreibt, wie Videostreams und Decoder überprüft werden:

Informationstechnologie – Hocheffiziente Codierung und Medienbereitstellung in heterogenen Umgebungen – Teil 5: HEVC-Konformitätstests und Referenzsoftware [2].

Der Validierungsprozess kann in mehrere Phasen unterteilt werden. Ein negatives Testergebnis einer der Bedingungen führt zu einem Fehler. Die Konditionsarten lassen sich in drei Gruppen einteilen:

  1. einschränkungen, die in der HEVC-Spezifikation beschrieben sind
  2. um den Stream mit dem Dienstprogramm von HEVC Test Model (HM) Projekt [3]zu dekodieren, um alle Warnungen auszuschreiben
  3. zulässigkeit und Änderung grundlegender Parameter des Videos: Bildauflösung und Bildrate

Die in der HEVC-Spezifikation beschriebenen Einschränkungen sind wie folgt:

–  maximal- und Minimalwerte der NAL-Einheitsparameter (Network Abstraction Layer)
–  kompatibilität jedes Parameters mit anderen
–  gültigkeit der Reihenfolge der NAL-Einheiten, Gültigkeit der Struktur des Streams
–  einschränkungen der angegebenen Ebene und des angegebenen Profils
–  verfügbarkeit von Dekodierungsparametern einer Videosequenz – Videoparametersatz (VPS), Sequenzparametersatz (SPS), Bildparametersatz (PPS) und für die Rekonstruktion benötigte Frames
–  parameter des hypothetischen Referenzdecoders (HRD), die die Wiedergabe des Streams in Echtzeit beeinflussen

So prüfen Sie mit Zond 265

Beispielsweise wird die Datei «tractor_1920x1080p_25fps.yuv» [5] vom HM-Kompressor codiert und dann werden in einer komprimierten Datei einige Parameter von NAL-Einheiten in einem HEX-Editor angepasst, um einen Teil der potenziellen Fehler mithilfe der Hervorhebung abzudecken Funktion von Zond 265. Anschließend wird das Ergebnis validiert. Es ist nicht möglich, die Parameter der Datei so zu ändern, dass alle Einschränkungen verletzt werden. Daher werden nur einige Einschränkungen ausgewählt.

Bitstrom

Für eine detaillierte Analyse der gefundenen Fehler ist es besser, den Inhalt der Bitstream-Registerkarte zu verwenden. Sobald eine Datei geöffnet wurde, sollten alle NAL-Einheiten mit allen Parametern auf der Registerkarte „Bitstream“ aufgelistet sein. Beim Dekodieren Zond 265

1) überprüft die in der Spezifikation beschriebenen Einschränkungen;
2) sammelt alle Warnungen, die im Dekodierdienstprogramm HM aufgetreten sind.

Wenn etwas schief geht, erscheint eine Benachrichtigung neben der entsprechenden NAL-Einheit. Die Benachrichtigung enthält den Namen der NAL-Einheit, ihren Offset im Stream, den Bit-Offset des Parameters’, an dem ein Fehler gefunden wurde, und einen Link zur Spezifikationsseite (sie wird in einem neuen Browserfenster geöffnet), wo Sie ihn finden können die Details.

Sie können eine Reihe von Fehlerlisten von Slice B (Frame 0), SPS, Slice B (Frame 4) nacheinander erweitern, indem Sie auf das rote Symbol mit dem Ausrufezeichen klicken.

Abbildung 1 zeigt die Liste aller im SPS gefundenen Fehler.

image

Abbildung 1. Fenster mit Fehlerliste der Registerkarte „Bitstream“

Anschließend können Sie die SPS-Liste erweitern und Parameterwerte und Fehler untersuchen (Abbildung 2).

image

Abbildung 2. Fehlermeldung für einen einzelnen Parameter von SPS

Das Ergebnis der SPS-Parameterprüfung wird unten beschrieben.

Nachricht Beschreibung
Der Wert von sps_max_sub_layers_minus1 muss im Bereich von 0 bis einschließlich 6 liegen. Es ist gleich 7 Es handelt sich um eine Einschränkung der Spezifikation. Der Typ prüft den Maximalwert
Wenn vps_temporal_id_nesting_flag gleich 1 ist, muss sps_temporal_id_nesting_flag gleich 1 sein Es handelt sich um eine Einschränkung der Spezifikation. Der Typ prüft die Kompatibilität jedes Parameters mit anderen
Der Wert von pic_width_in_luma_samples muss kleiner oder gleich Sqrt( MaxLumaPs * 8 ) sein, angegeben für general_level_idc. Laut Spezifikation sollte der Wert von pic_width_in_luma_samples für Level 2.1 nicht größer als 1402 sein Es handelt sich um eine Einschränkung der Spezifikation. Der Typ überprüft die für ein bestimmtes Profil und eine bestimmte Ebene angegebenen Einschränkungen

Anschließend erweitern Sie einen Ausschnitt des ersten Frames (Abbildung 3).

image

Abbildung 3. Fehlerliste für ein Segment von Frame 0

Fehler aufgrund der Unzugänglichkeit von Decodierungsparametern werden in einer Fehlerliste des ersten Frames angezeigt.

Nachricht Beschreibung
Es ist kein aktiver VPS verfügbar
Es ist kein aktives SPS verfügbar
Es handelt sich um eine Einschränkung der Spezifikation. Der Typ prüft die Zugänglichkeit von Dekodierungsparametern

Sie erweitern eine Fehlerliste von Frame 4 (Abbildung 4).

image

Abbildung 5. Liste aller Fehler einer Datei mit Kontextmenü

Das Ergebnis der Validierung von Frame 4 wird unten beschrieben.

Nachricht Beschreibung
Kurzzeit-Referenzbild mit POC = 2 geht verloren oder wird nicht korrekt dekodiert Es handelt sich um eine Einschränkung der Spezifikation. Der Typ prüft die Verfügbarkeit der für die Rekonstruktion benötigten Frames
 

Registerkarte „Fehler“

Es ist besser, den Inhalt der Registerkarte „Fehler“ zu verwenden, wenn alle Fehler in einer Datei gefunden und nach ihrem Typ sortiert werden müssen. Fehlermeldungen werden sowohl für den aktuellen Frame als auch für den gesamten Stream in Listen auf der Registerkarte gesammelt (Abbildung 5).

image

Abbildung 6. CPB-Füllungsdiagramm, basierend auf HRD-Daten, die in SEI-Nachrichten verfügbar sind

image

Abbildung 7. CPB-Fülle-Diagramm, basierend auf einem manuellen Datensatz

Analyse der CPB-Puffergröße

Diagramme der Fülle des Coded Picture Buffer (CPB), die auf dem Hypothetical Reference Decoder (HRD) verfügbar sind, werden benötigt, um Probleme (z. B. Verzögerungen) bei der Wiedergabe von Videostreams über ein Netzwerk mit geringer Bandbreite zu identifizieren. Als Informationsquelle können die in SEI-Nachrichten (Supplemental Enhancement Information) aufgezeichneten Daten (Anfangsverzögerung, Bitrate usw.) verwendet werden oder diese Daten können manuell eingestellt werden. Überlauf- oder Unterlaufbereiche (rot hervorgehoben) weisen auf ein Problem im Intervall hin (Abbildung 6, Abbildung 7). Bei Problemen beim Zeichnen von Diagrammen wird die entsprechende Fehlermeldung in den Registerkarten „Bitstream“ und „Fehler“ angezeigt.

image

Abbildung 8. In Google Spreadsheets importierter Fehlerbericht

Generieren von Berichten über die Befehlszeilenschnittstelle


Das Generieren von Berichten über die Befehlszeilenschnittstelle ist nützlich, wenn ein Videostream automatisch validiert werden soll. Um einen Bericht zu erstellen, sollten Sie Zond 265 mit den folgenden Parametern starten.

Parameter Beschreibung
-bericht Gibt an, dass Zond 265 im Berichtserstellungsmodus arbeiten soll
t=Fehler Legt den Berichtstyp fest
o= Legt den Pfad der Ausgabe-CSV-Datei fest. Es ist standardmäßig gleich “out.csv&rdquo

Um beispielsweise die Datei «traktor.265» auf Fehler zu analysieren und sie in den Dateien «traktor-errors.csv», zu speichern, müssen Sie den folgenden Befehl ausführen:

zond265.exetractor.265 -report t=errors o=”tractor-errors.csv”

Als Ergebnis erhalten Sie eine CSV-Datei, die in die Tabellenverarbeitungssoftware importiert werden kann. Abbildung 8 zeigt die Datei “tractor-errors.csv” , die in Google Spreadsheets importiert wurde.

Verweise

1. HEVC-Spezifikation – http://www.itu.int/rec/T-REC-H.265
2. «Informationstechnologie – Hocheffiziente Codierung und Medienbereitstellung in heterogenen Umgebungen – Teil 5: HEVC-Konformitätstest- und Referenzsoftware»  – http://mpeg.chiariglione.org/standards/mpeg-h/hevc-conformance- Prüfung/Arbeitsentwurf-HEVC-Konformität
3. HM-Projekthomepage – https://hevc.hhi.fraunhofer.de/
4. Zond 265 Heimprojekt – https://www.solveigmm.com/en/products/zond/
5. Testsequenz-URL – https://media.xiph.org/ldv/pub/test_sequences/1080p/tractor.yuv

 

 

TESTEN SIE ZOND 265 KOSTENLOS

 

  • https://www.solveigmm.com/en/howto/netflix-vmaf-how-to-measure-video-quality-with-vmaf-in-zond-265/
  • https://www.solveigmm.com/en/howto/zond-265-tutorial/

 

Ü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!