H.264 é mágico
O que é H.264?
- H.264 é um padrão de codec de compressão de vídeo.
- É usado em praticamente todo lugar: vídeo na internet, Blu-ray, celulares, câmeras de segurança, drones etc.
- É resultado de mais de 30 anos de pesquisa, com o objetivo de reduzir a largura de banda necessária para transmitir vídeo com movimento completo.
Por que a compressão é necessária?
- Arquivos de vídeo sem compressão contêm uma quantidade enorme de dados.
- Por exemplo, um vídeo 1080p @ 60Hz gera cerca de 370MB de dados por segundo.
- Um disco Blu-ray de 50GB só consegue armazenar cerca de 2 minutos de vídeo.
- Por isso, a compressão é necessária.
Por que a compressão H.264?
- H.264 é muito eficiente.
- Por exemplo, uma captura de tela em PNG da página inicial da Apple tem 1015KB, enquanto um vídeo H.264 de 5 segundos da mesma tela tem 175KB.
- O vídeo H.264 é 1500 vezes mais eficiente que o PNG.
Principais técnicas do H.264
Redução de peso (Lossy Compression)
- H.264 usa compressão com perdas, descartando os bits menos importantes e preservando apenas os importantes.
- PNG usa compressão sem perdas, mantendo todos os bits.
Entropia da informação
- Entropia da informação significa o número mínimo de bits necessários para representar dados.
- É uma forma de comprimir dados reduzindo a redundância.
Domínio da frequência (Frequency Domain)
- Os dados são convertidos para o domínio da frequência para remover componentes de alta frequência (detalhes).
- Isso reduz os detalhes da imagem, mas economiza espaço.
Subamostragem de crominância (Chroma Subsampling)
- O olho humano detecta melhor mudanças de brilho do que de cor.
- Usa-se o modelo de cor YCbCr para reduzir a informação de cor e manter a informação de luminância.
- Com isso, é possível reduzir a largura de banda pela metade.
Compensação de movimento (Motion Compensation)
- A maior parte de um vídeo é estática, e apenas algumas partes se movem.
- O H.264 armazena a imagem estática e salva separadamente apenas as partes em movimento.
- Isso economiza espaço.
Codificador de entropia (Entropy Coder)
- Remove a informação redundante que resta após a compressão com perdas.
- Com um codificador sem perdas comum, é possível recuperar todos os dados.
Opinião do GN⁺
- Eficiência do H.264: o H.264 é extremamente eficiente na compressão de vídeo e pode economizar muita largura de banda e espaço de armazenamento.
- Complexidade da tecnologia: os diversos elementos técnicos do H.264 podem ser difíceis de entender, mas compreender os princípios básicos ajuda bastante.
- Comparação com outros codecs: codecs mais novos, como o H.265, oferecem eficiência de compressão maior que o H.264. Mesmo assim, o H.264 continua sendo amplamente usado.
- Aplicação prática: o uso de H.264 em streaming, armazenamento e transmissão de vídeo é muito comum, trazendo grande economia de custos.
- Perspectivas futuras: a tecnologia de compressão de vídeo continua evoluindo, e há grande chance de surgirem codecs ainda mais eficientes. Entender os princípios do H.264 ajuda a aprender novas tecnologias.
1 comentários
Comentários do Hacker News
mplayer, mas as versões iniciais não tinham suporte. Depois, o desempenho melhorou bastante.