Transporte MPEG-2 Paulo Martinelli Hemmlepp [email protected] Objetivos da aula Entender conceitos básicos de transmissão de áudio, vídeo e dados em TV Digital. Roteiro Conceitos Básico Multiplexação MPEG-2 Tabelas MPEG-2 Tabelas DVB Especificações MPEG-2 Conjunto de 10 especificações ISO/IEC: A maior parte dessa aula vem desta especificação 13818-1 Systems. 13818-2 Video Coding. 13818-3 Audio Coding. 13818-6 Data Broadcast and DSMCC. 13818-7 Advanced Audio Coding(AAC). ANTES ALGUMS CONCEITOS Conceitos Elementary Stream Elementary Stream (ES) é um conjunto de bytes(fluxo de dados) de um tipo de dado específico. Áudio. Vídeo. Dados. ES ES ES ES ES ES ES 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 PES Agora que temos vários pacotes de ES diferentes, eles tem de ser multiplexados para serem transmitidos. Multiplexação MPEG-2 Existem dois processos de multiplexação: Program Stream Transport Stream Program Stream Apenas um programa é multiplexado. Conjunto de ES que acoplamento temporal. tem um forte 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. Onde Multiplexação Program Stream é Usada? Ideal para ser usado num ambiente robusto. 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. Transport Stream Um ou mais programas multiplexados juntos. podem ser 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. 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. Transport Stream Pacote Transport Stream MPEG-2: Program Specific Information(PSI). 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). Program Specific Information (PSI) Na verdade essas tabelas são pacotes padronizados. Possuem PID específicos. São transmitidos regularidade. com uma certa Tabelas Program Specific Information PAT CAT PMT NIT Program Specific Information Exemplos de PID específicos: PAT (Program Association Table) ID: 0 CAT (Conditional Access Table) ID: 1 Pacote nulo ID: 8191 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). PMT (Program Map Table) Lista todos os Elementary Stream que formam um programa. CAT (Conditional Access Table) Se o Transport Stream for criptografado, fornece informações de como o decodificador pode descriptografar. NIT(Network Information Table) Informações de modulação. Freqüência. Nome da operadora de rede. DVB Service Information(SI) 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. 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 Service Description Table Lista o nome e outras informações de todos os serviços que estão no Transport Stream. 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). Aplication Information Table Informações sobre uma aplicação (Java) associada a um programa. Qual classe é a principal. Nome da aplicação. AIT 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. 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