Quali codec video sono i migliori per la compressione?
La risposta breve alla tua domanda è, per la compressione per scopi generali, Daala, VP9, o HEVC, a partire dal 2016.
[Modifica: ora siamo nel 2019, e AV1 è probabilmente l'opzione migliore. È un codec aperto senza diritti d'autore che gode di una rapida diffusione, mantenuto dalla Alliance for Open Media, una sorta di fusione dei codec VP10, Daala e Thor, che incorpora idee da ciascuno. Il resto di questa risposta è mantenuto per la prospettiva.]
La quantità di compressione, ad un particolare livello di qualità (come percepito dagli esseri umani), è il criterio principale su cui vengono giudicati i codec video. Ci sono diversi metodi per stimare la percezione della distorsione video, come PSNR e SSIM, e quindi il vincolo della qualità può essere un po' inesatto. Inoltre, alcuni codec competono meglio in uno scenario di bassa qualità/alta compressione, e alcuni fanno meglio in uno scenario di alta qualità/bassa compressione. Inoltre, diversi codec sacrificano la qualità in modi diversi. Per queste ragioni, e perché lo sviluppo dei codec è un'area attiva di ricerca e competizione, non ci può essere un'unica risposta indiscussa.
Tuttavia, un tema generale è che i codec più recenti raggiungono una migliore compressione.
Un video non compresso memorizzerebbe, diciamo, 24 bit (8 rossi, 8 verdi e 8 blu) per ogni pixel di un'immagine, quindi un video 720p a 30fps che dura 1 ora richiederebbe un'enorme quantità di spazio, circa 300 GB. Questo è solo il video, senza audio, indicizzazione o altri imballaggi.
La linea di standard MPEG offre una storia illustrativa. Quando i DVD uscirono per la prima volta, la tecnologia di compressione era progredita abbastanza da poter ridurre quei 24 bpp a 0,4 bpp compressi, con una qualità ragionevole, usando l'MPEG-2, che all'epoca era piuttosto buono. Così lo stesso video avrebbe richiesto solo circa 5 GB invece di 300 GB. Anni dopo, H.264 era diventato una pratica accettata, e tassi di compressione coerenti di 0,2 bpp o meglio (con alta qualità) erano la norma. Oggi, HEVC (aka H.265 o MPEG-H) sta gradualmente guadagnando trazione sul mercato, e offre una serie di innovazioni che permettono una buona qualità video a soli 0,1 bpp. Questo è un livello di compressione con cui nemmeno H.264 può competere. D'altra parte, il supporto di H.264 è onnipresente.
Ma la linea di standard MPEG non è l'unica opzione.
On2 Technologies (acquisita da Google) ha una linea di codec (VP2..VP9) con prestazioni competitive. VP8 e VP9 sono popolari sul web (vedi WEBM) e possono essere usati senza royalty (a differenza di HEVC, che ha termini di licenza ancora più costosi e complicati di H.264), anche se è un sistema di licenze incrociate in cui si usano i brevetti di Google gratuitamente in cambio di non fargli causa per i brevetti. VP9 ha meno richiesta computazionale nella decodifica (riproduzione), ma può essere più costoso durante la codifica, anche se i moderni chipset x86 e ARM hanno il supporto per l'accelerazione hardware sia di VP9 che di HEVC.
Se stai cercando qualcosa di completamente libero e aperto (ad esempio stai lavorando su un sistema operativo liberamente distribuito come Linux e non ti è permesso legalmente di includere software gravato da brevetti), Xiph.org ha un'intera linea di codec, di cui l'offerta più recente e più performante è Daala. Ha l'obiettivo esplicito di battere HEVC usando tecniche di compressione video standard - un obiettivo su cui sembra aver fatto bene. C'è anche il codec Dirac, anch'esso libero come la libertà, che ha il sostegno della BBC, e cerca di reinventare la compressione video usando metodi nuovi di zecca.
Queste sono solo le mie opinioni personali sulle iniziative di più alto profilo, ma ce ne sono molte.
Articoli simili
- Come ingegnere di mastering, qual è l'uso di MP3 e altri codec lossy? I codec lossless non sarebbero sempre più desiderabili per i clienti?
- Quali sono i diversi tipi di codec video e quali sono le loro forme complete?
- Quali sono le principali differenze tra questi formati video: mp4, codec H.264, 1080p 60, 48, 30, 24 fps?
- Cosa significa "codec video non supportato"?