Protocolli Avanzati – H264 vs H265

2019-12-05T11:51:24+01:004 Dicembre 2019|

Negli ultimi anni la vera rivoluzione all’interno del panorama del web è la quantità di contenuto multimediale che viene scambiato. Di fatto, oggi la maggior parte del traffico internet riguarda la fruizione di video e quindi di streaming. Statistiche relative al 2018 affermano come il 58% del traffico mondiale riguardi il downstream di contenuti video. Uno degli elementi che ha contribuito a questa evoluzione è stata senz’altro la diffusione di connessioni internet a banda maggiore, con la disponibilità sempre più vasta di connessioni in fibra o adsl veloci, senza scordarci le connessioni mobile che con il 5g stanno movimentando gli sviluppi futuri.

Non è solo una questione di infrastruttura, ma anche di nuovi protocolli: di fatto, la ricerca per trovare il miglior compromesso tra banda consumata e qualità video sta continuando. Ad oggi il protocollo più promettente per diventare il nuovo standard per l’encoding dei contenuti multimediali prende il nome di HEVC/H.265, superando lo standard de facto H.264.

HEVC/H.265 permette un 50% di riduzione dello spazio necessario per memorizzare il video in quanto utilizza una codifica efficiente per codificarlo, mantenendo un alto livello di qualità di immagine.

TecnologiaBanda Richiesta per Broadcasting 4K
H.26432 mbs
H.26515 mbs

 

Per saperne di più, vai al link.

Lo standard HEVC/H.265 è già stato descritto e finalizzato, ma non è ancora molto diffuso. Il nuovo codec video, infatti, ha due limitazioni che ad oggi non consentono ancora la sua diffusione massiva: la prima è di tipo legale, in quanto è sotto brevetto di varie società e quindi richiede un alto costo di licenza. L’altra, invece, riguarda il costo computazionale, di fatto l’encoding utilizzando HEVC/H.265 richiede circa dieci volte il costo computazionale del codec H.264.

È probabile che stia avvenendo lo stesso processo avvenuto in precedenza con il codec H.264, che lanciato nel 2003 si è diffuso solamente anni dopo, quando tutti i vari produttori hardware hanno cominciato ad inserire decoder specifici per tale formato. Esistono da tempo software che permettono il decoding software di HEVC/H.265, ma questa soluzione rende di fatto molto dispendiosa la decodifica in termini di tempo computazionale e di consumo di batteria nel caso di dispositivi mobili.

Entrambi i codec di compressione video lavorano comparando le differenze fra frame consecutivi, identificando quelle aree comuni costanti. Tali aree delle immagini vengono poi sostituite con delle informazioni che descrivono i pixel originali. La grande differenza tra HEVC/H.265 è l’abilità di espandere queste aree (chiamate CTU coding tree unit) in maniera dinamica, con dimensioni che variano da 4×4 a 64×64, mentre H.264 si limita ad un massimo di 16×16. Il miglioramento della segmentazione e della predizione spaziale richiede però più capacità computazionale per la parte di encoding, mentre non impatta troppo sulla parte di decodifica. HEVC/H.265 è in grado inoltre di referenziare blocchi di pixel all’interno dello stesso frame (intra prediction) o in frame differenti (inter prediction).

Anche i sistemi di virtualizzazione del desktop da sempre traggono benefici dal miglioramento dei sistemi di streaming. Dal punto di vista tecnico, le tecnologie impiegate sono molto simili. Per questo motivo dalla versione 7.16, Citrix, nel suo prodotto XenApp and XenDesktop ha introdotto la possibilità di utilizzare la codifica HEVC/H.265 per lo streaming del desktop.

Il setup richiede di avere una scheda NVIDIA in grado di supportare l’encoding HEVC/H.265 (vai al link). Generalmente quando si parla di installazioni enterprise le schede grafiche che possono consentire un accesso multiplo alla loro potenza di calcolo sono molto costose, ma per avere un laboratorio di prova in realtà non è necessario possedere una di queste schede grafiche. È possibile di fatto utilizzare una scheda NVIDIA di tipo consumer ed accedere al PC fisico tramite il Citrix Workspace App and Desktop.

Per il setup dell’ambiente di test che utilizzi la codifica HEVC/H.265 ho seguito il seguente link. Nello schema invece riporto le componenti hardware/virtuali utilizzate.

Nel video di esempio, il risultato finale del setup. Collegandomi attraverso il Workspace App, riesco a riprodurre video a risoluzione 4K senza problemi: