# High Efficiency Image File Format

High Efficiency Image File Format (HEIF, em português: Formato de arquivo de imagem de alta eficiência) é um arquivo recipiente de imagens individuais e de sequências de imagens, Introduzido em 2015 desenvolvido pelo Moving Picture Experts Group (MPEG, em português: Grupo de especialistas em imagens com movimento) definido como a Parte 12 do pacote de mídia MPEG-H (ISO/IEC 23008-12, codec digital que unifica todos os compressores de áudio usados em vídeo digital e streaming). O HEIF também aceita arquivos multimídia como texto cronometrado, suporte a animação (armazenando mais informações que as imagens GIF animado e APNG de forma mais compacta), áudio e vídeo usando o High Efficiency Video Coding (HEVC, em português: Codificação de vídeo de alta eficiência), usando apenas cerca de metade do espaço de armazenamento de um arquivo JPEG de qualidade equivalente.
Os arquivos HEIF são um caso especial do Base Media File Format da ISO (ISOBMFF, ISO/IEC 14496-12), definido pela primeira vez em 2001 como uma parte compartilhada de MP4 e JPEG 2000. O HEIF foi adotado pela Apple em 2017 com a introdução do iOS 11, e o suporte em outras plataformas vem crescendo.

## História

Os requisitos e os principais casos de uso do HEIF foram definidos em 2013. O desenvolvimento técnico da especificação levou cerca de um ano e meio e foi finalizado em meados de 2015.
A Apple foi a primeira grande adotante do formato em 2017 com a introdução do iOS 11 usando a variante HEIC.
Em alguns sistemas, as imagens armazenadas no formato HEIC são convertidas automaticamente para o formato JPEG mais antigo quando são enviadas para fora do sistema.

## Recursos

Os arquivos HEIF podem armazenar os seguintes tipos de dados:

### Itens de imagem

    Armazenamento de imagens individuais, propriedades de imagem e miniaturas.

### Derivações de imagem

    Imagens derivadas permitem edição de imagem não-destrutiva, e são criados em tempo real pelo software de renderização usando a edição de instruções armazenadas separadamente no arquivo HEIF. Essas instruções (recorte retangular, rotação de um, dois ou três quartos de volta, sobreposições gráficas cronometradas etc.) e imagens são armazenadas separadamente no arquivo HEIF e descrevem transformações específicas a serem aplicadas às imagens de entrada. A sobrecarga de armazenamento de imagens derivadas é pequena.

### Sequências de imagens

    Armazenamento de múltiplas imagens relacionadas ao tempo e/ou temporalmente previstas (como uma foto burst ou animação de cinemagrafia), suas propriedades e miniaturas. Diferentes opções de previsão podem ser usadas para explorar as semelhanças temporais e espaciais entre as imagens. Portanto, os tamanhos dos arquivos podem ser drasticamente reduzidos quando muitas imagens são armazenadas no mesmo arquivo HEIF.

### Itens de imagem auxiliar

    Armazenamento de dados de imagem, como um plano alfa ou um mapa de profundidade, que complementa outro item de imagem. Esses dados não são exibidos como tal, mas usados de várias formas para complementar outro item de imagem.

### Metadados de imagem

    Armazenamento de EXIF, XMP e metadados semelhantes que acompanham as imagens armazenadas no arquivo HEIF.

## Variantes

Como HEIF é um arquivo recipiente, ele pode conter imagens estáticas e sequências de imagens codificadas em diferentes formatos. As principais extensões de nome de arquivo são .heif para imagens estáticas e .heifs para sequências, que podem ser usados com qualquer codec.
A Apple oferece suporte à reprodução de .heif para arquivos de imagem estática e .heifs para arquivos de sequência de imagens criados em outros dispositivos que são codificados usando qualquer codec, desde que esse codec seja compatível com o sistema operacional.
Arquivos de imagem HEIF genéricos são normalmente armazenados com extensões de nome de arquivo .heif, mas podem usar uma extensão diferente para indicar o codec específico usado.

### MIAF

O Multi-Image Application Format (MIAF) é um subconjunto restrito de HEIF especificado como parte do MPEG-A. Ele define um conjunto de restrições adicionais para simplificar as opções do formato, formatos de plano alfa específicos, perfis e níveis, bem como formatos e marcas de metadados, e regras sobre como estender o formato.

### HEIC: HEVC em HEIF

O High Efficiency Video Coding (HEVC, ITU-T H.265) é um formato de codificação para dados gráficos, padronizado pela primeira vez em 2013. É o codec padrão implícito e usado principalmente para HEIF, conforme especificado no anexo B normativo do formato de arquivo de imagem HEVC ISO/IEC 23008-12.
Embora não seja introduzido formalmente no padrão, a sigla HEIC (High-Efficiency Image Container) é usada como marca e nos subtipos MIME image/heic e image/heic-sequence. Se o conteúdo estiver de acordo com determinados perfis HEVC, marcas mais específicas podem ser usadas: HEIX para o perfil principal 10 do HEVC, HEIM para o Perfil principal (Multivisualização) e HEIS para o Perfil principal (Escalonável) (10) do L-HEVC.
A variação do HEIF usada nos produtos da Apple usa exclusivamente a tecnologia de compressão HEVC e é conhecida como HEIC. Uma foto HEIC ocupa cerca de metade do espaço de um arquivo JPEG de qualidade equivalente e atende a muitas necessidades fotográficas de última geração. A especificação HEIF inicial já definiu os meios de armazenamento de intra images codificadas por HEVC (i-frames) e sequências de imagens codificadas por HEVC nas quais a ''inter prediction'' é aplicada de uma maneira restrita.
Os reprodutores de imagem HEVC são obrigados a suportar o corte retangular e a rotação em um, dois e três quartos de volta. O caso de uso principal para o suporte obrigatório para rotação de 90 graus é para imagens em que a orientação da câmera é detectada ou inferida incorretamente. O requisito de rotação torna possível ajustar manualmente a orientação de uma imagem estática ou sequência de imagens sem a necessidade de recodificá-la. O corte permite que a imagem seja reenquadrada sem recodificar. O formato de arquivo HEVC também inclui a opção de armazenar imagens pré-derivadas).
As amostras em faixas de sequência de imagem devem ser imagens intracodificadas ou imagens previstas entre imagens com referência apenas a imagens intracodificadas. Essas restrições de previsão entre imagens reduzem a latência de decodificação para acessar qualquer imagem particular dentro de uma trilha de sequência de imagem HEVC.
As extensões de nome de arquivo .heic e .heics são convencionalmente usado para arquivos heif HEVC-codificados. Produtos da Apple, por exemplo, produzirão apenas arquivos com essas extensões, o que indica claramente que os dados passaram pela codificação HEVC.

### AVCI: AVC em HEIF

Advanced Video Coding (AVC, ITU-T H.264) é um formato de codificação mais antigo para vídeo e imagens, padronizado pela primeira vez em 2003. Também é especificado como um codec a ser suportado no HEIF no anexo normativo 5 da ISO / IEC 23008-12. Os tipos MIME registrados são image/avci para imagens estáticas e image/avcs para sequências. O formato é conhecido simplesmente como AVCI.
Os produtos da Apple suportam a reprodução de arquivos de imagem estáticos codificados com AVC .avci e arquivos de sequência de imagens .avcs, mas só irá gerar arquivos .heic.

### AVIF: AV1 em HEIF

AV1 é um formato de codificação de vídeo que se destina a ser livre de royalties desenvolvido pela Alliance for Open Media (AOMedia). AV1 Image File Format (AVIF) é um formato de imagem baseado neste codec.
Os tipos MIME registrados são image/avif para imagens estáticas que geralmente carregam uma extensão de nome de arquivo .avif e image/avif-sequence para sequências que usam extensão de nome de arquivo .avifs . Isso pode ser confundido com o formato AVI clássico de multimídia do Windows, que normalmente usa .avi.

### JPEG e HEIF

O JPEG é o formato de imagem com perdas mais comummente usado e com melhor suporte, lançado pela primeira vez em 1992 pela ITU-T e ISO/IEC . Embora o Anexo H da ISO/IEC 23008-12 especifique JPEG (e indiretamente Motion JPEG) como um formato possível para dados de imagem HEIF, ele é usado apenas para miniaturas e outras imagens secundárias. Portanto, nem um subtipo MIME dedicado, nem uma extensão de arquivo especial estão disponíveis.
O JPEG 2000 também usa ISOBMFF, mas de uma forma incompatível com HEIF, enquanto JPEG XR usa um formato de contêiner baseado em TIFF. Nenhum deles está atualmente formalmente especificado como um codec de imagem para uso no HEIF.
Em 2017, a Apple anunciou que adotaria o HEIC como formato de imagem padrão em seus novos sistemas operacionais, substituindo gradualmente o JPEG.
Tanto o AVIF quanto o HEIF estão sendo considerados possíveis substitutos para o formato JPEG universal porque, entre outras contribuições técnicas, ambos podem reduzir o tamanho do arquivo em cerca de 50%, mantendo uma qualidade equivalente. Em setembro de 2023, o Safari passou a dar suporte de navegador nativo para HEIF, enquanto os principais navegadores passaram a dar suporte ao formato AVIF, Chrome e Opera em 2020, Firefox 202, Safari 2022 e Microsoft Edge 2024. O Facebook suporta o upload de HEIC, mas converte para JPEG ou WEBP no display.

## Suporte

* A Nokia fornece um decodificador Java HEIF de código aberto.
* A biblioteca de código aberto "libheif" suporta a leitura e gravação de arquivos HEIF, a partir da versão 1.8.0, tanto a leitura quanto a gravação em HEIC e AVIF são suportadas.
* Um codec de imagem gratuito chamado CopyTrans HEIC, disponível para as versões do Windows 7 a 10, oferece suporte à abertura de arquivos HEIF no Windows Photo Viewer sem o codec da Microsoft instalado. (O codec Microsoft HEIC está disponível apenas para Windows 10, versão 1803 e superior no aplicativo Photos UWP).

### Sistemas operacionais

* Windows 10 versão 1803 e posterior (HEIC), versão 1903 e posterior (AVIF). Uma pequena quantia é cobrada pelo uso do codec HEVC, enquanto o suporte para o formato HEIF genérico e as extensões AVC e AV1 são gratuitas.
* macOS High Sierra e posterior (HEIC apenas). Desde o macOS Mojave, a Apple usa HEIF na criação do recurso Dynamic Desktop
* iOS 11 e posterior (apenas HEIC)
* Android 9 (Pie) e posterior (HEIC), Android 10 (Q) e posterior (AVIF)
* Ubuntu 20.04 e posterior (HEIC)

### Navegadores da web

Em setembro de 2023, os navegadores Safari passaram a dar suporte ao formato HEIC nativamente. Já o formato AVIF passou a ter suporte dos quatros principais navegadores Google Chrome, Firefox, Safari e Microsoft Edge em janeiro de 2024.

### Software de edição de imagem

* Adobe Lightroom (macOS High Sierra, iOS 11+, Windows 10 e Android 9+)
* Adobe Photoshop
* Affinity Photo
* O GIMP reconhece e trata arquivos HEIF desde a versão 2.10.2, lançada em maio de 2018.
* Paint.NET
* ImageMagick
* Krita
* Zoner Photo Studio X
* Pixelmator (versão 3.7 e superior)
* GraphicConverter

### Hardware

* As câmeras Canon EOS-1D X Mark III, Canon EOS R5 e Canon EOS R6 estão usando o formato HEIF, capturando imagens com precisão de 10 bits com alta faixa dinâmica usando a curva de tom PQ, com a extensão de arquivo .hif. "Passamos para os arquivos HEIF", disse a Canon em 2019.
* Os mais recentes SoCs Snapdragon da Qualcomm (por exemplo, Snapdragon 865, Snapdragon 662) suportam o formato HEIC.

### Websites

* Em maio de 2020, os exames online Advanced Placement dos EUA permitiram que os alunos enviassem fotos de respostas escritas à mão. Como o site não foi capaz de processar imagens HEIF, os alunos cujos celulares tinham esse formato de imagem padrão foram considerados como não tendo enviado nenhuma resposta e muitas vezes não conseguiam concluir o exame.O College Board, que administra os exames, posteriormente forneceu um sistema para os usuários enviarem fotos das respostas por e-mail. Como o aplicativo iOS Mail converte automaticamente imagens HEIF em JPEG, isso atenuou o problema.

## Licenciamento de patente

O próprio HEIF é um contêiner que pode não estar sujeito a taxas de royalties adicionais para licenciados ISOBMFF comerciais. Observe-se, entretanto, que a Nokia também concede suas patentes sem royalties para fins não comerciais. Ao conter imagens e sequências de imagens codificadas em um formato específico (por exemplo, HEVC ou AVC) seu uso fica sujeito ao licenciamento de patentes no formato de codificação.