Chi siamo Prodotti Supporto Blog

Come convalidare i flussi HEVC con Zond 265

image

 

  By Olga Krovyakova - modified October 9, 2023, created April 2, 2019.

Cosa controllare

Come controllare con Zond 265

Scheda Bitstream

Scheda Errori

Analisi della dimensione del buffer CPB

Generazione di report tramite interfaccia a riga di comando

Riferimenti

 

PROVA ZOND 265 GRATIS

 

button

Cosa controllare

Durante lo sviluppo, la messa a punto e il test dei componenti codec HEVC (High Efficiency Video Coding), i ricercatori devono affrontare il compito di convalida del flusso video. Per riprodurre correttamente un file o uno streaming su qualsiasi lettore, non è sufficiente verificare se è stato decodificato correttamente da uno speciale strumento di riferimento. Inoltre, è necessario determinare se il flusso video testato è conforme alla specifica HEVC [1].

Per HEVC, esiste uno speciale documento ISO che descrive come controllare i flussi video e i decoder:

Tecnologia dell'informazione - Codifica ad alta efficienza e distribuzione multimediale in ambienti eterogenei - Parte 5: test di conformità HEVC e software di riferimento [2].

Il processo di validazione può essere suddiviso in più fasi. Un risultato negativo del test di una delle condizioni risulterà in un errore. I tipi di condizioni possono essere suddivisi in tre gruppi:

  1. restrizioni descritte nelle specifiche HEVC
  2. per decodificare il flusso mediante l'utilità del progetto HEVC Test Model (HM)  [3], per scrivere tutti gli avvisi
  3. ammissibilità e modifica dei parametri di base del video: risoluzione dei fotogrammi e frequenza dei fotogrammi

Le restrizioni descritte nelle specifiche HEVC sono le seguenti:

–  valori massimi e minimi dei parametri dell'unità Network Abstraction Layer (NAL)
–  compatibilità di ciascun parametro con gli altri
–  validità dell'ordine delle unità NAL, validità della struttura del flusso
–  restrizioni di livello e profilo specificati
–  disponibilità dei parametri di decodifica di una sequenza video: set di parametri video (VPS), set di parametri di sequenza (SPS), set di parametri di immagine (PPS) e fotogrammi necessari per la ricostruzione
–  parametri dell'ipotetico decoder di riferimento (HRD), che influenzano la riproduzione dello streaming in tempo reale

Come controllare con Zond 265

Ad esempio, il file «trattore_1920x1080p_25fps.yuv» [5] è codificato dal compressore HM e quindi, in un file compresso, alcuni parametri delle unità NAL vengono ottimizzati in un editor HEX per coprire parte dei potenziali errori con l'aiuto dell'evidenziazione caratteristica di Zond 265. Quindi il risultato viene convalidato. È impossibile modificare i parametri del file in modo che tutte le restrizioni vengano violate. Quindi vengono selezionate solo diverse restrizioni.

Bitstream

È preferibile utilizzare il contenuto della scheda Bitstream per un'analisi dettagliata degli errori rilevati. Una volta aperto un file, tutte le unità NAL con tutti i parametri dovrebbero essere elencate nella scheda Bitstream. Durante la decodifica, Zond 265

1) verifica i vincoli descritti nella specifica;
2) raccoglie tutti gli avvisi emersi nell'utilità di decodifica HM.

Se qualcosa va storto, apparirà una notifica vicino all'unità NAL corrispondente. La notifica include il nome dell'unità NAL, il suo offset nel flusso, l'offset del bit del parametro’in cui viene rilevato un errore e un collegamento alla pagina delle specifiche (verrà aperto in una nuova finestra del browser) dove è possibile trovare i dettagli.

È possibile espandere in successione una serie di elenchi di errori di Slice B (frame 0), SPS, Slice B (frame 4) cliccando sull'icona rossa con il punto esclamativo.

La Figura 1 mostra l'elenco di tutti gli errori riscontrati nell'SPS.

image

Figura 1. Finestra con elenco errori della scheda Bitstream

È quindi possibile espandere l'elenco SPS ed esplorare i valori dei parametri e gli errori (figura 2).

image

Figura 2. Messaggio di errore per un singolo parametro di SPS

Il risultato del controllo dei parametri PLC è descritto di seguito.

Messaggio Descrizione
Il valore di sps_max_sub_layers_minus1 deve essere compreso tra 0 e 6 inclusi. È uguale a 7 È una restrizione delle specifiche. Il tipo sta controllando il valore massimo
Quando vps_temporal_id_nesting_flag è uguale a 1, sps_temporal_id_nesting_flag sarà uguale a 1 È una restrizione delle specifiche. Il tipo verifica la compatibilità di ciascun parametro con gli altri
Il valore di pic_width_in_luma_samples deve essere inferiore o uguale a Sqrt( MaxLumaPs * 8 ), specificato per general_level_idc. Dalle specifiche, il valore di pic_width_in_luma_samples non deve essere maggiore di 1402 per il livello 2.1 È una restrizione delle specifiche. Il tipo sta controllando le restrizioni specificate per un dato profilo e livello

Quindi espandi una porzione del primo fotogramma (figura 3).

image

Figura 3. Elenco degli errori per una porzione del fotogramma 0

Gli errori di inaccessibilità dei parametri di decodifica sono presentati in un elenco di errori del primo frame.

Messaggio Descrizione
Non è disponibile alcun VPS attivo
Non è disponibile alcun SPS attivo
È una restrizione delle specifiche. Il tipo sta verificando l'accessibilità dei parametri di decodifica

Si espande un elenco di errori del frame 4 (figura 4).

image

Figura 5. Elenco di tutti gli errori di un file con un menu contestuale

Il risultato della convalida del frame 4 è descritto di seguito.

Messaggio Descrizione
L'immagine di riferimento a breve termine con POC = 2 è persa o non decodificata correttamente È una restrizione delle specifiche. La tipologia sta verificando la disponibilità dei telai necessari per la ricostruzione
 

Scheda Errori

È preferibile utilizzare il contenuto della scheda Errori quando è necessario trovare tutti gli errori in un file e ordinarli in base al tipo. I messaggi di errore vengono accumulati sia per il frame corrente che per l'intero flusso negli elenchi della scheda (figura 5).

image

Figura 6. Grafico della pienezza del CPB tracciato, basato sui dati HRD disponibili nei messaggi SEI

image

Figura 7. Grafico della pienezza del CPB tracciato, basato sui dati impostati manualmente

Analisi della dimensione del buffer CPB

I grafici della pienezza del Coded Picture Buffer (CPB) disponibili sull'Hypotetical Reference Decoder (HRD) sono necessari per identificare i problemi (ad esempio ritardi) durante la riproduzione di flussi video su una rete con una larghezza di banda ridotta. Come fonte di informazioni, è possibile utilizzare i dati registrati nei messaggi SEI (Supplemental Enhancement Information) (ritardo iniziale, bit rate, ecc.) oppure è possibile impostare manualmente questi dati. Le aree di overflow o underflow (evidenziate in rosso) indicano un problema nell'intervallo (figura 6, figura 7). In caso di problemi durante il disegno dei grafici, il messaggio di errore corrispondente verrà visualizzato nelle schede Bitstream ed Errori.

image

Figura 8. Rapporto sugli errori importato in Fogli di calcolo Google

Generazione di report tramite interfaccia a riga di comando


La generazione di report tramite l'interfaccia della riga di comando è utile quando un flusso video deve essere convalidato automaticamente. Per generare un report è necessario avviare Zond 265 con i parametri seguenti.

Parametro Descrizione
-rapporto Afferma che Zond 265 dovrebbe funzionare in modalità di generazione di report
t=errori Imposta il tipo di rapporto
o= Imposta il percorso del file CSV di output. Per impostazione predefinita è uguale a “out.csv&rdquo

Ad esempio, per analizzare gli errori nel file «linear.265» e salvarli nel file «linear-errors.csv», è necessario eseguire il comando:

zond265.exe trattore.265 -report t=errori o=”trattore-errori.csv”

Di conseguenza si ottiene un file CSV che può essere importato nel software del processore da tavolo. La Figura 8 mostra il file “drawer-errors.csv” importato in Fogli di calcolo Google.

Riferimenti

1. Specifica HEVC – http://www.itu.int/rec/T-REC-H.265
2. «Tecnologia dell'informazione - Codifica ad alta efficienza e distribuzione multimediale in ambiente eterogeneo - Parte 5: Test di conformità HEVC e software di riferimento»  – http://mpeg.chiariglione.org/standards/mpeg-h/hevc-conformance- test/conformità-bozza-di-lavoro-hevc
3. Home page del progetto HM – https://hevc.hhi.fraunhofer.de/
4. Progetto casa Zond 265 – https://www.solveigmm.com/en/products/zond/
5. URL della sequenza di test – https://media.xiph.org/ldv/pub/test_sequences/1080p/tractor.yuv

 

 

PROVA ZOND 265 GRATIS

 

 

 About the author

imageOlga Krovyakova is the Technical Support Manager in Solveig Multimedia since 2010.

She is the author of many text and video guidelines of company's products: Video Splitter, HyperCam, WMP Trimmer Plugin, AVI Trimmer+ and TriMP4.

She works with programs every day and therefore knows very well how they work. Сontact Olga via support@solveigmm.com if you have any questions. She will gladly assist you!