Cos'è HEIC, e conviene tenerlo o passare a JPEG?
Il telefono salva file .heic e sul portatile non si apre niente. Cosa sono, e mi servono?
Che cosa significa HEIC
HEIC di solito sta per High Efficiency Image Container. L'estensione .heic identifica un file immagine della famiglia HEIF, che di norma contiene pixel codificati con HEVC. Nell'uso quotidiano si dice HEIC intendendo il file della foto dell'iPhone, anche se HEIF è lo standard del contenitore e HEVC è di solito il codec di compressione che sta dentro.
Questa distinzione spiega perché cambiare .heic in .jpg non converte la foto. L'estensione del file è solo un'etichetta: il software continua a trovare all'interno una struttura HEIF e dati immagine compressi con HEVC. Una conversione vera deve decodificare quei pixel e codificare un nuovo file JPEG, PNG o WebP.
HEIC è un contenitore, non un codec
Un file .heic è un file HEIF: lo High Efficiency Image File Format, standardizzato come ISO/IEC 23008-12. HEIF è un contenitore costruito sulla stessa struttura ISO base media file che usa MP4. Stabilisce come immagini, miniature, mappe di profondità, sequenze di immagini e metadati sono disposti dentro un file, ma non stabilisce come sono codificati i pixel.
Nei file prodotti da un iPhone i pixel sono codificati con HEVC, noto anche come H.265, il codec video standardizzato come ITU-T H.265. È da lì che vengono sia i vantaggi sia i problemi del formato: in pratica stai conservando una fotografia come singolo fotogramma di un codec video moderno.
Perché il telefono l'ha scelto
HEVC ha strumenti di predizione intra-frame che il progetto del 1992 di JPEG non ha, quindi a parità di qualità visiva richiede in genere meno bit. La memoria di un telefono è limitata, le librerie di foto no, quindi quel risparmio per un produttore di dispositivi vale soldi veri. Il contenitore permette inoltre a un solo file di contenere più immagini collegate — i fotogrammi di una raffica, lo scatto fisso e la breve clip di una Live Photo, un canale alfa o di profondità — invece di spargerle in una cartella.
C'è un secondo vantaggio che per alcuni conta più della dimensione: HEIF supporta più di 8 bit per canale. Un'immagine a 10 bit ha molto più margine nelle sfumature, ed è per questo che cieli e incarnati reggono la post-produzione meglio di quanto farebbero in un JPEG a 8 bit.
Perché gli altri tuoi software si rifiutano di aprirlo
HEVC è un codec brevettato con obblighi di licenza per i decoder. È un fatto legale e commerciale, non tecnico, ed è la ragione principale per cui il supporto è disomogeneo: alcuni sistemi operativi includono un decoder, altri lo includono solo quando è presente un decoder hardware, e alcuni browser decodificano HEIC mentre altri no. Un file che si apre all'istante sul telefono che l'ha scattato può risultare illeggibile su una macchina a tre metri di distanza.
Per questo FileSlimmer decodifica HEIC ma non lo scrive mai. La conversione avviene nel tuo browser, usando il decoder della piattaforma quando c'è e un decoder WebAssembly ospitato in proprio quando non c'è, e il risultato è JPEG, PNG o WebP: formati che il software di chi riceve aprirà davvero.
HEIC contro JPEG, onestamente
| Caratteristica | HEIC, cioè HEIF con HEVC | JPEG |
|---|---|---|
| Peso a qualità simile | Di solito minore | Di solito maggiore |
| Profondità di bit | 8 o 10 bit per canale | 8 bit per canale |
| Trasparenza | Supportata | Non supportata |
| Più immagini in un solo file | Supportate | Non supportate |
| Si apre su software sconosciuto | Spesso no | Quasi sempre |
| Licenze | Codec brevettato | Di fatto libero da vincoli |
Cosa può nascondere un file HEIC
Siccome il contenitore può ospitare una collezione, un singolo .heic può contenere più della foto che vedi. Una Live Photo porta con sé una breve sequenza di immagini accanto allo scatto fisso. Uno scatto in modalità ritratto può portare una mappa di profondità. Una raffica può portare molti fotogrammi, con uno contrassegnato come principale. La conversione in JPEG produce una sola immagine piatta, quindi tutto ciò che il contenitore trasportava accanto all'immagine principale non è presente nel risultato.
L'orientamento merita una menzione a parte. HEIC registra la rotazione come metadato, esattamente come fa JPEG. Un convertitore che lo ignora produce fotografie coricate. FileSlimmer applica ai pixel l'orientamento registrato durante la conversione, così il JPEG appare come lo mostrava il telefono.
Allora quale copia conservi?
- Tieni l'HEIC come originale se resti dentro un ecosistema che lo legge e se ci tieni a una libreria più leggera e alla maggiore profondità di bit.
- Converti in JPEG tutto ciò che mandi fuori: un modulo di caricamento, un servizio di stampa, un allegato email, un collega con software ignoto.
- Converti in PNG solo quando ti serve un risultato senza perdita per il fotoritocco: il file sarà molto più pesante di entrambi gli altri due.
- Non convertire l'HEIC in JPEG per poi cancellare l'HEIC, se l'HEIC era il tuo unico originale. La conversione è una ricodifica con perdita di un'immagine già compressa con perdita.
Limiti da conoscere prima di convertire
La conversione è un secondo passaggio con perdita, quindi un po' di qualità se ne va anche a un'impostazione alta. Se un browser non riesce proprio a decodificare HEVC e il decoder di ripiego ospitato in proprio non gestisce una particolare variante — un profilo insolito, un file danneggiato, un codec diverso da HEVC dentro lo stesso contenitore — la conversione fallisce invece di produrre qualcosa di sbagliato. FileSlimmer segnala quale file è fallito e perché, e lascia intatto l'originale.
Se vuoi togliere il problema alla radice, quasi tutte le fotocamere dei telefoni hanno un'impostazione di compatibilità che riporta lo scatto al JPEG. Scambi spazio di archiviazione con la possibilità di consegnare un file a chiunque.
Strumenti utili
Fonti
- ISO/IEC 23008-12 — High Efficiency Image File Format
- ITU-T H.265 — High Efficiency Video Coding
- Nokia Technologies — HEIF technical overview