transporte mpeg-2 paulo martinelli hemmlepp [email protected]

42
Transporte MPEG-2 Paulo Martinelli Hemmlepp [email protected]

Upload: internet

Post on 21-Apr-2015

113 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Transporte MPEG-2

Paulo Martinelli Hemmlepp

[email protected]

Page 2: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Objetivos da aula

Entender conceitos básicos de transmissão de áudio, vídeo e dados em TV Digital.

Page 3: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Roteiro

Conceitos Básico Multiplexação MPEG-2 Tabelas MPEG-2 Tabelas DVB

Page 4: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Especificações MPEG-2

Conjunto de 10 especificações ISO/IEC:

13818-1 Systems. 13818-2 Video Coding. 13818-3 Audio Coding. 13818-6 Data Broadcast and DSMCC. 13818-7 Advanced Audio Coding(AAC).

A maior parte dessa aula vem desta especificação

Page 5: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

ANTES ALGUMS CONCEITOS

Page 6: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Conceitos

Page 7: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Elementary Stream

Elementary Stream (ES) é um conjunto de bytes(fluxo de dados) de um tipo de dado específico. Áudio. Vídeo. Dados.

Page 8: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

ES ES ES ES ES ES ES

Page 9: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Packetized Elementary Stream

Os fluxos de dados (ES) são divididos em pacotes.

Esse pacotes são chamados de Packetized Elementary Stream (PES).

A cada X número de bytes é adicionado um cabeçalho de 6 bytes.

Isso permite: Detecção de erros Multiplexação dos dados

Page 10: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

PES

Page 11: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Agora que temos vários pacotes de ES diferentes, eles tem de ser multiplexados para serem

transmitidos.

Page 12: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Multiplexação MPEG-2

Existem dois processos de multiplexação:

Program Stream Transport Stream

Page 13: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Program Stream

Apenas um programa é multiplexado. Conjunto de ES que tem um forte

acoplamento temporal. O tamanho dos pacotes PES são variáveis e

podem sem muito grandes. Mais difícil de decodificar devido a variação de

tamanho dos pacotes. Ideal para ser usado num ambiente robusto.

Page 14: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Onde Multiplexação Program Stream é Usada? Ideal para ser usado num ambiente robusto.

Page 15: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Program Stream

O tamanho dos pacotes PES são variáveis e podem sem muito grandes. Por quê? Em um filme, as partes lentas tem menos

pacotes de vídeo do que as partes com muita ação.

Então a velocidade de transmissão varia de acordo com o tipo de vídeo.

Para o DVD é fácil alterar a velocidade de leitura do disco.

Page 16: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Transport Stream

Um ou mais programas podem ser multiplexados juntos.

O tamanho do pacote é constante. Ideal para ambientes não robustos:

Fácil de detectar o início e fim do pacote. Mais fácil de detectar perda de dados. Mais difícil de desmultiplexar devido os vários

programas.

Page 17: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Transport Stream

Pacotes do tamanho de 188 bytes. 4 bytes de cabeçalho

Todo pacote começa com 0x47 Fácil de detectar o início do pacote.

Cada pacote que carrega um determinado ES tem o mesmo PID.

Cada pacote tem um contador para que se detecte perda de pacotes.

Page 18: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Transport Stream

Page 19: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Pacote Transport Stream

Page 20: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

MPEG-2: Program Specific Information(PSI).

Page 21: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Program Specific Information (PSI)

Como o Transport Stream possuí vários programas e serviços, sua decodificação é mais complicada. É necessário Metadados para dizer ao

decodificador o que decodificar.

Para isso existe as Tabelas de Program Specific Information (PSI).

Page 22: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Program Specific Information (PSI)

Na verdade essas tabelas são pacotes padronizados. Possuem PID específicos.

São transmitidos com uma certa regularidade.

Page 23: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Tabelas Program Specific Information

PAT CAT PMT NIT

Page 24: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Program Specific Information

Exemplos de PID específicos: PAT (Program Association Table)

ID: 0 CAT (Conditional Access Table)

ID: 1 Pacote nulo

ID: 8191

Page 25: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

PAT (Program Association Table)

Tabela que mostra todos os programas que o Transport Stream está carregando.

Lista todas os IDs dos PMT (Program Map Table).

Page 26: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

PMT (Program Map Table)

Lista todos os Elementary Stream que formam um programa.

Page 27: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br
Page 28: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br
Page 29: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

CAT (Conditional Access Table)

Se o Transport Stream for criptografado, fornece informações de como o decodificador pode descriptografar.

Page 30: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

NIT(Network Information Table)

Informações de modulação. Freqüência. Nome da operadora de rede.

Page 31: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

DVB Service Information(SI)

Page 32: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Tabelas Service Information(SI)

Além das tabelas definidas no padrão MPEG-2, cada padrão de TV Digital define novas tabelas.

Entre elas temos as Tabelas de Service Information definidas no padrão de TV Digital DVB.

Page 33: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Padrão DVB

Tabelas: SDT - Service Description EIT - Event Information TDT - Time and Date AIT (Application Information Table) BAT - Bouquet Association RST - Running Status ST - Stuffing Tables

Page 34: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Service Description Table

Lista o nome e outras informações de todos os serviços que estão no Transport Stream.

Page 35: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Event Information Table

Possui informações sobre o evento atual e dos eventos passados e futuros. Horário de início Duração Descrição

Útil para fazer um EPG (Eletronic Service Guide).

Page 36: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br
Page 37: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br
Page 38: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Aplication Information Table

Informações sobre uma aplicação (Java) associada a um programa.

Qual classe é a principal. Nome da aplicação.

Page 39: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

AIT

Page 40: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Time and Date Table

Manda a hora e a data. Quase todo STB usa essa tabela para

sincronizar seu relógio. O usuário não tem nem como ajustar o relógio do mesmo.

Page 41: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br
Page 42: Transporte MPEG-2 Paulo Martinelli Hemmlepp pmh@cin.ufpe.br

Referências

http://www.interactivetvweb.org/ http://dvbsnoop.sourceforge.net/ http://www.videolan.org/vlc/ http://www.coolstf.com/tsreader/

http://erg.abdn.ac.uk/research/future-net/digital-video/mpeg2-trans.html

Especificações MPEG-2 e DVB-MHP