Vad är HEIC, och ska du behålla det eller JPEG?
Min telefon sparar .heic-filer och ingenting på min laptop kan öppna dem. Vad är det, och behöver jag dem?
Vad HEIC står för
HEIC betyder vanligen High Efficiency Image Container. Filändelsen .heic identifierar en bildfil i HEIF-familjen, vanligtvis med pixlar kodade med HEVC. I vardagligt tal säger folk HEIC när de menar iPhone-fotofilen, trots att HEIF är containerstandarden och HEVC oftast är komprimeringscodecen inuti.
Den skillnaden förklarar varför fotot inte konverteras av att du byter .heic mot .jpg. Filändelsen är bara en etikett; programvaran hittar fortfarande HEIF-struktur och HEVC-komprimerad bilddata inuti. En riktig konvertering måste avkoda de pixlarna och koda en ny JPEG-, PNG- eller WebP-fil.
HEIC är en container, inte en codec
En .heic-fil är en HEIF-fil: High Efficiency Image File Format, standardiserat som ISO/IEC 23008-12. HEIF är en container byggd på samma ISO-basmediastruktur som MP4 använder. Den anger hur bilder, miniatyrer, djupkartor, bildsekvenser och metadata är ordnade inuti en fil — den anger inte hur pixlarna kodas.
I filerna en iPhone producerar är pixlarna kodade med HEVC, även känt som H.265, videocodecen som standardiserats som ITU-T H.265. Det är källan både till formatets fördelar och till dess problem: du lagrar i praktiken ett fotografi som en enda bildruta ur en modern videocodec.
Varför telefonen valde det
HEVC har verktyg för intrabildsprediktion som JPEG:s design från 1992 saknar, så för samma visuella kvalitet behöver det i regel färre bitar. Lagringen i en telefon är ändlig och fotobibliotek är det inte, så besparingen är värd riktiga pengar för en tillverkare. Containern låter dessutom en enda fil hålla flera besläktade bilder — bildrutorna i en serietagning, stillbilden och det korta klippet i en Live Photo, en alfa- eller djupkanal — i stället för att sprida ut dem i en mapp.
Det finns en andra fördel som för vissa betyder mer än storleken: HEIF stöder fler än 8 bitar per kanal. En 10-bitars bild har långt mer utrymme i mjuka övergångar, vilket är anledningen till att himlar och hudtoner klarar redigering bättre än de skulle i en 8-bitars JPEG.
Varför dina andra program vägrar öppna den
HEVC är en patenterad codec med licensåtaganden för avkodare. Det är ett juridiskt och kommersiellt faktum, inte ett tekniskt, och det är huvudskälet till att stödet är ojämnt: vissa operativsystem levereras med en avkodare, vissa levererar en bara när det finns en hårdvaruavkodare, och vissa webbläsare avkodar HEIC medan andra inte gör det. En fil som öppnas direkt på telefonen som tog den kan vara oläsbar på en maskin tre meter bort.
Det är därför FileSlimmer avkodar HEIC men aldrig skriver det. Konverteringen körs i din webbläsare, med plattformens avkodare när den finns och en egenhostad WebAssembly-avkodare när den inte finns, och utdata är JPEG, PNG eller WebP — format som den mottagande programvaran faktiskt öppnar.
HEIC mot JPEG, ärligt
| Egenskap | HEIC, alltså HEIF med HEVC | JPEG |
|---|---|---|
| Storlek vid liknande kvalitet | Oftast mindre | Oftast större |
| Bitdjup | 8 eller 10 bitar per kanal | 8 bitar per kanal |
| Transparens | Stöds | Stöds inte |
| Flera bilder i en fil | Stöds | Stöds inte |
| Öppnas i obekant programvara | Ofta inte | Nästan alltid |
| Licensiering | Patenterad codec | I praktiken obelastad |
Vad en HEIC-fil kan dölja
Eftersom containern kan hålla en samling kan en enda .heic innehålla mer än bilden du ser. En Live Photo bär en kort bildsekvens vid sidan av stillbilden. En porträttbild kan bära en djupkarta. En serietagning kan bära många bildrutor med en markerad som primär. En konvertering till JPEG ger en enda platt bild, så det som containern bar vid sidan av den primära bilden finns inte med i utdata.
Orienteringen förtjänar ett eget omnämnande. HEIC lagrar rotationen som metadata, precis som JPEG gör. En konverterare som ignorerar den producerar foton som ligger på sidan. FileSlimmer tillämpar den lagrade orienteringen på pixlarna under konverteringen, så att JPEG-filen ser ut som telefonen visade den.
Så vilken kopia behåller du?
- Behåll HEIC som original om du håller dig inom ett ekosystem som läser det och du värdesätter det mindre bildbiblioteket och det extra bitdjupet.
- Konvertera till JPEG för allt du skickar utåt: ett uppladdningsformulär, en tryckeritjänst, en e-postbilaga, en kollega med okänd programvara.
- Konvertera till PNG bara när du behöver förlustfri utdata för redigering; filen blir betydligt större än någon av de andra två.
- Konvertera inte HEIC till JPEG och radera sedan HEIC-filen, om HEIC var ditt enda original. Konverteringen är en destruktiv omkodning av en redan destruktivt komprimerad bild.
Begränsningar värda att känna till innan du konverterar
Konvertering är en andra destruktiv omgång, så en liten mängd kvalitet går förlorad även vid en hög inställning. Om en webbläsare inte kan avkoda HEVC alls, och den egenhostade reservavkodaren inte klarar en viss variant — en ovanlig profil, en skadad fil, en annan codec än HEVC i samma container — misslyckas konverteringen i stället för att producera något felaktigt. FileSlimmer rapporterar vilken fil som misslyckades och varför, och lämnar originalet orört.
Vill du slippa hantera det här vid källan har de flesta telefonkameror en kompatibilitetsinställning som ställer om tagningen till JPEG. Du byter lagringsutrymme mot möjligheten att räcka över en fil till vem som helst.
Verktyg för det här
Källor
- ISO/IEC 23008-12 — High Efficiency Image File Format
- ITU-T H.265 — High Efficiency Video Coding
- Nokia Technologies — HEIF technical overview