2038 markiert „End of Days“. Genauer gesagt: das Ende der Tage für digitales Radio und Fernsehen auf Basis von Digital Video Braodcasting (DVB).
Was dramatisch klingt, hat einen nüchternen Hintergrund. Es geht nicht um Inhalte, nicht um Sender und auch nicht um die Übertragung selbst. Es geht um etwas, das im Alltag kaum auffällt: die Zeit.
Im DVB Standard wird Zeit nicht als Datum im klassischen Sinn übertragen. Stattdessen arbeitet im Hintergrund ein einfacher Zähler, der Tag für Tag weiterläuft. Diese Zeitreferenz basiert auf dem Modified Julian Date.
Solange der Zähler innerhalb seines vorgesehenen Bereichs bleibt, funktioniert das unauffällig.
Doch jeder begrenzte Zähler erreicht irgendwann eine Grenze. Bei DVB liegt diese Grenze, je nach Zeitfeld und Auslegung, im Umfeld des Jahres 2038.
DVB überträgt mehr als Bild und Ton
DVB ist nicht nur ein Verfahren, um Fernsehbilder und Ton zu übertragen. Im Datenstrom laufen zusätzlich Informationen mit, die ein Empfangsgerät braucht, um das Angebot sinnvoll darzustellen und zu organisieren.
Der Standard nennt diesen Bereich Service Information, kurz SI. Diese Informationen helfen dem Gerät unter anderem dabei, Services und Sendungen zu erkennen, auszuwählen und dem Nutzer anzuzeigen. Der Standard beschreibt ausdrücklich, dass diese Daten zur Auswahl von Services und Events dienen und als Grundlage für einen Electronic Programme Guide genutzt werden können.
Dazu gehören zum Beispiel Angaben über Sender, Programme, Startzeiten und Laufzeiten. Für den Zuschauer erscheinen diese Informationen später als Programmliste, Sendungsdetails oder EPG. Für das Gerät sind sie jedoch Teil des technischen Datenstroms.
Besonders wichtig sind dabei drei Tabellen:
- EIT, die Event Information Table. Sie enthält Informationen zu Sendungen oder Ereignissen, etwa Name, Startzeit und Dauer.
- TDT, die Time and Date Table. Sie liefert die aktuelle Zeit und das aktuelle Datum.
- TOT, die Time Offset Table. Sie enthält ebenfalls Zeit und Datum, zusätzlich aber Informationen zur lokalen Zeitverschiebung.
Die Zeit im DVB Datenstrom
Damit Programminformationen funktionieren, braucht DVB eine gemeinsame Zeitbasis. Ein Empfangsgerät muss wissen, welcher Zeitpunkt gerade gilt und wann eine Sendung beginnt oder endet.
Diese Zeit wird im DVB Datenstrom nicht als ausgeschriebenes Datum übertragen. Dort steht also nicht einfach „12. April 2026, 20:15 Uhr“. Stattdessen wird die Zeit codiert.
Für das Datum verwendet DVB den Modified Julian Date, kurz MJD. Das ist ein Tageszähler. Jeder Tag hat eine Zahl. Die Uhrzeit wird zusätzlich als Stunden, Minuten und Sekunden übertragen.
Im Standard taucht dieses Prinzip an mehreren Stellen auf:
- EIT enthält die Startzeit von Sendungen. Das Feld start_time ist 40 Bit lang. Die ersten 16 Bit enthalten Teile des Modified Julian Date, die restlichen 24 Bit enthalten die Uhrzeit.
- TDT enthält die aktuelle Zeit und das aktuelle Datum. Auch dort besteht UTC_time aus MJD für das Datum und zusätzlicher Codierung für Stunden, Minuten und Sekunden.
- TOT funktioniert ähnlich wie TDT, ergänzt aber Informationen zur lokalen Zeitverschiebung. Auch hier basiert UTC_time auf MJD plus Uhrzeit.
Das Entscheidende ist: DVB sendet Zeit nicht als fertiges Kalenderdatum, sondern als technischen Wert. Erst das Empfangsgerät macht daraus wieder ein Datum, das Menschen lesen können.
Solange alle Systeme diesen Wert gleich interpretieren, bleibt das unsichtbar. Der Fernseher zeigt die richtige Uhrzeit, der EPG ordnet Sendungen korrekt ein und geplante Aufnahmen starten zur erwarteten Zeit.
Das Problem entsteht dort, wo dieser codierte Tageswert an eine Grenze kommt.
Modified Julian Date: Der Tageszähler
Der Modified Julian Date, kurz MJD, beginnt am 17. November 1858. Von diesem Datum aus wird fortlaufend gezählt: jeder neue Tag erhöht den Wert um eins.
Der DVB Standard überträgt diesen Tageswert in seinen Zeitfeldern mit 16 Bit für den MJD Anteil. Die restlichen 24 Bit des Zeitfelds enthalten die Uhrzeit in Stunden, Minuten und Sekunden.
Damit ist der Wertebereich des übertragenen Tageszählers begrenzt. Mit 16 Bit lassen sich 65 536 verschiedene Werte darstellen, von 0 bis 65 535.
Vom Startpunkt des MJD aus gerechnet führt dieser Bereich bis zum 22. April 2038. Danach ist der 16 Bit Bereich ausgeschöpft.
Am nächsten Tag, dem 23. April 2038, braucht der Tageszähler einen weiteren Wert. Innerhalb von 16 Bit ist dieser Wert nicht mehr darstellbar. Ohne zusätzliche Behandlung springt der Wert wieder an den Anfang des Bereichs.
Schon wieder 2038: Der nächste Zeit Rollover
Unix zählt Sekunden. GPS zählt Wochen. DVB zählt Tage.
Auf den ersten Blick sind das drei verschiedene Welten. Unix Zeit stammt aus der Welt der Betriebssysteme. GPS Zeit aus der Satellitennavigation. DVB Zeit aus dem digitalen Rundfunk. Die Systeme haben unterschiedliche Startpunkte, unterschiedliche Einheiten und unterschiedliche Standards.
Und trotzdem landen sie im selben Zeitraum.
Bei Unix Zeit geht es um einen 32-bit Sekundenzähler. Seine bekannte Grenze liegt am 19. Januar 2038. Bei der klassischen GPS Week Number geht es um einen 10-bit Wochenzähler. Ein weiterer Rollover fällt damit auf den 20. November 2038. Bei DVB geht es um einen 16-bit Tageswert auf Basis des Modified Julian Date. Dessen einfacher Tagesbereich reicht bis zum 22. April 2038.
Das ist nicht dreimal dasselbe Problem. Aber es ist dreimal dasselbe Muster.
Ein System zählt Zeit. Der Zähler hat eine feste Grösse. Irgendwann erreicht er den Rand seines Wertebereichs. Dann muss eindeutig geregelt sein, was nach dem letzten darstellbaren Wert passiert.
Andere Zähler. Andere Standards. Andere Systeme. Same Edge – 2038.
Aus 1858 wird wieder 2038
Der entscheidende Punkt ist: Ein digitales Fernseh-Signal aus dem Jahr 2038 wird kaum ein Datum aus dem Jahr 1858 meinen.
Genau daraus ergibt sich die naheliegende Lösung. Wenn nur die unteren 16 Bit des Modified Julian Date übertragen werden, darf der Empfänger den Wert nicht einfach blind als vollständiges Datum lesen. Er muss ihn im erwartbaren Zeitfenster interpretieren.
Der aktuelle Standard beschreibt dafür eine Regel über das höchste Bit des übertragenen 16 Bit Werts. Ist dieses Bit gesetzt, wird der Wert direkt als MJD verwendet. Ist es nicht gesetzt, wird 65 536 hinzuaddiert. Der Standard enthält dazu auch ein Beispiel für den 25. Dezember 2040, also ausdrücklich ein Datum nach 2038.
Damit ist das Problem auf Ebene des Standards adressiert. Der Tageszähler muss nach dem Übergang nicht zwangsläufig zurück ins Jahr 1858 fallen. Durch die definierte Interpretation kann aus dem übertragenen Wert wieder ein plausibles Datum nach 2038 werden.
Damit ist das Thema aber nicht automatisch erledigt.
Entscheidend ist, ob diese Logik auch überall implementiert ist. Zeitwerte werden nicht nur von aktuellen Fernsehern verarbeitet. Sie laufen durch Receiver, Set Top Boxen, Headends, Multiplexer, EPG Systeme, Monitoring Tools, Bibliotheken und ältere Gerätegenerationen.
Genau dort liegt das Legacy Risiko.
Ein Standard kann beschreiben, wie ein Wert zu interpretieren ist. Aber Geräte und Software, die nach älteren Annahmen gebaut wurden, können den 16 Bit Wert weiterhin als einfachen Tageszähler behandeln. Dann entsteht trotz gelöster Standardlogik ein falsches Datum.



