Imagem OpenEXR (.exr)
Academy PadrãoOpenEXR é um formato de imagem HDR profissional utilizado em fluxos de produção cinematográfica e efeitos visuais. Suporta píxeis de vírgula flutuante half de 16 bits e de 32 bits, com vários canais e camadas.
Inspeção e metadados
Sistemas operacionais e analisadores de arquivos identificam arquivos EXR pela sequência inicial de bytes:
Assinatura do arquivo em bytes (magic bytes)
Sistemas operacionais e analisadores de arquivos identificam arquivos EXR pela sequência inicial de bytes:
ASSINATURA HEXADECIMAL (DESLOCAMENTO 0):
76 2F 31 01REPRESENTAÇÃO ASCII: v/1.
Padronização: Academy Software Foundation (ASWF) Open Standard
Especificações técnicas
| Estrutura do contêiner | Contêiner extensível baseado em blocos, compatível com canais, partes e camadas de dados profundos arbitrários |
| Compressão | PIZ (wavelet), ZIP/ZIPS, RLE, B44/B44A, DWAA/DWAB (DCT com perdas) e sem compressão |
| Ordem dos bytes (endianness) | Little-endian (Intel x86) |
| Espaços de cor | Linear ACEScg, ACES2065-1, Linear Rec.709, Coordenadas de cromaticidade arbitrárias |
| Canais e Estrutura | Nomes de canais arbitrários (R, G, B, A, profundidade Z, Normal, WorldPos, MotionVectors, Cryptomatte) |
| Dimensões Máximas | Praticamente ilimitadas (compatível com zoom profundo em mosaico e imagens de vários gigapixels) |
| Transparência | Canal alfa completo em ponto flutuante e matrizes volumétricas de amostras para composição profunda |
| Streaming e Progressivo | O processamento em fluxo por linhas de varredura ou blocos permite ler rapidamente partes do quadro e renderizar imagens proxy |
Matriz de comparação técnica: EXR e formatos concorrentes
| Atributo técnico | EXR (Atual) | HDR | TIFF | PNG |
|---|---|---|---|---|
| Faixa dinâmica | Ponto flutuante linear de meia precisão (16 bits) e de precisão simples (32 bits) | Expoente compartilhado de 8 bits (RGBE) | Inteiro de 8/16 bits ou ponto flutuante de 32 bits | Inteiro padrão de 8 ou 16 bits |
| Passagens multicanal | Número ilimitado de canais e partes com nomes arbitrários | Apenas RGB | Suporte a camadas limitado | Apenas RGBA |
| Adoção pelo setor | Padrão universal em VFX e computação gráfica 3D de Hollywood | Iluminação 3D e panoramas tradicionais | Pré-impressão e fotografia | O suporte varia conforme o programa. |
| Gerenciamento de cores | Integração nativa com ACES e OpenColorIO | Gama/linear ad hoc | Tags de perfil ICC | Tags sRGB/ICC |
Modos comuns de corrupção e guia de recuperação com editor hexadecimal
A imagem fica completamente escura ou superexposta, com manchas brancas estouradas.
Causa principal: Ausência da transformação de exibição de linear para sRGB ou atribuição incorreta do espaço de cor ACES.
Recuperação: Aplique uma curva de tons ACEScg ou de linear para sRGB no visualizador HDR do File2File.app.
Análise de segurança e vetores de ataque a analisadores
Analisadores complexos do OpenEXR baseados em blocos devem validar estritamente as definições de canais e os limites dos mosaicos para evitar problemas de segurança de memória.
Vetores de ataque conhecidos
- Estouro de inteiro no cálculo do passo do buffer multicanal na libopenexr.
- Leitura fora dos limites do heap durante a descompressão de fluxos PIZ ou DWAA.
- Negação de serviço causada pela recursão profunda em cabeçalhos de blocos multipartes.
Melhores práticas defensivas: Decodifique arquivos EXR em versões WebAssembly isoladas, com segurança de memória e limites rígidos para as dimensões dos blocos.
Origens históricas e marcos
Principais vantagens
- O suporte nativo a ponto flutuante de meia precisão de 16 bits (FP16) e de 32 bits (FP32) preserva uma faixa de luminância extrema, da luz solar direta às sombras escuras.
- A arquitetura multicanal permite incluir em um único arquivo todas as passagens de renderização 3D (beauty, diffuse, specular, depth, cryptomatte).
- Os algoritmos de compressão DWAA/DWAB e PIZ, líderes do setor, reduzem bastante o tamanho dos arquivos sem perda visual.
Limitações técnicas e desvantagens
- Arquivos muito grandes ao salvar, sem compressão, passagens de renderização 4K/8K em 32 bits e com várias camadas.
- Alto consumo de CPU e memória ao descompactar vários canais em programas para o consumidor final.
- Requer transformações de gerenciamento de cores (ACES ou OCIO) para ser exibido corretamente em monitores sRGB padrão.
Curiosidades técnicas
- A Industrial Light & Magic criou o tipo de dado de ponto flutuante de 16 bits chamado "half" especificamente para o formato OpenEXR.
- Os primeiros quatro bytes mágicos de cada arquivo EXR são 0x76 0x2F 0x31 0x01, que se traduzem em ASCII como 'v/1\x01'.
- O OpenEXR é compatível com "Deep Data": um único pixel pode armazenar várias amostras de cor e profundidade em diferentes distâncias, como em fumaça e nuvens semitransparentes.
Perguntas técnicas frequentes
Porque é que o OpenEXR é utilizado em alguns fluxos de efeitos visuais?
Preserva dados HDR de imagem de alta precisão e suporta vários canais, partes e dados profundos para composição.
Qual é a diferença entre ponto flutuante de meia precisão e de precisão simples no EXR?
O ponto flutuante de meia precisão usa 16 bits por canal de cor. Ele oferece 30 stops de faixa dinâmica e gera arquivos com metade do tamanho dos arquivos em ponto flutuante de 32 bits, sendo o preferido do setor para renderizações beauty.
Como posso converter EXR para PNG ou JPG padrão?
Você pode converter arquivos EXR em imagens PNG ou JPG com mapeamento de tons diretamente no navegador, usando o File2File.app.