Nell'imminenza dell'arrivo del nuovo aggiornamento per la Gh5 che permetterà la cattura a 400 mbps ALL-I, mi ero ripromesso di fare dei test per valutarne l'effettiva convenienza.
Devo ammettere che ero convintissimo che il codec ALL-I visto il bitrate 2,66 volte maggiore sarebbe stato comunque pari o migliore della versione IPB.
Purtroppo, questo test da un risultato meno netto di quanto mi aspettavo. Ovviamente poi varranno i test fatti sul campo, ma questo può essere indicativo.
Partiamo da come è stato fatto il test. Per ragioni varie che poi spiegherò ci sono alcune criticità, per cui è da prendere con le pinze, ma i valori che ho ottenuto sono oggettivi.
Innanzitutto, lo spezzone video che ho utilizzato per il test è il seguente:
https://vimeo.com/227042404 ma nella versione v-log, ovvero come uscito dalla macchina:
vlog.jpg (109.91 KiB) Visto 7011 volte
La ripresa è stata fatta in ottobre sulla foce del Po, girata a 4K con la Gh4 e registrata su recorder esterno in 422 10 bit. Sono partito da un file di questi tipo per avere la massima qualità possibile in partenza e non avere artefatti da successive compressioni h264.
Il test fatto in pratica misura il PSNR, ovvero effettua un confronto tra il file originale e quello compresso per valutarne la differenza. Non avendo un tool in grado di processare file a 4K, e a dire il vero nemmeno in HD, ho creato un file a 1024 X 540 ed ho ridotto i bitrate all'incirca in proporzione. Per cui, il file IPB è stato compresso a 10 mbps, quello ALL-I a 26,66 Mbps per rispettare le proporzioni tra i 150 mbps e i 400 prossimi venturi della Gh5.
In pratica, questo è il risultato:
test_finale.png (110.47 KiB) Visto 7011 volte
La linea rossa rappresenta il PSNR del file IPB, quella verde il file ALL-I.
Come si può vedere, la linea rossa rimane generalmente più bassa della linea verde, denunciando una generale migliore qualità generale della compressione. Unica eccezione, nei fotogrammi I dove nella versione IBP il picco sale più in alto del corrispondente file ALL-I. Risultato peraltro ovvio, dato che quei fotogrammi sono compressi in modo totalmente identico e quindi il bitrate più alto fa la differenza.
Ho fatto però una ulteriore prova, usando dei bitrate più bassi per simulare una situazione più complessa. Anzichè usare un bitrate di 10 mps e di 26,66 mbps ho provato a dimezzare (mantenendo le proporzioni). Il risultato è decisamente diverso:
test_low_bitrate.png (149.63 KiB) Visto 7011 volte
Qui si comincia a vedere un generale cedimento della codifica IPB specialmente in corrispondenza degli I-frame, mentre la codifica all-I mantiene una qualità più costante anche se mediamente simile. In alcuni punti, verso la fine del filmato la versione ALL-I mantiene sempre una qualità più alta.
Conclusioni:
Non ne traggo per ora. Diciamo che da questi risultati, sembra che a meno di situazioni particolarmente gravose per la compressione, presenza di dettagli, movimenti veloci ecc la compressione IPB è molto simile se non migliore della ALL-I ma con una occupazione di spazio inferiore. Probabilmente in casi più estremi la ALL-I potrebbe essere consigliabile.