Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia MPEG-Systems Profa. Débora Christina Muchaluat Saade debora@midiacom.uff.br MPEGMPEG--SystemsSystems Profa. Débora Christina Muchaluat Saade debora@midiacom.uff.br Departamento de Engenharia de TelecomunicaDepartamento de Engenharia de Telecomunicaçções ões -- UFFUFF 2 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia MPEGMPEG--1 1 SystemsSystems 3 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia MPEGMPEG--2 Systems2 Systems � 2 tipos de fluxos de transporte: • SPTS – Single Program Transport Stream – Vários fluxos elementares (video, áudio diferentes e dados) compartilhando uma base de tempo comum. • Ex.: um filme transmitido em vários idiomas • MPTS – Multiple Program Transport Stream 4 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia MPEGMPEG--2 Systems2 Systems 5 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia MPEGMPEG--2 TS2 TS � Serviços descritos através de um conjunto de tabelas (PSI – Program Specific Information) • PAT – Program Association Table • PMT – Program Map Table 6 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia TabelasTabelas do MPEGdo MPEG--2 TS2 TS � Cada pacote MPEG-2 TS indica • PID – Program Identification • Carrega seções (com informações das tabelas) ou PES (fluxos elementares empacotados) 7 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia ExemploExemplo de MPEG TSde MPEG TS 8 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia MPEG-4 Profa. Débora Christina Muchaluat Saade deborams@telecom.uff.br MPEGMPEG--44 Profa. Débora Christina Muchaluat Saade deborams@telecom.uff.br Departamento de Engenharia de TelecomunicaDepartamento de Engenharia de Telecomunicaçções ões -- UFFUFF 9 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia MultimMultimíídia para Qualquer Plataformadia para Qualquer Plataforma 10 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia MPEGMPEG--44 � Objetos de mídia podem ser de origem natural ou sintética • Áudio (voz ou música), vídeo, objetos 2D e 3D � Composições de objetos formam cenas audiovisuais � Interatividade com o usuário � Transmissão sobre qualquer tipo de rede 11 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia MPEGMPEG--44 � Composição de cenas • Definida como: – Background – 1 ou mais objetos audiovisuais • AVO – audio-visual object • podem ser compostos de vários objetos de mídia individuais – Ex.: objeto pessoa = vídeo + áudio 12 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia Cenas MPEGCenas MPEG--44 13 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia Cenas MPEGCenas MPEG--44 14 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia Cena MPEGCena MPEG--44 15 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia BIFSBIFS � BInary Format for Scenes • Linguagem binária usada para descrição de cenas • Derivada da VRML (Virtual Reality Modeling Language) – padrão ISO 16 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia DescriDescriçção das Cenasão das Cenas � BIFS – linguagem binária � eXtensible MPEG-4 Textual format (XMT) • Integração dos objetos de mídia nas cenas • Sintaxe textual • Baseada em XML • Interoperabilidade com outros padrões: X3D e SMIL 17 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia InteroperabilidadeInteroperabilidade � eXtensible MPEG-4 Textual format (XMT) X M T M P E G - 4 R e p r e s e n t a t i o n ( e . g . m p 4 ) S M I L M P E G - 7 S V G P a r s e C o m p i l e S M I L P l a y e r V R M L B r o w s e r M P E G - 4 P l a y e rX 3 D 18 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia XMTXMT � XMT oferece dois níveis de sintaxe e semântica: • XMT-ΩΩΩΩ – autoria de alto nível – Compatível com SMIL • XMT-A – mesmo nível de abstração do BIFS de forma textual – Compatível com X3D 19 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia XMTXMT 20 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia MPEGMPEG--44 � Cada objeto tem um descritor • Object descriptor – Fornece as informações sobre o objeto (tipo de codificação, ...) � Fluxo MPEG4 possui vários fluxos elementares: • Fluxos de mídia – Cada objeto tem os seus fluxos (1 ou mais) • Fluxos de controle – Descrição em BIFS – Descritores de objetos 21 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia IntegraIntegraçção entre os fluxos elementaresão entre os fluxos elementares 22 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia MPEGMPEG--4 4 SystemsSystems � Fluxo MPEG-4 é transportado na rede como um fluxo de transporte (transport stream - TS) • Consistindo de um fluxo multiplexando vários fluxos elementares empacotados (packetized elementary streams - PES) � A informação de cada objeto audiovisual é chamada de fluxo elementar (elementary stream - ES) • Carregada no payload de um pacote PES � Descritores – elementary stream descriptor – ESD – são usados pela camada de sincronização para entregar o fluxo elementar ao decodificador apropriado. 23 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia Fluxos MPEGFluxos MPEG--44 24 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia MPEGMPEG--4 4 SystemsSystems/DMIF/DMIF DMIF – Delivery Multimedia Integration Framework 25 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia Receptor MPEGReceptor MPEG--44 34 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia MPEGMPEG--4 V4 Víídeodeo � Dois padrões para codificação de vídeo MPEG-4 • MPEG-4 Parte 2 – 1994 a 1999 • MPEG-4/H.264 Parte 10 – 1999 a 2005 – Marpe, Wiegand, Sullivan. The H.264/MPEG4 Advanced Video Coding Standard and its Applications, IEEE Communications Magazine, Agosto de 2006. – Wiegand, Sullivan, Bjontegaard, Luthra. Overview of the H.264 Video Coding Standard, IEEE Transactions of Circuits and Systems for Video Technology, Vol.13, No.7, Julho de 2003. – Richardson. H.264 and MPEG-4 Video Compression – Video Coding for Next-generation Multimedia, John Wiley & Sons Inc., 2003. 35 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia H.264/MPEGH.264/MPEG--4 Parte 104 Parte 10 � AVC – Advanced Video Coding � Padrão mais recente para codificação de vídeo � Esforço conjunto do grupos: • ITU-T Video Coding Experts Group (VCEG) • ISO/IEC Moving Pictures Expert Group (MPEG) � Padrão inicial e conjunto de extensões FRExt (fideliy range extensions) - 2005 36 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia H.264/MPEGH.264/MPEG--4 AVC4 AVC � Principais novidades na codificação de vídeo em relação a padrões anteriores considerando estimativa e compensação de movimento: • Mais flexibilidade no tamanho do bloco para realizar compensação de movimento variando de 16x16 a 4x4 • Possibilidade de uso de um quarto de pixel (quarter sample) para realizar a compensação de movimento • Vetores de movimento podem ultrapassar os limites de um quadro (como no H.263) • Compensação de movimento usando múltiplos quadros de referência (para P e B) 37 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia H.264/MPEGH.264/MPEG--4 AVC4 AVC � Principais novidades na codificação de vídeo em relação a padrões anteriores considerando estimativa e compensação de movimento: • Desacoplamento da ordem de referência da ordem de apresentação • Possibilidade de uso de quadros B como referência para codificação de outros quadros • Predição de quadros de maneira ponderada pelo codificador (cenas com fades) • Filtragem anti-bloco (deblocking filtering) – evita efeitos de visualização da imagem em blocos (blocking artifacts) 38 Fundamentos de SistemasMultimFundamentos de Sistemas Multimíídiadia H.264/MPEGH.264/MPEG--4 AVC4 AVC � Principais novidades adicionais na codificação de vídeo em relação a padrões anteriores que ajudam a aumentar a eficiência na codificação: • Menor tamanho de bloco para aplicação da transformada (8x8 ou 4x4) • Transformada hieráquica • Transformada com palavras de tamanho pequeno – padrões anteriores usavam processamento de 32 bits, H.264/AVC usa aritmética de 16 bits 39 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia H.264/MPEGH.264/MPEG--4 AVC4 AVC � Principais novidades adicionais na codificação de vídeo em relação a padrões anteriores que ajudam a aumentar a eficiência na codificação: • Transformada inversa exata, permitindo obter a mesma qualidade de decodificação em todos os decodificadores • Codificação por entropia usando codificação aritmética (CABAC – context-adaptive binary arithmetic coding) • Codificação por entropia adaptativa ao contexto: ambos os métodos CAVLC e CABAC utilizam codificação adaptativa ao contexto para melhorar o desempenho do codificador 41 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia H.264/MPEGH.264/MPEG--4 AVC4 AVC � Estrutura do codificador de vídeo H.264/AVC 42 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia H.264/MPEGH.264/MPEG--4 AVC4 AVC � NAL (Network abstraction layer) � Conceitos principais • Unidades NAL – pacote que contém um número inteiro de bytes – formato genérico para uso em redes orientadas a pacotes ou fluxo de bytes – Um fluxo de unidades NAL pode conter uma ou mais seqüências de vídeo codificadas (GOP) • 2 formatos para unidades NAL – Fluxo de bytes – Fluxo de pacotes 43 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia H.264/MPEGH.264/MPEG--4 AVC4 AVC � NAL (Network abstraction layer) � Conceitos principais • Formato para fluxo de bytes – Unidade NAL começa com um código de início (start code de 3 bytes) – Um byte por quadro de vídeo é necessário para permitir alinhamento • Formato para transporte de pacotes – Unidades NAL são transportadas em pacotes (sem start code) • Conjuntos de parâmetros – Non-VCL NALs: usadas para troca de parâmetros entre codificador e decodidifcador • Unidades de acesso – Um conjunto de unidades NAL de formato específico representa uma unidade de acesso, cuja decodificação resulta em um quadro do vídeo 44 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia H.264/MPEGH.264/MPEG--4 AVC4 AVC � Troca de conjuntos de parâmetros 45 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia Estrutura de Unidade de AcessoEstrutura de Unidade de Acesso � SEI – supplemental enhancement information • Informação de temporização � Quadro dividido em fatias (slices) � Informações redundantes opcionais para recuperação de perdas • Decodificadores não são obrigados a decodificar essas informações � Se for o último quadro da seqüência (end of sequence) � Se for o último quadro do fluxo de unidades NAL (end of stream) 46 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia H.264/MPEGH.264/MPEG--4 AVC4 AVC � VCL (Video Coding Layer) � Seqüência de vídeo codificada • Quadros codificados – Quadro inteiro • Quadro progressivo – ½ quadro (campo) • Quadro entrelaçado 47 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia H.264/MPEGH.264/MPEG--4 AVC4 AVC � Representação de cor YCrCb � Formato mais comum • 4:2:0 e 8 bits por componente � Pode chegar a • 4:2:2 com 10 bits por componente � Cada quadro é dividido em macroblocos de • 16x16 para Y • 8x8 para Cr e Cb 48 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia H.264/MPEGH.264/MPEG--4 AVC4 AVC � FMO – Flexible macroblock ordering • Conceito de grupos de fatias – Existe um mapa relacionando macroblocos com grupo de fatias • Cada macrobloco contém um número de identificação de grupo de fatias � ASO – Arbitrary Slice Ordering • slices podem ser enviados em qualquer ordem Sem FMO Com FMO (ex.: ROI e videoconferência) 49 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia H.264/MPEGH.264/MPEG--4 AVC4 AVC � Tipos de quadros: • Quadros I – Todos os macroblocos em uma fatia (slice) podem ser preditos (codificação diferencial) por dados previamente codificados – Até em quadros I, amostras são preditas por outras na fatia corrente que já foram codificadas – Macroblocos podem variar de 16x16 a 4x4 50 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia H.264/MPEGH.264/MPEG--4 AVC4 AVC � Predição de macroblocos I 51 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia H.264/MPEGH.264/MPEG--4 AVC4 AVC � Tipos de quadros: • Compensação de Movimento – Quadros P • suportam múltiplos quadros de referência – Quadros B • suportam múltiplos quadros de referência • Também podem ser usados como quadros de referência • Diferença principal entre quadros P e B é que macroblocos de quadros B podem usar média ponderada de macroblocos de 2 listas distintas de quadros para calcular estimativa e compensação de movimento bidirecional 52 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia H.264/MPEGH.264/MPEG--4 AVC4 AVC �Múltiplos quadros de referência para fazer compensação e estimativa de movimento 53 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia H.264/MPEGH.264/MPEG--4 AVC4 AVC � Predição Inter-quadro • Vários tipos de macroblocos para realizar compensação e estimativa de movimento – 16x16, 16x8, 8x16, 8x8 • Se partição 8x8 foi escolhida, ela pode ser particionada novamente em 8x4, 4x8 e 4x4 54 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia H.264/MPEGH.264/MPEG--4 AVC4 AVC � Compensação de movimento (Y) • precisão de ¼ de pixel • ¼ pixel é calculado com a média do pixel e ½ pixel ½ pixel b = round ((E – 5F + 20G + 20H – 5I +J) / 32) ¼ pixel a = round((G + b) / 2) 55 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia H.264/MPEGH.264/MPEG--4 AVC4 AVC � Tipos de quadros: • SI (switching I) e SP (switching P) permitem – troca eficiente entre fluxos de vídeo • por exemplo, o mesmo vídeo codificado em diferentes taxas – acesso aleatório eficiente para decodificadores 56 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia H.264/MPEGH.264/MPEG--4 AVC4 AVC � Transformadas e Quantização • Ao invés de usar a DCT em blocos 8x8, como nos outros padrões • MPEG-4/H.264 usa transformadas inteiras de diferentes tamanhos de blocos (4x4) • Transformada de Hadamard adicional é aplicada aos coeficientes DC das componentes de crominância (2x2) 57 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia H.264/MPEGH.264/MPEG--4 AVC4 AVC � Codificação por Entropia • Exponential Golomb Codes – valores de parâmetros que são mais freqüentes usam palavras- código de menor tamanho (ex. Macrobloco tipo P 16x16 – code_num=0) Formato: [M zeros][1][INFO] onde INFO tem M bits M = floor(log2[cod_num + 1]) INFO = code_num + 1 – 2M Decodificação: 1.Leia M zeros seguidos de 1 2.Leia o campo INFO de M bits 3. code_num = 2M + INFO - 1 58 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia H.264/MPEGH.264/MPEG--4 AVC4 AVC � Codificação por Entropia • Para transmitir os coeficientes das transformadas quantizados: – CAVLC – Context-Adaptive Variable Length Coding – CABAC – Context-Adaptive Binary Arithmetic Coding • CABAC fornece uma redução típica de 10% a 20% em relação ao CAVLC 59 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia H.264/MPEGH.264/MPEG--4 AVC4 AVC � In-loop deblocking filter (filtragem anti-bloco) • Idéia básica: identificar “blocking artifact” – se existe diferença absoluta grande entre amostras próximas ao limite de um bloco => efeito em blocos • Filtro suaviza a diferença sem filtro com filtro 60 Fundamentos de Sistemas MultimFundamentosde Sistemas Multimíídiadia H.264/MPEGH.264/MPEG--4 AVC4 AVC � Atualmente são 6 perfis distintos: • Versão 1: – Baseline – Main – Extended • FRExt (versão 3) – High – High 10 – High 4:2:2 61 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia H.264/MPEGH.264/MPEG--4 AVC4 AVC � Perfis 62 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia H.264/MPEGH.264/MPEG--4 AVC4 AVC � Comparação H.264/MPEG4-AVC com MPEG-2 63 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia SBTVDSBTVD � Perfis Baseline e High 64 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia SBTVDSBTVD � Duas combinações de perfil@nível H.264 • SDTV e HDTV => HP@L4 – High profile at level 4 – HDTV: 16:9 – SDTV: 4:3 ou 16:9 • LDTV => BP@L1.3 – Baseline profile at level 1.3 – LDTV: 4:3 ou 16:9 65 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia SBTVDSBTVD � Nível 4 – Full-seg – High Profile • Resolução: – SDTV: 720x480 – HDTV: • 1280x720 (HD) • 1920x1080 (Full HD) • Taxa de quadros: – SDTV: 30Hz ou 60Hz – HDTV: 60Hz – Full HD: 30Hz 66 Fundamentos de Sistemas MultimFundamentos de Sistemas Multimíídiadia SBTVDSBTVD � Nível 1.3 - One-seg • Baseline Profile
Compartilhar