8. MPEG-2 Systemmultiplex

MPEG-2-Video- und Audio-Encoder liefern an ihren Ausgängen die Elementary Streams (ES), die Bestandteile der Compression Layer sind. Wie bereits im Abschnitt 7.2.1 kurz erläutert, werden der komprimierte Video- und Audio-Datenstrom in Pakete (packets) aufgeteilt. Dies führt zu dem paketierten Elementarstrom PES für Video (Video Packetized Elementary Stream) und PES für Audio (Audio Packetized Elementary Stream).

 

8.1 Programmstrom (PS)

Die Aufteilung des Datenstroms in Pakete erfolgt zu dem Zweck der Verschachtelung von Paketen verschiedenen Ursprungs in einem gemeinsamen Bitstrom. Dies wird in einem ersten Schritt zunächst der so genannte Program Stream (PS) sein, in dem für ein Fernsehprogramm der Video-Datenstrom und der Audio-Datenstrom mit einer gemeinsamen Zeitbasis (System Time Clock, STC) sowie eventuell ein Datenstrom mit alphanumerischen Zeichen (z. B. Teletext) eingebracht werden (Bild 8.1).

 

7.13.png

 

Ein Elementardatenstrom (ES) wird in Pakete unterschiedlicher Länge zerlegt, in der Regel mit einer maximalen Paketlänge von 2hoch16_formel.png - 1 byte = 65 535 byte, in Ausnahmefällen bei Video-Paketen aber auch länger. Ein PES-Paket enthält nur Video- oder nur Audiodaten, bei Videodaten enthalten diese ein komprimiertes Teilbild. Das vereinfacht den Decodierprozess. Die Folge der Elementarstrom-Pakete bildet dann den Packetized Elementary Stream (PES).

Ein Packet Header mit 6 byte wird vor die eigentlichen Nutzdaten mit Angaben über den Paketinhalt (Identifikation) und die Paketlänge eingefügt. Zusätzlich kann ein optionaler PES Header mW minimal 3 byte und maximal 253 byte ergänzt werden, der Steuerinformationen für das jeweilige Paket, wie Zeitmarken zur Decodierung, Decoding Time Stamps (DTS), und zur Wiedergabe der (Bild-) lnformation, Presentation Time Stamps (PTS) enthält. Für die eigentlichen Nutzdaten (PES Packet Data) verbleiben damit maximal 65 535 byte - 9 byte = 65 526 byte (Bild 8.2).

 

8.1.png

 

Die Aufeinanderfolge der PES-Pakete wird zwischenzeitlich durch das Einfügen eines Pack Headers und eines System Headers unterbrochen. Der Pack Header enthält Zeitmarken, die aus dem System Clock abgeleitet werden und nun die System Clock Reference (SCR) bilden, die der Decoder zur Synchronisation benötigt. Im System Header sind systemspezifische Informationen über den Datenstrom enthalten. Beide Header markieren den Rahmen, der die kontinuierliche Folge von PES-Paketen, die Packs oder Gruppen, unterteilt. Diese Unterteilung ist vom MPEG-1-Programmstrom übernommen worden, um eine möglichst große Kompatibilität zu gewährleisten. Den Aufbau des Rahmenkopfs eines PES Pack gibt Bild 8.3 wieder.

 

2.40.png

 

Die Übertragung der System Clock Reference durch Codeworte, die mindestens alle 700 ms in den Programmstrom eingefügt werden, wird beim Transportstrom ausführlich behandelt. Wegen der relativ langen Pakete eines Programmstroms und der damit verbundenen Störanfälligkeit ist seine Anwendung auf eine quasi-fehlerfreie Umgebung beschränkt. Hierzu zählen die Programmerstellung im Studio sowie die Speicherung auf Magnetband oder Platten. Der Programmstrom weist eine feste Bitrate auf. Die Bedeutung des Programmstroms ist aber nur untergeordnet bei dem eigentlichen „Digitalen Fernsehen“

.

8.2 Transportstrom (TS)

Die Datenübertragung in Weitverkehrsnetzen und bei der Fernsehprogrammübertragung über Satelliten- oder Kabelkanäle sowie im terrestrischen Verteilnetz erfolgt auf der Basis des Transport Stream (TS). Der Transportstrom kann oder wird meistens die Daten von mehreren Programmen enthalten, die im Transportstrom-Multiplex zusammengefügt werden.

Wegen möglicher streckentypischer Übertragungsfehler muss der Transportstrom eine besonders robuste Struktur in Form von kurzen Paketen aufweisen. Die Transportstrompakete weisen eine feste Paketlänge von 188 byte auf, wovon 4 byte vom Header belegt werden und die restlichen 184 byte für die Übertragung der Nutzinformation zur Verfügung stehen. Ein Teil der Nutzdaten kann einem Adaptation Field zugewiesen werden, wo in ausgewählten Transportstrompaketen u. a. mit der Program Clock Reference (PCR) die Systemzeit übertragen wird (Bild 8.4).

 

Screenshot_2022-04-06_002327.png

 

Die Paketlänge von 188 byte wurde als ein Vielfaches (4-mal) der Länge des Datenblocks einer ATM-Zelle (Asynchronous Transfer Modus) mit 47 byte wegen der kompatiblen Übertragung in ATM-Netzen gewählt. Bei dem Asynchronen Transfer Modus handelt es sich um ein paketvermitteltes Übertragungsverfahren, bei dem die Nutzinformation in Zellen fester Länge übertragen wird. Die ATM-Zellen haben eine feste Länge von 53 byte, wovon 5 byte dem Header zugeordnet sind und 48 byte für die Nutzinformation zur Verfügung stehen (Bild 8.5 a). Bei der Übertragung von Transportstrompaketen werden davon jeweils 47 byte belegt, ein Byte wird für spezifische Information ausgenutzt (Bild 8.5 b).

Außerdem soll die Nutzinformation wegen der Anwendung von Verschlüsselungstechniken, die im Allgemeinen auf einer 8-byte-Sequenz basieren, ganzzahlig durch 8 byte teilbar sein.

 

8.5.png

Abb. 8.5: a) ATM-Zelle, b) Aufteilung eines Transportstrompakets auf die ATM-Zellen

 

8.2.1 Transportstrom-Multiplex

Auch beim Transportstrom ist jedes Paket auf die Daten einer Signalkomponente (Video, Audio oder anderes) beschränkt. Die Quellencoder für Video, Audio und Zusatzdaten liefern einen paketierten Elementarstrom (PES), in dem auch die Zeitmarken DTS und PTS enthalten sind, an den Transportstrom-Multiplexer (TS).

Darin werden die Komponenten zusammengefasst und mit Program Specific Information (PSI) sowie der aus dem System Time Clock abgeleiteten Program Clock Reference (PCR) ergänzt. Aus mehreren MPEG-2-Transportströmen wird dann letztendlich in einem Service-Multiplexer das „Programm-Bouquet“ gebildet. Dieser „Sende-MPEG-2-Transportstrom“ wird in die TV-Verteilnetze eingespeist (Bild 8.6)

 

8.4.png

 

Der Sende-MPEG-2-Transportstrom kann sich aus Programmen mit Video- und Audioanteilen, mit Audiobeiträgen (Rundfunk-Programmen) oder der Information aus Datendiensten zusammensetzen. Die Struktur ist flexibel und kann sich auch noch während der Übertragung verändern. Die aktuelle Zusammensetzung aus den verschiedenen Beiträgen wird in der nach MPEG-2-Systems definierten Program Association Table (PAT) übertragen.

Die Summenbitrate des „Sende-MPEG-2-Transportstroms“ hat einen festen Wert. Dieser kann sich zusammensetzen aus:
• festen Bitraten der einzelnen Programmbeiträge beim so genannten statischen Multiplex, wobei berücksichtigt wird, dass z. B. eine Sportveranstaltung mit hohem Bewegungsanteil eine höhere Datenrate als ein Spielfilm mit anteilig mehr statischen Szenen und ruhendem Hintergrund verlangt, oder

• aus in gewissen Grenzen schwankenden Bitraten, abhängig vom momentanen Programminhalt, mit einem stets festen Wert der Gesamtbitrate beim statistischen Multiplex. Eine Übereinkunft der in dem „Bouquet“ zusammengefassten Programmanbieter ist dazu notwendig. Siehe dazu Bild 8.7.

Der Decoder auf der Empfangsseite muss sich auf diese in Grenzen variable Bitrate eines Programmbeitrags automatisch einstellen können.

 

8.6.png

 

Der Vorteil des statistischen Multiplex liegt darin, dass mit einer relativ niedrigen mittleren Datenrate bei plötzlich auftretenden ungünstigen Codiersituationen in einem Programm kein zu starker Eingriff auf die Bitrate über die Steuerung der Quantisierung bei den DCT-Koeffizienten erforderlich ist und damit kein so deutlicher Qualitätsverlust beim wiedergegebenen Bild sichtbar wird.

Die Programmdatenrate, die einem einzelnen Fernsehprogramm im Sende-Multiplex zur Verfügung gestellt wird, richtet sich nach der Art des Programms. Mit Steuerung der Bitrate innerhalb der zulässigen Schwankungsbreite kann ein für alle Programme eines Bouquets vergleichbarer Qualitätseindruck erreicht werden. Der zusätzliche Aufwand in der Technik kommt insbesondere dann zum Tragen, wenn Qualitätseinbrüche, die durch spontane Änderungen im Bildinhalt auftreten, wirksam reduziert werden. Durch statistischen Multiplex kann jedoch nicht die Anzahl der in diesem Bouquet übertragbaren Programme erhöht werden.

Die Zuordnung der Daten aus einem PES Packet auf die 188-byte-Pakete des Transportstroms gibt Bild 8.8 wieder. Der MPEG-2-Standard sieht vor, dass der PES Header in der Regel gleich nach dem Transport Stream Header folgt. Bei einem Transportpaket mit einem Adaptation F/e/d wird der PES Header nach dem Adaptation Field übertragen. Im Transportstrom können Pakete mit den Daten aus verschiedenen Elementarströmen und damit unterschiedlichen Zeitbasen (STC) aufeinander folgen. Maßgeblich für die absolute Zeitreferenz ist die Program Clock Reference (PCR), die im Transportstrom-Multiplexer bzw. im Service-Multiplexer im Abstand von maximal 100 ms (nach der DVB-Spezifikation nur 40 ms) in das Adaptation Field eingebracht wird.

Jedes Transportstrompaket hat einen Paketkopf, den Transport Paket Header, mit 4 Bytes. Für die Payload verbleiben maximal 184 Bytes, wovon ein Teil vom Adaptation Field genutzt werden kann (Bild 8.9). Der Paket Fleader beginnt mit einem Sync-Byte, mit dessen Hilfe die Rahmensynchronisation auf die 188-byte-Pakete erfolgt.

 

8.7.png

 

8.8.png

 

Die Zusammensetzung des Transport Stream Header gibt die folgende Tabelle 8.1 wieder.

 

8.9.png

 

Über die Paket Identification (PID) lassen sich die Daten eines Transportstrompakets auf die verschiedenen Programmstrom-Anteile, unterschieden nach Programmanbieter und Video, Audio oder Zusatzdaten, zuordnen. Die PID mit der Nummer 0 ist für die Program Association Table (PAT) vergeben. Diese Tabelle enthält die Zusammensetzung des Programm-Multiplexes aus den einzelnen Fernseh-Programmen und verweist auf die zugehörigen PIDs. Beim MPEG-2-Decoder werden zunächst nur die Pakete mit der PID-Nummer 0 ausgewertet, woraus eine Liste der übertragenen Programme erstellt wird. Dann erfolgt über die Programmwahl durch den Fernsehteilnehmer der Zugang auf die dem gewünschten Programm zugeordneten PIDs.

 

8.2.2 Zeitreferenz im Transportstrom

ln den Paketen, die zur Video-Information des ausgewählten Programms gehören, wird in ausgewählten Adaptation Fields die Program Clock Reference (PCR) übertragen. Diese repräsentiert eine „Referenzzeit“, die aus dem jeweiligen System Time Clock (STC) eines Programms abgeleitet wird. Im Programmstrom wird die Referenzzeit in die System Clock Reference (SCR) eingebracht und in einem erweiterten Packet Header übertragen. Die Unterscheidung wird getroffen, weil beim Programmstrom nur ein Programm, beim Transportstrom hingegen mehrere Programme übertragen werden. Der Begriff Program Clock Reference (PCR) verdeutlicht, dass sich diese Zeitmarken im Transportstrom auf ein bestimmtes Programm beziehen.

Die Synchronisation der Datenströme auf der Encoder- und Decoderseite beruht auf dem Prinzip, dass auf beiden Seiten eine Systemuhr (System Time Clock, STC) vorhanden ist, mit der die aktuelle „Uhrzeit“ festgelegt wird. Diese wird aber nicht in Stunden, Minuten und Sekunden, z.B. als „Weltzeit“ UTC angegeben, sondern jeweils in einem Zeitabschnitt von etwa 24 Stunden durch eine „Nummer“, mit der die Anzahl der seit dem Startzeitpunkt abgelaufenen Schwingungen des 27-MHz-Systemtakts ausgedrückt wird. 

Beim Encoder wird ein Zähler von dem hochstabilen 27-MHz-Taktalle 37,037... ns inkrementiert. Der Zählerstand wird im Abstand von etwa 100 ms bzw. in Verbindung mit Digital Video Broadcasting (DVB) im Abstand von etwa 40 ms in der Program Clock Reference übertragen. Der Decoder wertet die PCR zur Synchronisierung des decoderseitigen 27-MHz-Oszillators und zur Rückgewinnung der Systemzeit aus (Bild 8.10).

 

8.10.png

 

Ein Zeitbereich von


24 h = 24 x 3600 s = 24 x 3600 x 109 ns = 8,64 x 1013 ns,

zusammengesetzt aus Inkrementen von 37,037... ns

erstreckt sich über 2,3328 x 1012 Inkremente.


Zur binären Codierung dieses Zahlenbereiches sind


1 d (2,3328 x 1012) = 1 g (2,3328 x 1012) / 1 g 2 = 41,085... bit

erforderlich, das heißt es sind 42 bit nötig.

Mit 42 bit wäre aber der abdeckbare Zeitbereich nun 45,24 Stunden. Die 42 bit werden gemäß MPEG-2 aufgeteilt in eine PCR base mit einer Codewortlänge von 33 bit und in eine PCR extension mit 9 bit. Der Sinn dieser Aufteilung liegt in der Kompatibilität mit MPEG-1, wo von einer 90- kHz-Zeitbasis (System Time Clock) mit einem Zeit-Inkrement von 11,11... m3.32.png ausgegangen wird. Von diesem 90-kHz-System-Time-Clock wird die PCR base mit 33-bit-Codeworten abgeleitet. Bei MPEG-2 allerdings wird eine höhere Zeitgenauigkeit gefordert. Die 9-bit-Codeworte aus der PCR extension takten einen zyklischen Zähler, der beim Erreichen eines Zählerstandes von 300 einen Übertrag zu dem 33-bit-Basisfeld liefert, d.h. den numerischen Betrag der PCR base um den Wert eins erhöht, und selbst dabei gleichzeitig zurückgesetzt wird. Von den möglichen 512 Werten der 9-bit-Codeworte wird so nur der Bereich bis 300 ausgenutzt. Der gesamte codierbare Zeitbereich mit den Inkrementen von 37,037... ns reduziert sich damit auf

45,24 h x 300/512 = 26,5 h, also etwas mehr als 24 Stunden.

Die System-Datenströme sind byteweise definiert. Die Program Clock Reference belegt mit 33 bit für PCR base, 9 bit für PCR extension und weiteren reservierten 6 bit insgesamt 6 byte. Der PCR-Wert entspricht dem Stand des encoderseitigen Zählers mit dem 27-MHz-Takt zum Zeitpunkt des Eintreffens des ersten Bytes des Transportstrompakets, in dem der PCR-Wert übertragen wird.

In einem korrekt übertragenen MPEG-2-Datenstrom trifft jede PCR genau zu der „Uhrzeit“ beim Decoder ein, die im PCR-Wert übertragen wird. Wenn der decoderseitige 27-MHz-System-Takt genau dem des Encoders entsprechen würde, dann würde irgendein PCR-Wert genügen, um die Decoder- „Uhrzeit“ auf die des Encoders einzustellen. Diese Situation wird jedoch bei einer Diskontinuität im ausgewerteten Datenstrom, z. B. beim Umschalten auf ein anderes Programm aus dem Transportstrom, gestört. Es ist deshalb ein Regelmechanismus in Form einer PLL (Phase Locked Loop) vorgesehen, bei der an Stelle von zeitabhängigen Signalen für die Ist- und Soll-Größen nun codierte Zahlenwerte (PCR-Wert und Zählerstand) treten. Siehe dazu Bild 8.11.

Zu dem Zeitpunkt, zu dem die PCR den Decoder erreicht, wird ihr Wert mit dem momentanen Zählerstand der Decoder-Systemzeit verglichen. Die Differenz, als Zahlenwert codiert mit (33 + 9) bit, wird auf Inkremente des 27-MHz-Taktes gebracht und nach einer Tiefpass-Filterung zur Mittelwertbildung über mehrere Zyklen hinweg als Stellgröße an den 27-MHz-NCO angelegt. Durch Beeinflussung der Frequenz des NCO wird gewährleistet, dass diese bis auf eine sehr geringe Regelabweichung identisch ist mit der Frequenz des encoderseitigen 27-MHz-System-Takts und somit zum Decoder System Time Clock wird. Außerdem wird dieser System-Takt einem Zähler zugeführt, der nun, nach Laden der übertragenen PCR, als Stützwert die decoderseitige Systemzeit generiert. Diese setzt sich aus dem PCR-base-Anteil (33 bit) und dem PCR-extension-Anteil (9 bit) zusammen. Sie wird wiederum auf den Vergleicher im PLL zurückgeführt.

 

8.11.png

 

Der mit 33 bit codierte 90-kHz-Anteil des System Time Clock dient als Zeitbasis für die im Program Elementary Stream enthaltenen Decoding Time Stamps (DTS) und die Presentation Time Stamps (PTS), die ebenfalls mit 33 bit codiert sind. Eine Unterscheidung nach „Decoding“ und „Presentation“ Time Stamps ist notwendig, weil die Reihenfolge der Ankunft der PES-Pakete und deren Decodierung nicht immer der Reihenfolge der Präsentation der Videobilder entspricht, z.B. bei der Übertragung von Differenzbildern. Häufig aber haben PTS und DTS den gleichen Wert oder es wird nur ein Presentation Time Stamp übertragen.

Die in manchen Transportstrompaketen (bei DVB mindestens alle 40 ms) in deren Adaptation Field übertragene PCR (Program Clock Reference) ist die absolute Zeitbasis, auf die sich der Empfänger bei der Verarbeitung der Datenpakete für ein bestimmtes Programm bezieht. Sie ist genauso definiert wie die im paketierten Elementarstrom (PES) enthaltene SCR (System Clock Reference). Jedes Programm führt somit innerhalb des Sende-Transportstroms, gekennzeichnet durch eine PID oder mehrere PIDs, seine eigene PCR mit sich. Mit der Auswahl des Programms werden nur die zu diesem Programm gehörigen PCRs ausgewertet. Die gerade als erste eintreffende PCR (i) wird, selektiert über die PID, dem Datenstrom entnommen und startet nun den 27-MHz-Systemtakt und die Systemzeit. Damit wird gewährleistet, dass sich die Decoder-Systemzeit auf die Encoder-Systemzeit des ausgewählten Programms einstellt (Bild 8.12).

 

8.12.png

Abb. 8.12: Einstellung von Decoder-Takt und -Systemzeit auf Encoder-Takt und -Systemzeit des ausgewählten Programms 

 

Durch die Rekonstruktion der Encoder- „Uhrzeit“ auf der Decoderseite haben bei angenommen konstanter Laufzeit auf der Übertragungsstrecke die unterschiedlichen Verzögerungen beim Transportstrom-Multiplexer und beim Transportstrom-Decoder keine Auswirkung. Siehe dazu den Hinweis in Bild 8.10. 

Die Regenerierung der Encoder- „Uhrzeit” wird allerdings beeinträchtigt, sobald die PCR-Zeitmarken aus ihrer eigentlichen Position im Datenstrom verschoben werden. Dies kann durch einen Takt-Jitter auf digitalen ATM-Übertragungsstrecken erfolgen oder beim Umsortieren von Paketen für einen neu zu konfigurierenden Datenstrom, wie z.B. beim Übergang vom Satelliten- auf den Kabel-Übertragungskanal mit etwas unterschiedlichen Datenraten im Programmanteil des Transportstroms (mit 38,015 Mbit/s im Satellitenkanal und 38,15 Mbit/s im Kabelkanal) oder bei der Zusammensetzung von neuen Transportstrom-Multiplexen mit geändertem Programmangebot. Beim Übergang von der niedrigeren Datenrate im Satellitenkanal auf die etwas höhere Datenrate im Kabelkanal müssen die einzelnen Transportstrompakete zeitlich komprimiert werden. Die entstehenden Lücken im Transportstrom werden dann durch Stopf-Bits (Null-Pakete) aufgefüllt. 

Ein Aktualisieren der Zeitmarken (Restamping) wird in diesem Fall notwendig. Dies geschieht in dem System-Multiplexer, wie in Bild 8.6 dargestellt. Es müssen dazu die einzelnen paketierten Elementarströme (PES) zurückgewonnen werden (Demultiplex), bevor sie wieder zu einem neuen Sende-Transportstrom zusammengestellt werden (Remultiplex). Von jedem ankommenden Transportstrom wird die aktuelle Systemzeit durch Auswerten der PCR über eine PLL zurückgewonnen. Während die „Uhr” weiterläuft, findet in einem Zwischenspeicher die Neuzuordnung der Pakete von den einzelnen Programmen statt. Im Multiplexer wird dann die aktuelle „Uhrzeit” durch Überschreiben der vorangehenden Werte in das Datenfeld der PCR eingebracht. Das muss für jedes Programm mit seinem zugeordneten System Time Clock erfolgen.

Eine mehrmalige Aktualisierung der PCR kann zu einer steigenden Ungenauigkeit in der Zeitangabe führen, was zu einem Jitter bei der Rekonstruktion der Systemzeit führen kann. Nach einer MPEG-Vorgabe sollte dieser Jitter bei den PCR-Werten den Toleranzbereich von 500 ns nicht überschreiten. 

 

8.2.3 Programmspezifische Information

ln den Transportstrompaketen wird die Nutzinformation der Video- und Audio-Programmanteile übertragen. Es können aber auch alphanumerische Zeichen, z. B. für Teletext oder von Mehrwertdiensten, eingebracht werden. Ergänzend dazu wird es erforderlich, programmbegleitende Information und Angaben über die Struktur des betreffenden Transportstroms zu übermitteln. Dies geschieht in der nach MPEG-2 definierten Program Specific Information (PSI). Darin enthalten sind vier verschiedene Tabellen (tables), die ihrerseits wieder in Segmente (sections) unterteilt sind. Je nach Bedeutung enthält eine Tabelle bis zu 256 sections. Die Untergliederung der Tabellen in Segmente hat den Vorteil, dass bei der Aktualisierung einer Tabelle nicht deren gesamter Inhalt neu zu übertragen ist, sondern nur das betreffende Segment, in dem sich der aktualisierte Teil der Tabelle befindet.

Die Wiederholfrequenz der Tabellen ist nicht im Standard festgelegt, muss jedoch so hoch sein, dass der Decoder sich schnell auf das gewünschte Programm einstellen kann. In der Praxis werden die Tabellen etwa 10 bis 50 mal pro Sekunde wiederholt. In den ersten beiden Tabellen wird angegeben, welche Programme in diesem Transportstrom enthalten sind und aus wie vielen und welchen Elementarströmen jeweils ein Programm zusammengesetzt ist. Dazu verweist eine im Transportstrom-Header enthaltene PID mit der Nummer Null (0x000) zunächst auf die in der Payload dieses Transportstrompakets übertragene Program Association Table (PAT). Sie informiert über die Anzahl und die PIDs der in diesem Transportstrom enthaltenen Programme. Die Programmnummer 0 ist reserviert für den Verweis auf die Network Information Table (NIT).

Die Programmnummer, angegeben durch die zugehörige PID, führt zur Program Map Table (PMT). Diese wiederum enthält eine Liste aller PIDs für die Elementarströme, die zu dem in der Tabelle zugeordneten Programm gehören. Ergänzend werden in den zugehörigen sections bei den descriptors Verweise auf Transportstrompakete mit der Program Clock Reference (PCR) gegeben und Angaben zur näheren Beschreibung der Elementarströme gemacht. Bild 8.13 gibt die Zuordnung von der Program Association Table auf die Program Map Table wieder.

 

8.13.png

 

Aus einem Transportstrompaket mit der PID 0 im TS Header wird vom Payload-Teil die PAT als eine Auflistung der PIDs für die in diesem Transportstrom enthaltenen Programme entnommen. Diese PIDs wiederum führen zu den PMTs, die den einzelnen Programmen zugeordnet sind. Die Program Map Tables sind ausgewählte Transportstrompakete mit eigener PID und einem differenzierten Payload-Teil. Wenn z.B. das Programm i ausgewählt werden soll, dann wird zunächst die PID i aus der Liste aller PIDs im Payload-Teil der PAT entnommen. Der Decoder holt dann alle Transportstrompakete mit der PID i im TS-Header heraus. In diesen TS-Paketen ist nun die PMT für das Programm i enthalten. In der PMT für das Programm i finden sich im Weiteren die PIDs für alle Elementarströme von Video, Audio und Daten. Dabei können z.B. auch verschiedene Sprachen für den Begleitton übertragen werden, was wiederum in einer näheren Spezifizierung angegeben wird. 

In der Network Information Table (NIT), für die, wie schon erwähnt, nach MPEG die Programmnummer 0 reserviert ist und die nicht näher spezifiziert ist, können Private Data mit Angaben zu der Orbitposition des Satelliten, dem Frequenzband, der Transpondernummer, Kanalbandbreite oder Symbolrate übertragen werden. Damit werden Informationen für die automatische Abstimmung der Empfänger bereitgestellt.

Die Conditional Access Table (CAT) wird übertragen, sobald wenigstens ein Programm im Transportstrom verschlüsselt ist und damit nur bedingten Zugriff hat. Sie steht gleichrangig neben der Program Association Table (PAT) und ist durch die PID mit der Nummer 01 (0x001) versehen. Die Aufgabe der Conditional Access Table besteht in der Bereitstellung von Informationen zum Entschlüsseln der für Pay-TV verwürfelten Datensätze, das heißt die Kennzeichnung des Verschlüsselungssystems, die Vergabe von Zugangsberechtigungen und die Übermittlung der Code-Sequenzen. Genauso wie die NIT ist auch die CAT nicht mehr von MPEG spezifiziert, sondern fällt unter die Spezifizierung nach DVB. 

Über die von MPEG-2 in der Program Specific Information (PSI) definierten Tabellen hinaus besteht die Möglichkeit, im Rahmen der Service Information (Sl) von DVB weitere Tabellen mit Informationen, die direkt für den Fernsehzuschauer gedacht sind, z.B. für eine elektronische Programmzeitschrift oder zur Videorecorder-Steuerung, im Transportstrom zu übertragen [2]. Mit der Service Information lässt sich ein so genanntes „Lesezeichen” realisieren, das zum Auffinden von bestimmten im Empfänger einprogrammierten Beiträgen dient, oder ein elektronischer Programmführer EPG (Electronic Program Guide). Mit diesem wird dem Fernsehteilnehmer eine komfortable Benutzeroberfläche angeboten, die zur gezielten Suche nach bestimmten Programmbeiträgen dient.

Die zusätzlich von DVB definierten Tabellen sind: Bouquet Association Table (BAT). Sie enthält Informationen über die verschiedenen Programme (das „Bouquet“ der Programme) eines Anbieters, unabhängig von deren Verteilwegen. Die Service Description Table (SDT) führt die Namen und Parameter der verschiedenen Dienste innerhalb des Daten-Multiplex auf. Es werden die Programme beschrieben und Hinweise zu den Sendeanstalten gegeben. Die Event Information Table (EIT) stellt eine elektronische Fernsehzeitschrift mit Kennung der Programmart und Klassifizierung in bezug auf die Eignung für bestimmte Altersgruppen dar.

Die Running Status Table (RST) beinhaltet Statusinformationen zu den einzelnen Programmen, z.B. ob eine bestimmte Sendung gerade läuft oder eventuell verzögert beginnen wird, und dient so insbesondere zur Steuerung von Videorekordern. Die Time and Date Table (TDT) und Time Offset Table (TOT) liefern Informationen über die aktuelle Uhrzeit und das Datum sowie über lokale Zeitverschiebungen. Die Stuffing Table (ST) hat keinen relevanten Inhalt und wird zum Überschreiben nicht mehr gültiger, vorher benutzter Tabellen verwendet. 

 

8.2.4 Teletext-Übertragung bei Digital Video Broadcasting (DVB)

Das Teletext-System beim analogen Fernsehen, in Deutschland unter dem Namen Videotext bekannt, basiert auf der Übertragung von Roll-Off-gefilterten NRZ-Datenbits während der Vertikal-Austastlücke des FBAS-Signals mit Anbindung der Videotext-Zeilen an die Fernsehzeilen.

Nach DVB-Spezifikationen wird ein Videotext-Elementarstrom erzeugt und in den MPEG-2-Transportstrom eingebracht. Die Videotext-Daten werden magazin- und zeilenweise aufbereitet und zunächst als Packetized Elementary Stream zusammengestellt. In dem 6 byte langen PES-Header ist ein Stream Identifier mit der Kennung OxBD enthalten, was einem „Private Stream 1“ entspricht. Die Paketlänge wird bei Videotext so festgelegt, dass sie immer einem ganzzahligen Vielfachen von 184 byte entspricht. Sie wird mit einem Längenindikator im PES-Header angegeben (Bild 8.14a).

Dem PES-Header mit 6 byte folgt ein optionaler PES-Header mit 39 byte. Mit einem Byte wird anschließend die Data ID angegeben, die immer den Wert Ox10 hat. Die eigentliche Videotext-Information ist in Blöcke von 44 byte eingeteilt, wobei die jeweils einem 1-byte-Zusatzfeld folgenden 43 byte direkt dem Aufbau einer Videotext-Zeile, nach dem Run-In-Code, gemäß der Spezifizierung nach EBU-VTXT entsprechen (Bild 8.14b).

 

8.14.png

 

Es werden so die Angaben über Magazin- und Zeilennummer sowie die darzustellende Information mit 40 byte für 40 Zeichen pro darzustellende Zeile übernommen. Eine Videotext-Seite beinhaltet 24 Zeilen mit je 40 Zeichen. Der in den langen PES-Paketen aufbereitete Teletext wird im Multiplexer in kurze Transportstrompakete mit je 184 byte Nutzinformation und einem 4-byte-Transportstrom-Header aufgeteilt und genauso wie Video- oder Audio-Pakete im Transportstrom übertragen. Die Packet Identifiers (PIDs) von Transportstrompaketen mit Videotext werden als PIDs für Private Streams in der Program Map Table (PMT) des jeweiligen Programms definiert. Damit kann der Decoder auf Transportstrompakete mit Videotext zurückgreifen. 

 

8.2.5 Zugriff auf ein Programm

Die im Folgenden beschriebenen Vorgänge müssen beim Decoder ablaufen, um ein Programm oder einen Dienst in dem MPEG-2-Transport-Multiplex zu finden, nachdem das Programm-Bouquet durch Auswahl des HF-Empfangskanals bestimmt wurde. Der Transportstrom setzt sich aus den 188-byte-Paketen zusammen, mit jeweils dem SYNC-Byte zu Beginn eines Pakets. Das SYNC-Byte hat eine definierte Bitfolge mit 01000111 (hex 47). Dieses Bitmuster ist aber nicht nur für das SYNC-Byte reserviert, sondern kann auch im weiteren Datenstrom auftreten. Um dennoch eine sichere Synchronisation zu gewährleisten, wird das sich wiederholende Auftreten des SYNC-Byte-Musters im Abstand von 188 byte überprüft. Mit so genannten Hysterese-Parametern wird vorgegeben, wie oft das Bitmuster 01000111 im Abstand von 188 byte aufeinanderfolgend erkannt werden muss, damit die Synchronisation auf die Transportstrompakete als eingerastet gilt.

Sobald der Decoder sich auf den Transportstrom über die Sync-Bytes synchronisiert hat, müssen
• die Transportstrompakete mit der PID 0 herausgefiltert werden, um an die PAT-Segmente zu kommen.

• Die PAT wird aus den Segmenten aufgebaut. Dem Fernsehzuschauer kann so das Programmangebot tabellarisch sichtbar oder geräteintern über die Zuordnung von Programmnummern angeboten werden. Siehe dazu den Ablaufplan in Bild 8.15.

 

8.15.png

 

Nach Auswahl des gewünschten Programms muss der Decoder
• die entsprechenden PIDs gemäß der PMT dieses Programms herausfiltern und

• die PMT aus den relevanten Segmenten aufbauen.

Als Nächstes werden
• die Pakete, die durch das PCR_PID-Feld der PMT markiert sind, herausgefiltert, um daraus die Program Clock Reference (PCR) zu gewinnen und den System Clock (STC) zu synchronisieren.

Der Video- und Audio-Decodierprozess kann nun laufen. Das Umschalten auf ein anderes Programm nimmt mehr Zeit in Anspruch als dies beim Analog-Fernsehen der Fall ist. Es kann mehr als eine Sekunde dauern, bis der komplizierte Synchronisationsvorgang abgeschlossen ist. Zur Wiedergabe der Bildinformation ist es notwendig, auf das Eintreffen eines I-Bildes zu warten, von dem aus die weiteren Teilbilder rekonstruiert werden. Dies alleine kann schon bis zu 0,5 s dauern. Falls die empfangenen Daten verschlüsselt sind, ist nur ein bedingter Zugriff (Conditional Access) mit Zugangsberechtigung möglich. Die Verschlüsselung kann auf der Ebene des Packetized Elementary Stream (PES) oder des Transport Stream (TS) erfolgen. Die jeweilige Header-Information (PES Header oder TS Header) bleibt unverschlüsselt. Wird aber der Transportstrom verschlüsselt oder wie später erläutert einem definierten Verwürfeln unterzogen, dann bezieht sich dies auch auf den PES Header. Die Transportstrom Header bleiben in jedem Fall unverschlüsselt.

Für die Entschlüsselung müssen im Decoder spezielle Kontrolldaten verfügbar sein, die in den Entitlement Control Messages (ECM) und in den Entitlement Management Messages (EMM) übertragen werden. Die ECM enthalten die Schlüsselcodes, mit den EMM werden die Zugriffsberechtigungen für die Empfänger verteilt. ECM und EMM werden in der Program Specific Information in den CAT oder PMT übertragen. Der Entschlüsselungsvorgang läuft in einer anbieterspezifischen Hardware ab, die über eine einheitlich definierte Schnittstelle (Common Interface) an den Decoder angeschlossen wird.

 

 

Entdecken Sie auch unsere weiteren Websites: burosch.de, tvlab.de, radiogeschichte.de


Home         Impressum