H.264
H.264 é um padrão para compressão de vídeo, baseado no MPEG-4 Parte 10 ou AVC (Advanced Video Coding),[1] desenvolvido pela ITU-T Video Coding Experts Group (VCEG) em conjunto com a ISO/IEC MPEG que formaram uma parceria conhecida por Joint Video Team (JVT). A versão final, formalmente chamada por ISO/IEC 14496-10), foi lançada em Maio de 2003.
Projeto
editarA intenção do projeto H.264/AVC era criar um padrão capaz de fornecer boa qualidade de vídeo com uma taxa de bitrate muito baixa em relação aos padrões já existentes (MPEG-2, H.263...), mas sem aumentar a complexidade do projeto seria algo praticamente impossível de ser implementado. Outra meta do projeto era fazer um padrão que fosse compatível a todas as necessidades, isto é, compatível com vídeos de baixa e alta bitrate ou com baixa e alta resolução.
Em Maio de 2003 a JVT lançou a primeira versão do padrão e em seguida desenvolveu extensões da versão original do padrão, conhecidas por Fidelity Range Extensions (FRExt).
Perfis
editarO padrão tem sete configurações diferentes, chamadas perfis. Cada configuração foi feita pensando em aplicações .
- Baseline Profile (BP)
- Indicada para sistemas com poucos recursos. É mais comum ser usado em vídeoconferências ou aplicações móveis, por causa da sua baixa taxa de bitrate.
- Main Profile (MP)
- Inicialmente desenvolvido para broadcast e armazenamento, foi aos poucos substituído pelo perfil High Profile.
- Extended Profile (XP)
- Criado para streaming media, este perfil tem alta taxa de compressão.
- High Profile (HiP)
- Tal como o MP, este perfil foi criado para broadcast e armazenamento, em especial para alta definição. É o perfil adotado em discos HD DVD e Blu-Ray.
- High 10 Profile (Hi10P)
- Está muito além das necessidades dos consumidores de hoje em dia. Este perfil é baseado no HiP, adicionando 10 bits por frame para melhor precisão na decodificação da imagem.
- High 4:2:2 Profile (Hi422P)
- Desenvolvido pensando em vídeos entrelaçados, este perfil tem por base o Hi10P com o suporte ao formato 4:2:2.
- High 4:4:4 Predictive Profile (Hi444PP)
- Baseado no perfil Hi422P, mas utiliza o formato 4:4:4 e tem um maior número de bits para a precisão na decodificação de imagem (14 bits). Este perfil ainda tem a característica de, no processo de compressão fazer o processo em três cores separadas.
Níveis
editarNível | Máximo de macroblocos por segundo | Tamanho Máximo de Frame (macroblocos) | Máximo Bitrate de Vídeo para Baseline, Extended e Main Profiles | Máximo Bitrate de Vídeo para High Profile | Máximo Bitrate de Vídeo para High 10 Profile | Máximo Bitrate de Vídeo para High 4:2:2 e High 4:4:4 Predictive Profiles | Exemplos para resolução máxima @ Taxa de Frames (Máximo de Frames Guardados) por nível |
---|---|---|---|---|---|---|---|
1 | 1485 | 99 | 64 kbit/s | 80 kbit/s | 192 kbit/s | 256 kbit/s | 128x96@30.9 (8) 176x144@15.0 (4) |
1b | 1485 | 99 | 128 kbit/s | 160 kbit/s | 384 kbit/s | 512 kbit/s | 128x96@30.9 (8) 176x144@15.0 (4) |
1.1 | 3000 | 396 | 192 kbit/s | 240 kbit/s | 576 kbit/s | 768 kbit/s | 176x144@30.3 (9) 320x240@10.0 (3) 352x288@7.5 (2) |
1.2 | 6000 | 396 | 384 kbit/s | 480 kbit/s | 1152 kbit/s | 1536 kbit/s | 320x240@20.0 (7) 352x288@15.2 (6) |
1.3 | 11880 | 396 | 768 kbit/s | 960 kbit/s | 2304 kbit/s | 3072 kbit/s | 320x240@36.0 (7) 352x288@30.0 (6) |
2 | 11880 | 396 | 2 Mbit/s | 2.5 Mbit/s | 6 Mbit/s | 8 Mbit/s | 320x240@36.0 (7) 352x288@30.0 (6) |
2.1 | 19800 | 792 | 4 Mbit/s | 5 Mbit/s | 12 Mbit/s | 16 Mbit/s | 352x480@30.0 (7) 352x576@25.0 (6) |
2.2 | 20250 | 1620 | 4 Mbit/s | 5 Mbit/s | 12 Mbit/s | 16 Mbit/s | 352x480@30.7(10) 352x576@25.6 (7) 720x480@15.0 (6) 720x576@12.5 (5) |
3 | 40500 | 1620 | 10 Mbit/s | 12.5 Mbit/s | 30 Mbit/s | 40 Mbit/s | 352x480@61.4 (12) 352x576@51.1 (10) 720x480@30.0 (6) 720x576@25.0 (5) |
3.1 | 108000 | 3600 | 14 Mbit/s | 17.5 Mbit/s | 42 Mbit/s | 56 Mbit/s | 720x480@80.0 (13) 720x576@66.7 (11) 1280x720@30.0 (5) |
3.2 | 216000 | 5120 | 20 Mbit/s | 25 Mbit/s | 60 Mbit/s | 80 Mbit/s | 1280x720@60.0 (5) 1280x1024@42.2 (4) |
4 | 245760 | 8192 | 20 Mbit/s | 25 Mbit/s | 60 Mbit/s | 80 Mbit/s | 1280x720@68.3 (9) 1920x1080@30.1 (4) 2048x1024@30.0 (4) |
4.1 | 245760 | 8192 | 50 Mbit/s | 50 Mbit/s | 150 Mbit/s | 200 Mbit/s | 1280x720@68.3 (9) 1920x1080@30.1 (4) 2048x1024@30.0 (4) |
4.2 | 522240 | 8704 | 50 Mbit/s | 50 Mbit/s | 150 Mbit/s | 200 Mbit/s | 1920x1080@64.0 (4) 2048x1080@60.0 (4) |
5 | 589824 | 22080 | 135 Mbit/s | 168.75 Mbit/s | 405 Mbit/s | 540 Mbit/s | 1920x1080@72.3 (13) 2048x1024@72.0 (13) 2048x1080@67.8 (12) 2560x1920@30.7 (5) 3680x1536@26.7 (5) |
5.1 | 983040 | 36864 | 240 Mbit/s | 300 Mbit/s | 720 Mbit/s | 960 Mbit/s | 1920x1080@120.5 (16) 4096x2048@30.0 (5) 4096x2304@26.7 (5) |
Nível | Máximo de macroblocos por segundo | Tamanho Máximo de Frame (macroblocos) | Máximo Bitrate de Vídeo para Baseline, Extended e Main Profiles | Máximo Bitrate de Vídeo para High Profile | Máximo Bitrate de Vídeo para High 10 Profile | Máximo Bitrate de Vídeo para High 4:2:2 e High 4:4:4 Predictive Profiles | Exemplos para resolução máxima @ Taxa de Frames (Máximo de Frames Guardados) por nível |
Aplicações
editarH.261
editarO primeiro padrão de codificação de vídeo da família H.26x.
H.263
editarO H.263 é uma recomendação publicada pela ITU e baseada no H.261. Os códigos propostos nesta recomendação melhoram a performance da compressão e permitem que o vídeo tenha taxas variáveis. Esta recomendação especifica uma codificação que pode ser usada para compressão de imagens móveis pertencentes a serviços audiovisuais de baixa taxa de bits. É uma codificação híbrida que aproveita a predição de imagens da recomendação H.261 mas também toma proveito da redundância temporal e transforma a codificação do sinal restante de modo a reduzir a redundância espacial. Assim como o H.261 gera dados do tipo CIF e seus derivados sub-QCIF, QCIF, 4CIF e 16CIF. Possui maior precisão na compensação de movimentos e se torna mais eficiente na compactação identificando redundâncias temporais além de espaciais, como descrito. Também há dezesseis codificações opcionais propostas para melhorar a performance de compressão. A taxa de bits do vídeo pode ser variável, não há restrições no H.263 quanto a esta taxa, as restrições serão impostas pela rede. A correção de erros não será providenciada por esta recomendação, é aconselhável que se utilize entidades externas para tanto.
x264
editarx264 é um software de código aberto para codificação de fluxos de vídeo para o formato H.264/MPEG-4 AVC. Ele é distribuído sob os termos do GNU General Public License. x264 foi originalmente desenvolvido por Laurent Aimar, que parou o desenvolvimento em 2004, depois de ser contratado pela ATEME. Loren Merritt, assumiu o desenvolvimento em seguida. Hoje, o x264 é desenvolvido primeiramente por Loren Merritt, Jason Garrett-Glaser, Steven Walters, Anton Mitrofanov, David Conrad, e Poirier Guillaume.
Ver também
editar- Codec
- IPTV
- MPEG-2
- MPEG-4
- Codificador H.264 em Java - Codificador escrito em Java de fácil compreensão para ser utilizado com aprendizado dos componentes da codificação de vídeo H.264.
Ligações externas
editar- Codificação de Vídeo H.264 - Dissertação que trata da codificação e compressão de vídeo H.264, apresentando propostas de extensão e servindo também como um tutorial, explicando todos os processos envolvidos.