410 likes | 524 Views
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. El consorcio DVB.
E N D
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
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)
Un poco de vocabulario DVB… • Elementary Stream • Event • Service • Multiplex • Bouquet • Network
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
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…)
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
ServiceConjunto de ES agrupados lógicamente • Video Streams • Audio Streams • Data Streams • SI • Datos privados • DSM-CC OC • Aplicaciones
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…
Multiplex Ejemplo: Video 3-5 Mbps Audio 0.2 Mbps DSMCC 1 Mbps
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
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
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
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)
MPEG-2 Elementary Stream Vídeo Audio
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
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
Packetised Elementary Stream (PES) • El siguiente paso en la multiplexación es convertir cada Elementary Stream en paquetes PES (Packetised Elementary Stream)
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
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
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
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
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
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)
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)
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
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
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)
CAT (Conditional Access Table) • Información sobre acceso condicional • Solo es obligatoria en caso de que algún elementary stream esté encriptado • PID = 1
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)
Secciones into TS Packets • Las tablas se dividen en secciones que son las que son embutidas en los paquetes del TS table_id, section_number, version_number…
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.
Información de Servicio DVB • Obligatorias: • SDT • EIT • TDT • Opcionales • BAT • EIT (otras) • RST • TOT • ST
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