HEIF

O que é um arquivo HEIF?

O contêiner padrão por trás do HEIC. A mesma economia e os mesmos problemas de compatibilidade.

O que é HEIF

HEIF é um contêiner: um invólucro para fluxos que outra coisa codificou. Ele guarda uma grade de pixels, então amolece assim que você o amplia além da própria resolução. Ele é usado para celulares e a fotografia.

A extensão é .heif e o nome por extenso é High Efficiency Image File Format. Os dois importam menos do que aquilo que o arquivo consegue carregar, e é disso que trata o resto desta página.

De onde vem HEIF

A MPEG publicou o formato em 2015. A especificação é ISO/IEC 23008-12.

A idade interessa por um motivo prático: quanto mais antigo o formato, mais programas tiveram tempo de aprendê-lo.

A especificação está publicada, mas pelo dono

Ela está escrita e é implementável, só que quem decide como será a próxima versão é o fabricante. Na prática isso basta para o arquivo continuar abrindo; não basta para você se fiar nisso.

Detalhe é trocado por tamanho

HEIF joga detalhe fora para continuar pequeno, e o que ele joga fora não volta. É a troca certa para algo que vai ser olhado e a errada para algo que vai ser editado: cada novo salvamento leva mais uma mordida.

Ele pode ser transparente

HEIF carrega um canal alfa, então uma logomarca mantém as bordas suaves por cima do que estiver atrás em vez de chegar dentro de uma caixa branca.

Ele pode carregar mais de um quadro

HEIF consegue guardar uma animação em vez de uma imagem parada. Vale saber disso antes de converter: um destino que só comporta um quadro fica com o primeiro e larga o resto, quase sempre sem avisar.

Que cor ele consegue descrever

Até 10 bits por canal. Ele consegue trabalhar em YCbCr, o modelo em que o vídeo e o JPEG comprimem e gama de cores ampliada.

Mais de oito bits por canal é o que impede um degradê de virar degraus quando ele é editado: conta num arquivo de trabalho e quase nunca num arquivo pronto.

Ele pode ter várias páginas num só arquivo

Um arquivo HEIF não está limitado a uma página, e isso conta na hora de converter para algo que está: cada conversão produz um arquivo com uma página só — a primeira, a menos que o conversor deixe você escolher qual.

Abrir no navegador

Só alguns navegadores leem o formato.

Onde o suporte é desigual, servir um segundo formato ao lado é a resposta de sempre: o navegador pega o que entende e ninguém fica de fora.

O que ele carrega além do conteúdo

HEIF consegue guardar os dados EXIF, os registros XMP, os perfis ICC e as coordenadas de GPS.

As coordenadas de GPS são o campo em que vale pensar antes de mandar um arquivo para qualquer lugar: elas dizem onde a fotografia foi feita, e quase nada avisa que continuam ali dentro.

É um formato de entrega

HEIF foi feito para ser entregue, não para se trabalhar dentro dele. Editar um é possível e raramente agradável; o caminho sensato passa pelo original e por uma nova exportação.

O que dá errado com ele

As reclamações que se repetem: fora do próprio terreno o suporte é irregular.

Nada disso é motivo para evitar o formato. São as coisas que vale conhecer antes que uma delas te pegue de surpresa, o que é uma afirmação diferente e mais útil.

HEIF é a caixa, HEIC é uma coisa dentro dela

É essa a distinção que resolve a maior parte da confusão sobre os dois nomes. HEIF — High Efficiency Image File Format — é um padrão de contêiner publicado pelo MPEG em 2015. Diz como imagens, miniaturas, metadados e sequências de imagem se organizam num arquivo; não diz nada sobre como os pixels são comprimidos.

HEIC é HEIF guardando imagens comprimidas com HEVC, que é o que aparelhos Apple produzem. O mesmo contêiner pode guardar imagens codificadas de outras formas, e guarda: AVIF usa uma estrutura bem parecida com AV1 dentro. Então "HEIF" descreve uma família e "HEIC" descreve o membro dela que você provavelmente tem.

Construído sobre a mesma base do MP4

HEIF é derivado do ISO base media file format — a mesma estrutura de caixas aninhadas que MP4 e MOV usam. Foi uma escolha deliberada: as ferramentas, os leitores e as convenções de metadados já existiam e tinham sido depuradas por uma década.

É também por isso que arquivos HEIF conseguem guardar coisas que um formato de imagem estática não teria motivo para guardar, como sequências cronometradas e várias imagens relacionadas com a relação entre elas descrita. O contêiner foi desenhado para vídeo e adaptado para imagem estática, não o contrário.

O que o padrão consegue guardar e quase nada usa

Um único arquivo HEIF pode conter uma sequência de imagens, uma rajada, várias exposições da mesma cena, um mapa de profundidade, um canal alfa, instruções de edição não destrutiva, e imagens derivadas descritas como transformações de outra imagem em vez de guardadas separadamente.

Muito pouco software lê qualquer coisa disso. A capacidade foi especificada, a Apple usa uma fração dela para Live Photos e profundidade em modo retrato, e o resto do ecossistema trata um HEIF como uma imagem só. Converter um portanto costuma descartar recursos que estavam presentes e que nada ia ler mesmo assim.

A alegação de compressão, e no que ela se apoia

A cifra costumeira é que HEIF na mesma qualidade visível fica em cerca da metade do tamanho de um JPEG, e isso se sustenta em linhas gerais. O ganho vem do codec de dentro, não do contêiner: HEVC usa blocos maiores e de tamanho variável, predição melhor e um codificador de entropia mais forte que o desenho de 1992 do JPEG.

Também resolve limites que o JPEG nunca superou. Dez ou doze bits por canal em vez de oito, então degradês bandeiam bem menos. Transparência de verdade. Modo sem perdas como opção. Nenhum desses é recurso do contêiner — mas o contêiner foi o que possibilitou entregar tudo isso junto.

AVIF é a mesma ideia sem a licença

AVIF coloca imagens codificadas com AV1 num contêiner construído sobre a mesma base. Alcança compressão parecida ou melhor, e seu codec é livre de royalties, a diferença que decidiu sua adoção.

Todo navegador atual decodifica AVIF. Quase nenhum decodifica HEIC, e o motivo é licenciamento, não capacidade — o consórcio de patentes do HEVC tornou insustentável embarcar um decodificador num navegador gratuito. Esse único fato explica por que formatos tecnicamente parecidos acabaram em lugares completamente diferentes: HEIF nos celulares, AVIF na web.

As extensões, e o que cada uma implica

.heic significa imagens codificadas com HEVC e é o que a Apple escreve. .heif é a extensão genérica e aparece em arquivos de outros fabricantes e de software que preferiu não ser específico. .hif é usado por alguns fabricantes de câmera, principalmente a Canon, para a mesma coisa.

O suporte de software nem sempre segue essa lógica. Uma ferramenta pode aceitar .heic e recusar .heif enquanto os arquivos são estruturalmente idênticos, porque a checagem é na extensão, não no conteúdo. Se um HEIF é recusado, vale tentar renomear para .heic antes de concluir algo sobre o arquivo.

Metadados, e o que o contêiner guarda

HEIF carrega EXIF e XMP do mesmo jeito que JPEG, então modelo de câmera, lente, ajustes de exposição, orientação e — onde a localização estava ativada — coordenadas de GPS viajam junto com o arquivo.

O contêiner também tem espaço para as estruturas mais novas de proveniência e histórico de edição, parte do motivo dele ter sido escolhido para fotografia de celular. Converter para JPEG costuma levar os campos de exposição e pode ou não levar a localização, dependendo da ferramenta.

Quem escreve HEIF que não é HEIC

Câmeras Canon escrevendo .hif, alguns fabricantes Android, um punhado de câmeras profissionais com opção HEIF ao lado do raw, e software exportando para a forma genérica. É uma fatia pequena do que existe — a esmagadora maioria dos arquivos HEIF no mundo é HEIC da Apple.

A consequência prática é que o suporte é ainda mais fino que para HEIC, porque as ferramentas tendem a ser construídas em torno do arquivo do maior fornecedor. Um HEIF genérico de um corpo Canon pode derrotar um software que lida com arquivos de iPhone sem problema.

Convertendo, e o que isso custa

JPEG quando o destino é qualquer coisa que precisa aceitar sem pensar — e-mail, formulário de upload, serviço de impressão. O arquivo fica cerca do dobro do tamanho e visualmente indistinguível numa boa qualidade. PNG quando a imagem tem transparência ou vai para edição.

A perda real é a profundidade de bits. Um HEIF de dez bits convertido para JPEG de oito bits tem menos níveis disponíveis em degradês, o que pode aparecer como faixa num céu. Raramente é visível e é permanente, então guarde o original onde a fotografia importa.

Os dados, num lugar só

Identificadores e procedência do formato HEIF.
Extensão.heif
Tipo de mídiaimage/heif
Publicado porMPEG
Primeira publicação2015
EspecificaçãoISO/IEC 23008-12