El consorcio DVB Consorcio de mas de 300 entidades Broadcasters, fabricantes de equipos, operadores de red, entidades reguladoras, desarrolladores de software Mas de 35 países… Desarrollo de especificaciones para transmisión de TVDi 1 El consorcio DVB Especificación -> Estándar (ETSI, CENELEC…) Desarrollado por y para la industria Se crea en 1992 como una iniciativa europea, pero a día de hoy se utiliza en países de todo el mundo (54 en noviembre 2004) 2 Un poco de vocabulario DVB… Elementary Stream Event Service Multiplex Bouquet Network 3 Elementary Stream Un Elementary Stream (ES), es un stream de video, audio o datos binarios codificados en MPEG-2 Cada ES viaja en un PID diferente 4 Event Como primera aproximación podemos decir que un evento es un programa de televisión. Contiene varios ES, que pueden ser de tipos diferentes o no. En realidad hay eventos de muchos tipos (programas de TV, radios digitales…) 5 Service Un servicio es un canal de TV (no necesariamente) Un servicio ofrece varios eventos, uno detrás de otro El número de ES puede variar en el tiempo, así como sus características MPEG-2 llama program a lo que DVB llama service 6 Service Conjunto de ES agrupados lógicamente •Video Streams •Audio Streams •Data Streams •SI •Datos privados •DSM-CC OC •Aplicaciones 7 Multiplex Conjunto de servicios multiplexados en MPEG-2 Cada multiplex viaja en una frecuencia diferente Bit rate < 40 Mbits/s Depende del medio de transmisión al que esté destinado… 8 Multiplex Ejemplo: Video 3-5 Mbps Audio 0.2 Mbps DSMCC 1 Mbps 9 Bouquet Grupo de servicios (“canales de tv”) agrupados lógicamente (paquete de fútbol, paquete de cine...) De esta manera podemos tener en cada paquete mas canales o menos de los que caben en un multiplex, y seguir manteniéndolos ordenados sin bajar la eficiencia 10 Network Cada operador tiene una red BBC, Canal Satélite, Sky... Cada operadora puede transmitir mas de un multiplex No es necesario que la operadora sea propietaria del medio de transmisión 11 Paquetes MPEG-2 Los flujos elementales de datos se dividen en paquetes. Un paquete es una agrupación de bits del mismo tipo (video, audio, datos…) Paquetes en función de la aplicación Longitud variable Longitud fija 12 Paquetes MPEG-2 13 Paquetes MPEG-2 Multiplexación Estadística 14 Paquetes MPEG-2 Extensibilidad del Sistema 15 MPEG-2 Elementary Stream Hemos visto que un ES puede ser de tipos muy variados (video, audio, subtítulos, aplicaciones interactivas…) ES de Vídeo y Audio Unidad de Presentación (UP) Unidad de Acceso (UA) Forman el elementary stream (VES o AES) 16 MPEG-2 Elementary Stream Vídeo Audio 17 Sincronismo Audio/Vídeo PTS (Presentation Time Stamps) Las Unidades de Presentación de Audio y Vídeo, raramente coinciden APU de 1152 muestras a 44100 muestras/segundo duran 26.12 ms VPU a 25 Hz duran 40 ms Necesidad de indicar el tiempo en que la UP ha de mostrarse. PTS diferentes para vídeo y para audio. Varios programas en una sola trama, imposible ajustar tiempo de presentación y tiempo de llegada 18 Sincronismo Audio/Vídeo DTS (Decoding Time Stamps) Las Unidades de Acceso son de diferentes tamaños y su tiempo de decodificación es diferente. Solo aparecen en las tramas de vídeo 19 Packetised Elementary Stream (PES) El siguiente paso en la multiplexación es convertir cada Elementary Stream en paquetes PES (Packetised Elementary Stream) 20 Paquetes PES 21 Paquetes PES Longitud Variable < 64 Kbytes Campos PES Packet Start Code (0x01) Stream Id Vídeo MPEG-2, Audio MPEG-2, Teletexto, DSMCC, subtitulos… PTS y DTS PES scrambling control Vídeo y Audio siempre en PES 22 Transport Stream vs Program Stream MPEG-2 define dos maneras de construir la trama de datos Transport Stream Paquetes pequeños y de longitud constante Broadcast (medio propenso a errores) Program Stream Paquetes grandes y de longitud variable Almacenamiento en medios sin perdidas 23 Transport Stream vs Program Stream 24 Transport Stream TS Paquet -> 188 bytes (4 cabecera obligatoria) Orientado a medios con perdidas Broadcast DVB y ATSC Corrección de errores (aunque luego hay que añadir más) Permite multiplexar varios programas, a diferencia del Program Stream Complejidad dividida en capas 25 PES into TS Packets Dos premisas: 1.- Primer byte del paquete PES ha de ser el primer byte del payload 2.- Cada paquete de transporte solo puede llevar datos de un PES 26 Transport Stream Packet 27 Transport Stream Packet Campos Cabecera Obligatoria Sync = 0x47 PID ES => PID 8175 valores posibles, 17 reservados Transport Scrambling Control Continuity Counter Payload Unit Start Indicator 28 Transport Stream Packet Campos cabecera Campo Adaptación Stuffing Bytes PCR (Program Clock Reference) 42 bits Recupero el reloj del codificador a partir de estas muestras Cada servicio tiene sus PCRs Viaja en un PID específico, o en un PID ocupado por un elementary stream (normalmente de vídeo) 29 PCR (Program Clock Reference) 30 Program Specific Information Señalización para la correcta decodificación de la trama de transporte Tablas de Información de Servicio (Service Information Tables) PAT (Program Association Table) PMT (Program Map Table) NIT (Network Information Table) CAT (Conditional Access Table) 31 PMT (Program Map Table) PID indicado por la PAT Hay varias. Una para cada programa presente en el Transport Stream Nos dan información sobre el contenido de los elementary streams asociados a cada programa PID en el que viaja cada ES Tipo de ES (video, audio, datos…) Descriptores asociados al ES 32 PAT (Program Association Table) PID = 0 Es única para cada Transport Stream Indica en que PID viajan las tablas PMT de cada uno de los programas 33 NIT (Network Information Table) Es una Tabla Opcional Transporta información de red (tipo de modulación, frecuencia…) PID Fijo en DVB (PID = 0x10) Determinado por la PAT en MPEG-2 (en caso de estar presente conforma el programa 0 del TS) 34 CAT (Conditional Access Table) Información sobre acceso condicional Solo es obligatoria en caso de que algún elementary stream esté encriptado PID = 1 35 Program Specific Information Tablas embutidas en Secciones MPEG-2 Una tabla se divide en varias secciones (256 como máximo) siendo cada sección de 1024 bytes, excepto las secciones privadas que pueden tener hasta 4096 bytes. Secciones Privadas => Garantizan la extensibilidad del protocolo Cada tabla viaja en un PID (en algunos casos fijos y en otros variables) 36 Secciones into TS Packets Las tablas se dividen en secciones que son las que son embutidas en los paquetes del TS Tabla SI Sección 1 Sección 2 … PID x table_id, section_number, version_number… 37 Secciones into TS Packets Al contrario que los PES las secciones pueden empezar en cualquier punto del paquete de transporte. Point_field: Es el primer byte del payload, y indica la posición en que comienza la sección. 38 PAT, PMT Tunning 39 Información de Servicio DVB Obligatorias: SDT EIT TDT Opcionales BAT EIT (otras) RST TOT ST 40 Tablas Obligatorias DVB SDT (Service Description Table) Una para cada TS Información de los servicios transportados EIT (Event Information Table) Una EIT para cada servicio Información del programa actual y siguiente TDT (Time and Date Table) Se utiliza para sincronizar el reloj interno del IRD 41