# MPEG-4

MPEG-4 é um grupo de padrões internacionais para compressão de áudio digital e dados visuais, sistemas multimídia e formatos de armazenamento de arquivos. Foi originalmente introduzido no final de 1998 como um grupo de formatos de codificação de áudio e vídeo e tecnologias relacionadas acordadas pelo ISO/IEC Moving Picture Experts Group (MPEG) (ISO/IEC JTC 1 /SC29/WG11) sob o padrão formal ISO/IEC 14496 – Codificação de objetos audiovisuais. Os usos do MPEG-4 incluem compactação de dados audiovisuais para vídeo na Internet e distribuição de CD, voz (telefone, videofone) e aplicações de televisão aberta. O padrão MPEG-4 foi desenvolvido por um grupo liderado por Touradj Ebrahimi (mais tarde presidente do JPEG) e Fernando Pereira.

## Background

O MPEG-4 absorve muitos dos recursos do MPEG-1 e MPEG-2 e outros padrões relacionados, adicionando novos recursos, como suporte VRML (estendido) para renderização 3D, arquivos compostos orientados a objetos (incluindo objetos de áudio, vídeo e VRML), suporte para gerenciamento de direitos digitais especificado externamente e vários tipos de interatividade. O AAC (Advanced Audio Coding) foi padronizado como um complemento do MPEG-2 (como Part 1) antes que o MPEG-4 fosse lançado.
O MPEG-4 ainda é um padrão em evolução e está dividido em várias partes. As empresas que promovem a compatibilidade com MPEG-4 nem sempre declaram claramente a que nível de compatibilidade de "parte" se referem. As principais partes a serem observadas são MPEG-4 Part 2 (incluindo Advanced Simple Profile, usado por codecs como DivX, Xvid, Nero Digital e 3ivx e pelo QuickTime 6) e MPEG-4 parte 10 (MPEG-4 AVC/H .264 ou Advanced Video Coding, usado pelo codificador x264, Nero Digital AVC, QuickTime 7 e mídia de vídeo de alta definição como Blu-ray Disc).
A maioria dos recursos incluídos no MPEG-4 são deixados para desenvolvedores individuais decidirem se implementam ou não. Isso significa que provavelmente não há implementações completas de todo o conjunto de padrões MPEG-4. Para lidar com isso, o padrão inclui o conceito de "perfis" e "níveis", permitindo que um conjunto específico de capacidades seja definido de forma apropriada para um subconjunto de aplicações.
Inicialmente, o MPEG-4 destinava-se principalmente a comunicações de vídeo de baixa taxa de bits; no entanto, seu escopo como padrão de codificação multimídia foi posteriormente expandido. O MPEG-4 é eficiente em uma variedade de taxas de bits, variando de alguns kilobits por segundo a dezenas de megabits por segundo. O MPEG-4 oferece as seguintes funções:
* Eficiência de codificação melhorada em MPEG-2
* Capacidade de codificar dados de mídia mista (vídeo, áudio, fala)
* Resiliência a erros para permitir uma transmissão robusta
* Capacidade de interagir com a cena audiovisual gerada no receptor

## Visão geral

O MPEG-4 fornece uma série de tecnologias para desenvolvedores, para vários provedores de serviços e para usuários finais:
* O MPEG-4 permite que diferentes desenvolvedores de software e hardware criem objetos multimídia com melhores habilidades de adaptabilidade e flexibilidade para melhorar a qualidade de serviços e tecnologias como televisão digital, gráficos de animação, World Wide Web e suas extensões.
* Provedores de rede de dados podem usar MPEG-4 para transparência de dados. Com a ajuda de procedimentos padrão, os dados MPEG-4 podem ser interpretados e transformados em outros tipos de sinais compatíveis com qualquer rede disponível.
* O formato MPEG-4 oferece aos usuários finais uma ampla gama de interação com vários objetos animados.
* Sinalização padronizada de gerenciamento de direitos digitais, também conhecida na comunidade MPEG como gerenciamento e proteção de propriedade intelectual (IPMP).
O formato MPEG-4 pode executar várias funções, entre as quais podem ser as seguintes:
* Multiplexação e sincronização de dados, associados a objetos de mídia, de forma que eles possam ser transportados de forma eficiente através de canais de rede.
* Interação com a cena audiovisual, que se forma na lateral do receptor.

### Perfis e Níveis

O MPEG-4 fornece um amplo e rico conjunto de ferramentas para codificação. Subconjuntos dos conjuntos de ferramentas MPEG-4 foram fornecidos para uso em aplicações específicas. Esses subconjuntos, chamados de 'Perfis', limitam o tamanho do conjunto de ferramentas que um decodificador deve implementar. A fim de restringir a complexidade computacional, um ou mais 'níveis' são definidos para cada perfil. Uma combinação de Perfil e Nível permite:
* Um construtor de codecs para implementar apenas o subconjunto do padrão necessário, mantendo a interoperabilidade com outros dispositivos MPEG-4 que implementam a mesma combinação.
* Verificar se os dispositivos MPEG-4 estão em conformidade com o padrão, conhecido como teste de conformidade.

## MPEG-4 Parts

O MPEG-4 consiste em vários padrões - denominados "partes" - incluindo os seguintes (cada parte cobre um certo aspecto de toda a especificação):
Parts MPEG-4 :
| Part | Número | Primeira data de lançamento público (primeira edição) | Última data de lançamento público (última edição) | Última alteração | Título | Descrição |
| Part 1 | ISO/IEC 14496-1 | 1999 | 2010 | 2014 | Systems | Descreve a sincronização e multiplexação de vídeo e áudio. Por exemplo, o formato de arquivo MPEG-4 versão 1 (obsoleto pela versão 2 definida em MPEG-4 Parte 14). A funcionalidade de uma pilha de protocolos de transporte para transmitir e/ou armazenar conteúdo em conformidade com a ISO/IEC 14496 não está dentro do escopo de 14496-1 e apenas a interface para esta camada é considerada (DMIF). As informações sobre o transporte de conteúdo MPEG-4 são definidas, por exemplo, em MPEG-2 Transport Stream, RTP Audio Video Profiles e outros. |
| Part 2 | ISO/IEC 14496-2 | 1999 | 2004 | 2009 | Visual | Um formato de compressão para dados visuais (vídeo, texturas estáticas, imagens sintéticas, etc.). Um dos muitos "perfis" na Part 2 é o Advanced Simple Profile (ASP). |
| Part 3 | ISO/IEC 14496-3 | 1999 | 2009 | 2017 | Audio | Um conjunto de formatos de compressão para codificação perceptiva de sinais de áudio, incluindo algumas variações de Advanced Audio Coding (AAC), bem como outros formatos e ferramentas de codificação de áudio/fala (como Audio Lossless Coding (ALS), Scalable Lossless Coding (SLS), Áudio Estruturado, Text-To-Speech Interface (TTSI), HVXC, CELP e outros) |
| Part 4 | ISO/IEC 14496-4 | 2000 | 2004 | 2016 | Teste de conformidade | Descreve os procedimentos para testar a conformidade com outras partes do padrão. |
| Part 5 | ISO/IEC 14496-5 | 2000 | 2001 | 2017 | software de referência | Fornece software de referência para demonstrar e esclarecer as outras partes do padrão. |
| Part 6 | ISO/IEC 14496-6 | 1999 | 2000 | | Delivery Multimedia Integration Framework (DMIF) | |
| Part 7 | ISO/IEC TR 14496-7 | 2002 | 2004 | | Software de referência otimizado para codificação de objetos audiovisuais | Fornece exemplos de como fazer implementações aprimoradas (por exemplo, em relação à Part 5). |
| Part 8 | ISO/IEC 14496-8 | 2004 | 2004 | | Transporte de conteúdo ISO/IEC 14496 em redes IP | Especifica um método para transportar conteúdo MPEG-4 em redes IP. Ele também inclui diretrizes para projetar formatos de carga útil RTP, regras de uso do SDP para transportar informações relacionadas ao ISO/IEC 14496-1, definições de tipo MIME, análise de segurança RTP e multicasting. |
| Part 9 | ISO/IEC TR 14496-9 | 2004 | 2009 | | Descrição do hardware de referência | Fornece projetos de hardware para demonstrar como implementar as outras partes do padrão. |
| Part 10 | ISO/IEC 14496-10 | 2003 | 2014 | 2016 | Advanced Video Coding (AVC) | Um formato de compressão para sinais de vídeo que é tecnicamente idêntico ao padrão ITU-T H.264. |
| Part 11 | ISO/IEC 14496-11 | 2005 | 2015 | | Descrição da cena e motor de aplicação | Pode ser usado para conteúdo rico e interativo com vários perfis, incluindo versões 2D e 3D. MPEG-4 Part 11 MPEG-4 Part 1 revisado - ISO/IEC 14496-1:2001 e duas emendas ao MPEG-4 Part 1. Ele descreve uma descrição em nível de sistema de um mecanismo de aplicativo (entrega, ciclo de vida, formato e comportamento de Java byte code applications) e o Binary Format for Scene (BIFS) e o Extensible MPEG-4 Textual (XMT) – uma representação textual do conteúdo multimídia MPEG-4 usando XML, etc. (Também é conhecido como BIFS, XMT, MPEG-J. MPEG-J foi definido em MPEG-4 Part 21) |
| Part 12 | ISO/IEC 14496-12 | 2004 | 2015 | 2017 | Formato de arquivo de mídia de base ISO | Um formato de arquivo para armazenar conteúdo de mídia baseado em tempo. É um formato geral que forma a base para vários outros formatos de arquivo mais específicos (por exemplo, 3GP, Motion JPEG 2000, MPEG-4 Part 14). É tecnicamente idêntico ao ISO/IEC 15444-12 (sistema de codificação de imagem JPEG 2000 – Part 12). |
| Part 13 | ISO/IEC 14496-13 | 2004 | 2004 | | Extensões de proteção e gerenciamento de propriedade intelectual (IPMP) | MPEG-4 Parte 13 revisou uma emenda ao MPEG-4 Parte 1 – ISO/IEC 14496-1:2001/Amd 3:2004. Ele especifica processamento, sintaxe e semântica comuns de gerenciamento e proteção de propriedade intelectual (IPMP) para o transporte de ferramentas IPMP no fluxo de bits, transporte de informações IPMP, autenticação mútua para ferramentas IPMP, uma lista de autoridades de registro necessárias para o suporte das especificações alteradas (por exemplo, CISAC), etc. Foi definido devido à falta de interoperabilidade de diferentes mecanismos de proteção (diferentes sistemas DRM) para proteção e distribuição de conteúdo digital protegido por direitos autorais, como música ou vídeo. |
| Part 14 | ISO/IEC 14496-14 | 2003 | 2003 | 2010 | MP4 file format | Também é conhecido como "formato de arquivo MPEG-4 versão 2". O formato de arquivo contêiner designado para conteúdo MPEG-4, que é baseado na Parte 12. Ele revisa e substitui completamente a Cláusula 13 da ISO/IEC 14496-1 (MPEG-4 Part 1: Sistemas), na qual o formato de arquivo MPEG-4 foi previamente especificado. |
| Part 15 | ISO/IEC 14496-15 | 2004 | 2017 | 2020 | Part 15: Transporte de vídeo estruturado de unidade de camada de abstração de rede (NAL) no formato de arquivo de mídia de base ISO | Para armazenamento do vídeo da Part 10. O formato do arquivo é baseado na Part 12, mas também permite o armazenamento em outros formatos de arquivo. |
| Part 16 | ISO/IEC 14496-16 | 2004 | 2011 | 2016 | Animation Framework eXtension (AFX) | Ele especifica o modelo MPEG-4 Animation Framework eXtension (AFX) para representar o conteúdo de gráficos 3D. O MPEG-4 é estendido com objetos sintéticos de alto nível para especificar geometria, textura, animação e algoritmos de compressão dedicados. |
| Part 17 | ISO/IEC 14496-17 | 2006 | 2006 | | Streaming text format | Formato de legenda de texto cronometrado |
| Part 18 | ISO/IEC 14496-18 | 2004 | 2004 | 2014 | Compressão e streaming de fontes | Para Open Font Format definido na Part 22. |
| Part 19 | ISO/IEC 14496-19 | 2004 | 2004 | | Synthesized texture stream | Os fluxos de textura sintetizada são usados ​​para a criação de videoclipes sintéticos de taxa de bits muito baixa. |
| Part 20 | ISO/IEC 14496-20 | 2006 | 2008 | 2010 | Lightweight Application Scene Representation (LASeR) and Simple Aggregation Format (SAF) | Os requisitos do LASeR (eficiência de compactação, código e área de memória) são atendidos com base no formato Scalable Vector Graphics (SVG) existente definido pelo World Wide Web Consortium. |
| Part 21 | ISO/IEC 14496-21 | 2006 | 2006 | | MPEG-J Graphics Framework eXtensions (GFX) | Descreve um ambiente programático leve para aplicativos multimídia interativos avançados – uma estrutura que combina um subconjunto do ambiente de aplicativo Java padrão MPEG (MPEG-J) com uma API Java. (no estágio "FCD" em julho de 2005, FDIS em janeiro de 2006, publicado como padrão ISO em 22/11/2006). |
| Part 22 | ISO/IEC 14496-22 | 2007 | 2015 | 2017 | Open Font Format | OFFS é baseado na especificação de formato de fonte OpenType versão 1.4 e é tecnicamente equivalente a essa especificação. Atingiu o estágio "CD" em julho de 2005, publicado como padrão ISO em 2007 |
| Part 23 | ISO/IEC 14496-23 | 2008 | 2008 | | Symbolic Music Representation (SMR) | Atingiu o estágio "FCD" em outubro de 2006, publicado como padrão ISO em 28/01/2008 |
| Part 24 | ISO/IEC TR 14496-24 | 2008 | 2008 | | Interação de áudio e sistemas | Descreve o comportamento conjunto desejado do formato de arquivo MPEG-4 e do áudio MPEG-4. |
| Part 25 | ISO/IEC 14496-25 | 2009 | 2011 | | Modelo de compressão de gráficos 3D | Define um modelo para conectar ferramentas de Compressão de Gráficos 3D definidas nos padrões MPEG-4 a primitivas gráficas definidas em qualquer outro padrão ou especificação. |
| Part 26 | ISO/IEC 14496-26 | 2010 | 2010 | 2016 | Conformidade de áudio | |
| Part 27 | ISO/IEC 14496-27 | 2009 | 2009 | 2015 | 3D Graphics conformance | A Conformidade de Gráficos 3D resume os requisitos, faz referências cruzadas com as características e define como a conformidade com eles pode ser testada. Orientações são dadas na construção de testes para verificar a conformidade do decodificador. |
| Part 28 | ISO/IEC 14496-28 | 2012 | 2012 | | Representação de fonte composta | |
| Part 29 | ISO/IEC 14496-29 | 2014 | 2015 | | Web video coding | O texto da Part 29 é derivado da Part 10 - ISO/IEC 14496-10. A codificação de vídeo da Web é uma tecnologia compatível com o perfil de linha de base restrita da ISO/IEC 14496-10 (o subconjunto especificado no Anexo A para linha de base restrita é uma especificação normativa, enquanto todas as partes restantes são informativas). |
| Part 30 | ISO/IEC 14496-30 | 2014 | 2014 | | Texto cronometrado e outras sobreposições visuais no formato de arquivo de mídia de base ISO | Ele descreve o transporte de algumas formas de texto cronometrado e fluxos de legendas em arquivos baseados em ISO/IEC 14496-12 - W3C Timed Text Markup Language 1.0, W3C WebVTT (Web Video Text Tracks). A documentação desses formulários não exclui outra definição de transporte de texto cronometrado ou legendas; consulte, por exemplo, 3GPP Timed Text (3GPP TS 26.245). |
| Part 31 | ISO/IEC 14496-31 | Em desenvolvimento (2018-05) | | | Video Coding for Browsers | Video Coding for Browsers (VCB) - uma tecnologia de compactação de vídeo destinada ao uso no navegador da World Wide Web |
| Part 32 | ISO/IEC CD 14496-32 | Em desenvolvimento | | | Software de conformidade e referência | |
| Part 33 | ISO/IEC FDIS 14496-33 | Em desenvolvimento | | | Internet video coding | |
Os perfis também são definidos dentro das "partes" individuais, portanto, uma implementação de uma parte normalmente não é uma implementação de uma parte inteira.
MPEG-1, MPEG-2, MPEG-7 e MPEG-21 são outros conjuntos de padrões MPEG.

## MPEG-4 Levels

Os níveis de baixo perfil fazem parte das restrições de codificação/decodificação de vídeo MPEG-4 e são compatíveis com o antigo padrão ITU H.261, também compatível com os antigos padrões de TV analógica para transmissão e gravação (como vídeo NTSC ou PAL). O perfil ASP em seu nível mais alto é adequado para a maioria das mídias e reprodutores de DVD comuns ou para muitos sites de vídeo online, mas não para discos Blu-ray ou conteúdos de vídeo HD online.
| Perfil | Level | Max. buffer | Max. bitrate | Max. delay | Max. tamanho VP | Max. tamanho VOP | Taxa máxima do decodificador | Max. framesize | Max. framesize | Max. framesize | Max. framesize | Max. framesize |
| Perfil | Level | Max. buffer | Max. bitrate | @ max. bitrate | Max. tamanho VP | Max. tamanho VOP | Taxa máxima do decodificador | @ 30 Hz | @ 25 Hz | @ 24 Hz | @ 15 Hz | @ 12.5 Hz |
| SP | L0 | 160 | 64 | 2.50 | 2,048 | 99 | 1,485 | — | — | — | QCIF (176×144) | QCIF (176×144) |
| SP | L0b | 320 | 128 | 2.50 | 2,048 | 99 | 1,485 | — | — | — | QCIF (176×144) | QCIF (176×144) |
| SP | L1 | 160 | 64 | 2.50 | 2,048 | 99 | 1,485 | 128×96 | 144×96 | 160×96 | QCIF (176×144) | QCIF (176×144) |
| SP | L2 | 640 | 128 | 5.00 | 4,096 | 396 | 5,940 | 256×192 | 304×192, 288×208 | 304×208 | CIF (352×288) | CIF (352×288) |
| SP | L3 | 640 | 384 | 1.66 | 8,192 | 396 | 11,880 | CIF (352×288) | CIF (352×288) | CIF (352×288) | CIF (352×288) | CIF (352×288) |
| SP | L4a | 1,280 | 4,000 | 0.32 | 16,384 | 1,200 | 36,000 | VGA (640×480) | VGA (640×480) | VGA (640×480) | VGA (640×480) | VGA (640×480) |
| SP | L5 | 1,792 | 8,000 | 0.22 | 16,384 | 1,620 | 40,500 | D1 NTSC (720×480) | D1 PAL (720×576) | D1 PAL (720×576) | D1 PAL (720×576) | D1 PAL (720×576) |
| SP | L6 | 3,968 | 12,000 | 0.33 | 16,384 | 3,600 | 108,000 | 720p (1280x720) | 720p (1280x720) | 720p (1280x720) | 720p (1280x720) | 720p (1280x720) |
| ASP | L0 | 160 | 128 | 1.25 | 2,048 | 99 | 2,970 | QCIF (176×144) | QCIF (176×144) | QCIF (176×144) | QCIF (176×144) | QCIF (176×144) |
| ASP | L1 | 160 | 128 | 1.25 | 2,048 | 99 | 2,970 | QCIF (176×144) | QCIF (176×144) | QCIF (176×144) | QCIF (176×144) | QCIF (176×144) |
| ASP | L2 | 640 | 384 | 1.66 | 4,096 | 396 | 5,940 | 256×192 | 304×192, 288×208 | 304×208 | CIF (352×288) | CIF (352×288) |
| ASP | L3 | 640 | 768 | 0.86 | 4,096 | 396 | 11,880 | CIF (352×288) | CIF (352×288) | CIF (352×288) | CIF (352×288) | CIF (352×288) |
| ASP | L3b | 1,040 | 1,500 | 0.69 | 4,096 | 396 | 11,880 | CIF (352×288) | CIF (352×288) | CIF (352×288) | CIF (352×288) | CIF (352×288) |
| ASP | L4 | 1,280 | 3,000 | 0.43 | 8,192 | 792 | 23,760 | 352×576, 704×288 | 352×576, 704×288 | 352×576, 704×288 | 352×576, 704×288 | 352×576, 704×288 |
| ASP | L5 | 1,792 | 8,000 | 0.22 | 16,384 | 1,620 | 48,600 | 720×576 | 720×576 | 720×576 | 720×576 | 720×576 |
| Unidades | Unidades | kbits | kbits/s | segundos | bits | macroblocos | macroblocos | pixels | pixels | pixels | pixels | pixels |
Perfis mais avançados para mídia HD foram definidos posteriormente no perfil AVC, que é funcionalmente idêntico ao padrão ITU H.264, mas agora também integrado ao MPEG-4 Part 10 (consulte H.264/MPEG-4 AVC para obter a lista de níveis definidos neste perfil AVC).

## Licenciamento

O MPEG-4 contém tecnologias patenteadas, cujo uso requer licenciamento em países que reconhecem patentes de algoritmos de software. Mais de duas dúzias de empresas afirmam ter patentes que cobrem o MPEG-4. A MPEG LA licencia as patentes necessárias para o MPEG-4 Part 2 Visual de uma ampla gama de empresas (o áudio é licenciado separadamente) e lista todos os seus licenciantes e licenciados no site. Novas licenças para patentes do Sistema MPEG-4 estão em desenvolvimento e nenhuma nova licença está sendo oferecida enquanto os detentores de sua antiga licença do Sistema MPEG-4 ainda estiverem cobertos pelos termos dessa licença para as patentes listadas (MPEG LA – Lista de Patentes).
A maioria das patentes usadas para o formato MPEG-4 Visual são detidas por três empresas japonesas: Mitsubishi Electric (255 patentes), Hitachi (206 patentes) e Panasonic (200 patentes).