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
A 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
O 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
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
|
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
H.261
O primeiro padrão de codificação de vídeo da família H.26x.
H.263
O 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
x264 é 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
Ligações externas
- 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.
Referências
Formatos para transmissão de TV |
---|
Transmissão analógica | |
---|
Transmissão digital | |
---|
Cinema digital | |
---|
Questões técnicas | |
---|