-
Die vorliegende Erfindung betrifft
ein Verfahren und einen Apparat zum Filtern eines digitalen Paketdatenstroms,
wie er in einem digitalen audio-visuellen Übertragungssystem verwendet
wird, insbesondere einen Paketdatenstrom, der mit einem MPEG-Format
für ein
digitales Fernsehsystem übereinstimmt.
-
Herkömmliche digitale Fernsehübertragungssysteme übertragen
Daten in der Form von diskreten Transportstrompaketen oder Transportpaketen,
wobei jedes Paket eine vorbestimmte Länge hat und einen Header bzw.
Kopf und eine Nutzlast beinhaltet. Der MPEG-2-Standard bzw. die MPEG-2-Norm
ist der gegenwärtig
favorisierte Standard bzw. die gegenwärtig favorisierte Norm in dieser Domäne und stellt
ein vorbestimmtes Format für Transportpakete
dar.
-
Der Paketkopf bzw. Paketheader umfasst
im Allgemeinen beschreibende bzw. anschauliche Daten, die das Paket
betreffen, während
die Nutzlast die Daten umfasst, die bei dem Receiver bzw. Empfänger zu
verarbeiten sind. Der Paketkopf bzw: Paketheader schließt eine
Paket-ID oder PID ein, die das Paket identifiziert. Die Nutzlast
des Paketes kann Audio-, Video- oder andere Daten, wie z. B. Anwendungsdaten,
die durch den Empfänger/Decoder
verarbeitet werden beinhalten, um Extrafunktionen bereitzustellen,
beispielsweise eine Programmführung oder
andere visuelle Daten, welche auf dem Bildschirm über dem
normal angezeigten Programm überlagert
sein können.
-
Der ankommende bzw. hereinkommende Datenstrom
wird herkömmlich
durch einen Empfänger/Decoder
entsprechend dem PID von jedem Paket gefiltert. Die demultiplexten
visuellen und Audiodaten werden dann direkt zu vorbestimmten Prozessorelementen
in dem Empfänger/Decoder
geleitet bzw. geführt,
der angepasst ist, um jeweils echtzeit-visuelle und Audiobilder
zu erzeugen. Teletext- und Untertiteldaten werden ähnlich direkt
zu dem allgemeinen Mikroprozessor des Empfängers/Decoders geleitet, um
Echtzeit-Teletext- und Untertitelanzeigen zu erzeugen.
-
Daten benötigen eine unmittelbare Verarbeitung,
beispielsweise werden visuelle, Audio-, Teletext- und Untertiteldaten
mit einem geeigneten Prozessor kommunizieren, und zwar in der Form,
was herkömmlich
bekannt ist, und zwar als elementarer Strom, der in Pakete zerlegt
ist, bzw. paketisierter elementarer Strom oder PES. Dieser kontinuierliche Datenfluss,
der durch Zusammenbau bzw. Zusammenfügen der Nutzlasten der Transportpakete
gebildet wird, weist selbst eine Sequenz von Paketen auf, wobei
jedes PES-Paket einen Paketkopf bzw. Paketheader und eine Nutzlast
umfasst. Im Gegensatz zu Transportpaketdaten ist die Länge eines
PES-Paketes variabel. Die gefilterten PES-Ströme werden unmittelbar verarbeitet,
um einen Echtzeitbetrieb bzw. eine Echtzeitoperation bereitzustellen.
-
Während
visuelle, Audio-, Teletext- oder Untertiteldaten die herkömmlichsten
Arten von Daten sind, die durch einen PES-Strom definiert sind,
können
andere Flusstypdaten ebenso wie ein PES-Strom organisiert sein.
-
Zusätzlich zu dem PES-Strom können Daten auch
innerhalb der Nutzlast der Transportpakete beinhaltet sein, wobei
andere Daten keine unmittelbare Verarbeitung brauchen. Im Gegensatz
zu PES-Daten, welche unmittelbar durch einen Prozessor behandelt
werden, um eine Echtzeitausgabe bzw. einen Echtzeitausgang zu erzeugen,
sind diese Daten typischerweise in einer asynchronen Art und Weise durch
den Prozessor verarbeitet. Die Daten sind oft zyklisch bzw. periodisch,
das heißt
die Funktionen, die durch die Daten definiert sind, werden bei mehreren
Intervallen durch einen Prozessor aufgerufen. Ein Beispiel von Daten
von dieser Art sind die so genannten programmspezifischen Informationen
oder PSI-Daten.
-
In diesem Fall werden die Daten,
die in der Nutzlast der Transportpakete beinhaltet sind, in eine Serie
von Sektionen oder Tabellen geteilt, wobei jede einen Header und
eine Nutzlast einschließt,
wobei der Header eine Tabellen-ID oder TID einschließt, welche
die Tabelle identifiziert. Nach der anfänglichen PID-Filterung wird
eine zweite Filterstufe basierend auf dem Sektions- bzw. Abschnittsheader
verwendet, um Module mit derselben TID aufzuteilen bzw. herauszuteilen,
und die Nutzlasten dieser Module werden gespeichert und allmählich in
einem Speicherelement in dem Empfänger/Decoder zusammengefügt, um die
heruntergeladene Anwendung aufzubauen. Im Gegensatz zu PES-Daten
ist die Reihenfolge, in der die Sektionen bzw. Abschnitte ankommen,
nicht wichtig, da die Anwendung über eine
Zeitperiode zusammengefügt
bzw. zusammengebaut wird.
-
Ein Beispiel einer herkömmlichen
Decoderarchitektur zur Filterung von PES- und PSI-Typdaten wird
in der europäischen
Patentanmeldung
EP 0 735 776 (Hitachi)
gezeigt. Die Transportpaketdaten werden anfänglich in einem Paketlandepuffer
gespeichert, nachdem eine Anfangsstufe bzw. Initialstufe der PID-Filterung
durchgeführt
wird. Die Audio- und Video-PES-Daten werden unmittelbar zu Audio-
und Videodecodern zur Echtzeitverarbeitung geleitet bzw. geführt, während eine
zweite Filterstufe bei dem PSI-Sektions- bzw. -Abschnittsheader
oder TID-Niveau für
PSI-Daten durchgeführt
wird, wobei solche Daten danach in einem Systemdecoderpuffer gespeichert
werden.
-
Die europäische Patentanmeldung
EP 0 714 213 (LG Electronics)
beschreibt eine ähnliche
Decoderarchitektur und zusätzlich
wird die Analyse von Anpassungsfeldern bzw. Halbbildern oder ADF-Daten
diskutiert, die in dem Header der Transportpakete beinhaltet sind,
die verwendet werden, um PES-Daten zu befördern.
-
Während
das Benutzen eines Satzes von zusammengefügten bzw. zusammengebauten
Sektionen bzw. Abschnitten komplexe Anwendungen ermöglicht,
die durch den Mikroprozessor heruntergeladen und ausgeführt werden,
führen
die Schritte, die in diesem Prozess bzw. Verfahren benötigt werden, zu
einer relativ langen Verarbeitungszeit, da alle Tabellen, die dieselbe
TID haben, identifiziert, herausgefiltert und in dem Speicher gespeichert
werden müssen,
bevor die Anwendung komplett ist. Es ist eine Aufgabe der vorliegenden
Erfindung, ein Verfahren und einen Apparat zum Filtern übertragener
Datenpakete bereitzustellen, welche die Nachteile der bekannten
Paketfiltersysteme überwinden.
-
Entsprechend eines Aspektes der vorliegenden
Erfindung wird bereitgestellt ein Verfahren zum Filtern eines Paketdatenstromes,
wie Übertragen
in einem digitalen audio-visuellen Übertragungssystem und empfangen
durch einen Empfänger/Decoder, wobei
empfangene erste Transportpaketdaten mit Daten in der Form von Paketstromdaten
durch ein digitales Filter gemäß den Charakteristiken
des Transportpaketheaderteils gefiltert werden, die ausgewählten gefilterten
Daten, die durch das Filter geführt
werden, direkt zu einem Speicherelement in dem Empfänger/Decoder
geführt
werden, zum Speichern in der Form eines vollständigen Transportpaketes einschließlich dem
Paketheaderteil und der Nutzlast, und zweite Transportpaketdaten
mit Daten in der Form von Paketstromdaten parallel zu den ersten Transportpaketdaten
gemäß dem Wert
der Paket-ID gefiltert werden, zum Herausteilen der Nutzlast von einem
Empfangspaket, wobei die Nutzlast in Echtzeit zu einem oder mehreren
entsprechenden Prozessorelementen gesendet werden.
-
Dieses Verfahren zur Behandlung der
Paketdaten repräsentiert
einen radikalen Aufbruch bzw. Start zu dem herkömmlichen Verfahren, in dem
Daten entsprechend dem PID-Paketheaderwert gefiltert sind, werden
entweder direkt (in der Form eines PES-Stroms) zu einem vorbestimmten
Prozessor gesendet, oder werden in einer zweiten Stufe entsprechend
eines TID- oder PSI-Headerwertes gefiltert, und zwar bevor sie in
dem Speicher des Decoders zusammengefügt bzw. zusammengebaut werden.
-
Indem die Transportpaketdaten direkt
nach einer ersten Filterstufe gespeichert werden, erlaubt die vorliegende
Erfindung die direkte und schnelle Verarbeitung von Daten, welche
ansonsten über
eine Zeitperiode würden
kompiliert werden müssen,
und zwar indem eine Serie von Tabellen usw. zusammengefügt bzw.
zusammengebaut werden. Zum Beispiel können unverarbeitete bzw. originale
oder natürliche Daten
in der Nutzlast des Transportpaketes befördert werden, um in dem Speicher
gespeichert zu werden und nachfolgend durch den Hauptprozessor des Empfängers/Decoders
verwendet zu werden.
-
Die Transportpaketdaten können zumindest entsprechend
dem Wert einer Paket-ID oder PID innerhalb des Transportpaketheaders
gefiltert werden. In einer bevorzugten Ausführungsform können jedoch
die Daten entsprechend anderen Bitwerten innerhalb des Transportpaketheaders
zusätzlich
zu dem Wert der Paket-ID gefiltert werden.
-
Ein komplettes Transportpaket einschließlich dem
Paketheader und der Nutzlast wird zu einem Speicherelement geleitet
bzw. geführt
und in dem Speicherelement gespeichert. Dies erleichtert die spätere Behandlung
der Paketdaten. Zum Beispiel kann es gewünscht sein, eine Analyse der
Transportpaketheadercharakteristik durchzuführen.
-
In diesem Fall, wo ein MPEG-Typformat
benutzt wird, werden die Transportpaketdaten in Paketen einer festen
Größe übertragen.
In einer vorteilhaften Ausführungsform
wird ein gefiltertes Paket zu dem Speicherelement geleitet bzw.
geführt,
das dieselbe Größe wie die
feste Paketgröße hat.
-
Die Daten, die innerhalb der Nutzlast
des Transportpaketes beinhaltet sind, können selbst in der Form von
Daten-Sekundärpaketen
organisiert sein, wobei jedes einen Header bzw. Kopf und eine Nutzlast
aufweist. Im Gegensatz zu den Transportpaketen können diese Sekundärdatenpakete
eine variable Paketlänge
haben.
-
Insbesondere in dem Fall, wo die übertragenen
Daten in einem MPEG-Format organisiert sind, können die Daten, die in der
Nutzlast eines MPEG-Transportpaketes beinhaltet sind, in der Form eines
paketisierten Elementarstromes oder PES organisiert sein. Dieser
paketisierte Elementarstrom kann einem Video-, Audio-, Teletext-,
Untertitel- oder paketisierten Elementarstrom entsprechen, der direkt durch
einen entsprechenden Prozessor des Empfängers/Decoders verarbeitet
wird.
-
Zusätzlich zur Leitung bzw. Führung ausgewählter Pakete
zu einem Speicherelement kann der Digitalfilter auch benutzt werden,
um ausgewählten Daten
zu einem Prozessor zu leiten bzw. zu führen, z. B. um ausgewählte Daten
zu einem visuellen Prozessor zu leiten bzw. zu führen, um ein Bild zu erzeugen,
und zwar ohne zuerst in einem Speicherelement gespeichert zu sein.
-
Die Daten können zu einem Prozessor zur Ausführung geleitet
bzw. geführt
werden, und zwar entweder direkt oder über eine zweite digitale Filterstufe.
In diesem Fall, wo Daten, die in der Nutzlast von Transportpaketen
beinhaltet sind, in der Form von Sekundärdatenpaketen organisiert sind,
können die
zweiten Digitalfilter die Pakete filtern, und zwar basierend auf
dem Wert eines oder mehrerer Elemente des Headers der Sekundärdatenpakete.
-
Die Daten, die durch den zweiten
digitalen Filter gefiltert werden, können zu einem verbundenen Speicherelement
geleitet bzw. geführt
werden, um zu speichern, und/oder zu einem Prozessor geleitet bzw.
geführt
werden, um zu decodieren, nachdem sie gefiltert worden sind.
-
Die Sektionen bzw. Abschnitte, die
innerhalb der Nutzlast eines Transportpaketes beinhaltet sind, können entsprechen
dem Wert des Sektionsheaders bzw. Abschnittskopfs gefiltert werden.
-
Die vorliegende Erfindung erstreckt
sich in einem zweiten Aspekt auf einen Empfänger/Decoder für ein digitales
audio-visuelles Übertragungssystem, wobei
der Empfänger/Decoder
ein erstes digitales Filter enthält,
zum Filtern erster Transportpaketdaten, empfangen durch den Empfänger/Decoder,
und mit Daten in der Form von Paketstromdaten gemäß den Charakteristiken
des Transportpaketheader und zum Führen bzw. Leiten ausgewählter gefilterter
Daten direkt zu einem Speicherelement für das Speichern in Form eines
vollständigen
Transportpaketes mit dem Paketheader und der Nutzlast, und ein zweites
digitales Filter zum Filtern, parallel zu den ersten Transportpaketdaten,
von zweiten Transportpaketdaten, empfangen durch den Empfänger/Decoder,
und mit Daten in der Form von Paketstromdaten gemäß dem Wert
der Paket-ID zum Herausteilen der Nutzlast von einem empfangenen
Paket und zum Führen
bzw. Leiten der Nutzlast in Echtzeit zu einem oder mehreren entsprechenden
Prozessorelementen.
-
In dem Zusammenhang der vorliegenden Anmeldung
bezieht sich der Ausdruck "digitales-audio-visuelles Übertragungssystem"
auf alle Übertragungssysteme
zur Übertragung
oder Ausstrahlung primärer
audio-visueller oder multimedia-digitaler Daten. Während die
vorliegende Erfindung im Besonderen auf ein Sende-Digital-Fernsehsystem anwendbar
ist, wie z. B. ein Satelliten-, terrestrisches oder Kabelfernsehsystem,
kann die vorliegende Erfindung genauso bei der Filterung von Da-
ten benutzt werden, die durch ein festes Telekommunikationsnetzwerk
für Multimedia-Internetanwendungen, kombinierte
Telekommunikations- und Ausstrahlungssysteme usw. gesendet werden.
-
Der Ausdruck MPEG bezieht sich auf
die Datenübertragungsstandards
bzw. die Datenübertragungsnormen,
die durch die internationale Standardorganisationsar beitsgruppe
bzw. internationale Normorganisationsarbeitsgruppe "Motion Pictures
Expert Group" entwickelt wurde und hauptsächlich bzw. vor allem den MPEG-2-Standard bzw. die MPEG-2-Norm
für digitale
Fernsehanwendungen entwickelt hat und in den Dokumenten ISO 13818–1, ISO
13818–2,
ISO 13818–3
und ISO 13818-4
dargelegt hat. In dem Zusammenhang der vorliegenden Patentanmeldung
beinhaltet der Ausdruck alle Variation, Modifikationen oder Entwicklungen
der Basis-MPEG-Formate,
die auf dem Gebiet der Digitaldatenübertragung anwendbar sind.
-
Ähnlich
wird es klar sein, dass, während
die Beschreibung sich auf "Empfänger/Decoder"
und "Decoder" bezieht, die vorliegende Erfindung ebenso Ausführungsformen
mit einem Empfänger,
der mit dem Decoder integriert ist, wie eine Decodereinheit, die
in Kombination mit einem physikalisch separaten Empfänger funktioniert,
sowie Decodereinheiten, die andere Funktionalitäten, wie z. B. Web-Browser, Decoder,
die mit anderen Geräten
integriert sind, wie z. B. Videorecordern, Fernseher usw. anwendet
bzw. einsetzt.
-
Es wird nun nur beispielsweise eine
bevorzugte Ausführungsform
der vorliegenden Erfindung mit Bezug auf die beigefügten Zeichnungen
beschrieben, für
die gilt: 1 zeigt einen Überblick
eines digitalen Fernsehsystems;
-
2 zeigt
die Komponenten bzw. Elemente eines Empfängers/Decoders zum Einsatz
bzw. Verwenden in einem digitalen Fernsehsystem;
-
3 zeigt
die digitalen Filter, die in dem Decoder von 2 verwendet werden, um Paketdaten entsprechend
dieser Ausführungsform
der vorliegenden Erfindung zu filtern; und
-
4 zeigt
die Struktur von Paketdaten innerhalb des übertragenen Datenstromes sowie
die Struktur von Daten, die innerhalb der Nutzlast von solchen Paketen
beinhaltet sind.
-
Einen Überblick eines digitalen Fernsehsystems 1 gemäß der vorliegenden
Erfindung ist in 1 gezeigt.
Die Erfindung umfasst ein meist herkömmliches digitales Fernsehsystem 2,
welches das bekannte MPEG-2-Kompressionssystem verwendet, um komprimierte
digitale Signale zu übertragen.
Im Einzelnen empfängt
ein MPEG-2-Datenkomprimierer 3 in einem Rundfunkzentrum
einen digitalen Signalstrom (typischerweise einen Strom von Videosignalen).
Der Datenkomprimierer 3 ist mit einem Multiplexer und Scrambler 4 über eine
Verbindung 5 verbunden.
-
Der Multiplexer 4 empfängt eine
Vielzahl von weiteren Eingabesignalen, assembliert den Transportstrom
und überträgt komprimierte
digitale Signale an einen Sender 6 des Rundfunkzentrums über eine Verbindung 7,
welche selbstverständlich
eine breite Auswahl von Gestaltungen, einschließlich einer Telekommunikationsverbindung,
aufweisen kann. Der Sender 6 überträgt elektromagnetische Signale über eine
aufsteigende Verbindung 8 zu einem Satelliten-Transponder 9,
wo diese Signale elektronisch verarbeitet und über eine fiktive, absteigende
Verbindung 10 an einen Erdempfänger 12 gesendet werden,
welcher üblicherweise
in der Gestalt einer Schüssel
vorliegt, die der Endbenutzer besitzt oder gemietet hat. Die durch
den Empfänger 12 empfangenen
Signale werden an einen integrierten Empfänger/Decoder 13 übertragen,
die der Endbenutzer besitzt oder gemietet hat und mit dem Fernsehgerät 14 des
Endbenutzers verbunden ist. Der Empfänger/Decoder 13 decodiert
das komprimierte MPEG-2-Signal in ein Fernsehsignal für das Fernsehgerät 14.
-
Selbstverständlich sind andere Transportkanäle zur Übertragung
der Daten möglich,
wie etwa ein terrestrischer Rundfunk, eine Kabelübertragung, eine kombinierte
Satelliten/Kabelverbindungen, Telefonnetzwerke, etc.
-
In einem Multikanalsystem bearbeitet
der Multiplexer 4 Audio- und Videoinformationen, die von einer
Anzahl von parallelen Quellen empfangen wurden, und der Multiplexer 4 interagiert
mit dem Sender 6, um die Information entlang einer ent sprechenden Anzahl
von Kanälen
zu senden. Zusätzlich
zu audio-visueller Information können
Nachrichten oder Anwendungen oder jegliche andere Art von digitalen Daten
durch Verschachtelung mit den übertragenen digitalen
Audio- und Videoinformationen eingeführt werden.
-
Ein bedingtes bzw. konditionales
Zugriffssystem bzw. ein System mit bedingtem Zugriff 15 ist
mit Multiplexer 4 und dem Empfänger/Decoder 13 verbunden
und ist teilweise in dem Rundfunkzentrum und teilweise in dem Decoder
angeordnet. Dieses ermöglicht
es dem Endbenutzer, auf digitale Fernsehsendungen von einem oder
mehreren Rundfunkanbietern zuzugreifen. Eine Smartcard, die in der
Lage ist, sich auf kommerzielle Angebote (d. h., ein oder verschiedene
Fernsehprogramme wurden durch den Rundfunkanbieter verkauft) beziehende
Nachrichten zu entschlüsseln
bzw. zu dechiffrieren, kann in dem Empfänger/Decoder 13 eingeführt werden.
Unter der Verwendung des Decoders 13 und einer Smartcard kann
der Endbenutzer kommerzieller Angebote in entweder einem Abonnenten-Modus
oder einem Pay-Per-View-Modus erwerben.
-
Wie obig erwähnt, werden mittels des Systems übertragene
Programme bei dem Multiplexer 4 gescrambelt bzw. verwürfelt, wobei
die Konditionen und der Verschlüsselungsschlüssel, die
bei einer gegebenen Übertragung
angewandt werden, durch das Zugriffssteuerungssystem 15 ermittelt
bzw. bestimmt werden. Die Übertragung
von gescrambelten Daten auf diese Art und Weise ist aus dem Gebiet
der Pay-TV-Systeme bekannt. Typischerweise werden gescrambelte Daten
zusammen mit einem Steuerungswort zum Entscrambeln bzw. Entwürfeln der Daten übertragen,
wobei das Steuerungswort selber mittels eines so genannten Exploitations-
bzw. Auswertungsschlüssels
verschlüsselt
ist und in verschlüsselter
Form übertragen
wird.
-
Die gescrambelten Daten und das verschlüsselte Steuerungswort
werden dann mittels des Decoders 13 empfangen, welcher
einen Zugriff auf einen zu dem Auswer tungsschlüssel äquivalenten Schlüssel hat,
der auf einer in den Decoder eingeführten Smartcard gespeichert
ist, um das verschlüsselte Steuerungswort
zu entschlüsseln
und danach die übertragenen
Daten zu entscrambeln. Ein im Voraus bezahlender Abonnent wird beispielsweise
in einer monatlich versendeten ECM (Entitlement Control Message
bzw. Berechtigungs-Steuerungs-Nachricht) den Auswertungsschlüssel empfangen,
der notwendig ist, um das verschlüsselte Steuerungswort zu entschlüsseln, um
es somit zu ermöglichen,
die Übertragung
anzuschauen.
-
Ein interaktives System 16,
welches ebenso mit dem Multiplexer 4 und dem Empfänger/Decoder 13 verbunden
und wiederum teilweise in dem Rundfunkzentrum und teilweise in dem
Decoder angeordnet ist, gestattet es dem Endbenutzer, mit einer
Vielzahl von Applikationen über
einen Modemmed-Back-Kanal 17 zu interagieren. Der Modemmed-Back-Kanal
kann auch für
Kommunikationen benutzt werden, die in dem konditionalen Zugriffssystem 15 verwendet
werden. Ein interaktives System kann beispielsweise benutzt werden,
um es dem Zuschauer zu ermöglichen,
unmittelbar mit dem Übertragungszentrum
zu kommunizieren, um eine Autorisation anzufordern, ein bestimmtes
Ereignis anzuschauen, eine Anwendung herunterzuladen etc.
-
Unter Bezugnahme auf 2 werden nun die Komponenten bzw. Elemente
des Empfängers/Decoders 13 oder
der Set-Top-Box, die ausgelegt sind, um in der vorliegenden Erfindung
verwendet zu werden, beschrieben. Die in diesen Figuren gezeigten
Elemente bzw. Komponenten werden in Bezeichnungen bzw. Ausdrücken von
funktionalen Blöcken
beschrieben.
-
Der Decoder 13 umfasst einen
zentralen Prozessor 20, welcher zugehörige Speicherelemente einschließt und ausgelegt
ist, um Eingabedaten von einer seriellen Schnittstelle 21,
einer parallelen Schnittstelle 22, einem Modem 23 (welches
mit dem Modemmed-Back-Kanal 17 von 1 verbunden ist) und Schaltkontakten 24 an
der Frontkonsole des Decoders zu empfangen.
-
Der Decoder ist zusätzlich derart
ausgelegt, um Eingaben von einer Infrarot-Fernbedienung 25 über eine
Steuereinheit 26 zu empfangen, und er besitzt auch zwei
Smartcard-Lesegeräte 27, 28,
die jeweils ausgelegt sind, Bank- oder Abonnenten-Smartkarten 29, 30 zu
lesen. Das Abonnenten-Smartcard-Lesegerät 28 steht im Eingriff
mit einer eingeführten
Abonnentenkarte 30 und mit einer konditionalen Zugriffseinheit 29,
um das notwendige Steuerungswort an den Demultiplexer/Entscrambler 30 zu liefern,
um es zu ermöglichen,
dass das verschlüsselte
Rundfunksignal entscrambelt wird. Der Decoder umfasst ferner einen
herkömmlichen
Tuner 31 und Demodulator 32, um die Satellitenübertragung
zu empfangen und zu demodulieren, bevor diese mittels der Einheit 30 gefiltert
und demultiplext wird.
-
Die Verarbeitung von Daten innerhalb
des Decoders wird allgemein durch den zentralen Prozessor 20 behandelt.
Die Software-Architektur des zentralen Prozessors kann jener entsprechen,
die in einem bekannten Decoder verwendet wird, und wird hier nicht
in irgendeinem Detail beschrieben. Beispielsweise kann sie auf einer
virtuellen Maschine basieren, die über eine Schnittstellenschicht
mit einem Operationssystem niedrigeren Levels interagiert, welches
in den Hardware-Komponenten des Decoders implementiert ist. In Begriffen
der Hardware-Architektur
wird der Decoder mit einem Prozessor, Speicherkomponenten, wie etwa
ROM, RAM, FLASH, etc., wie in bekannten Decodern ausgerüstet sein.
-
In dem Fall von empfangenen Audio-
und Videosignalen, und wie es detaillierter nachfolgend beschrieben
wird, werden die MPEG-Pakete, die diese Signale enthalten, entmultiplext
und gefiltert, um zu bestimmten Audio- und Videoprozessoren oder
Decodern 33, 34 Echtzeit-Audio- und Videodaten
in der Gestalt eines paketisierten elementaren Stromes (PES) von
Audio- und Videodaten geleitet bzw. geführt zu werden. Die konvertierte
Ausgabe von dem Audioprozessor 33 wird an einen Vorverstärker 35 und
danach an die Audioausgabe bzw. den Audioausgang des Empfängers/Decoders
geleitet bzw. geführt.
Die konvertierte Ausgabe bzw. der konvertierte Ausgang von dem Videoprozessor 34 wird über einen
Grafikprozessor 36 und PAL/SECAM-Kodierer 37 zu
der Videoausgabe bzw. dem Videoausgang des Empfängers/Decoders geleitet bzw.
geführt.
-
Der Grafikprozessor 36 empfängt zusätzlich Grafikdaten
zur Anzeige (wie z. B. erzeugte Bilder etc.) von dem zentralen Prozessor 20 und
kombiniert diese Information mit Information, welche von dem Videoprozessor 34 empfangen
wurde, um eine Bildschirmanzeige zu erzeugen, welche Bewegtbilder zusammen
mit überlagertem
Text oder anderen Bildern kombiniert.
-
In dem Fall von empfangenem Teletext- und/oder
Untertiteldaten kann die Konversion der Echtzeit-PES-Daten zur Erzeugung
der zugehörigen bzw.
geeigneten Bilder auch durch bestimmte Prozessoren bearbeitet werden.
In den meisten herkömmlichen
Systemen wird dieses jedoch durch den Prozessor 20 gehandelt.
-
Die Verarbeitung der gefilterten
audio-visuellen und Teletext-/Untertiteldaten, um die notwendigen
Bild- und Sound- bzw. Tondaten zu erzeugen, ist herkömmlich und
braucht nicht weiter genauer beschrieben zu werden.
-
Bezieht man sich nun auf die 3 und 4, so wird nun ein System zur Paketdatenfilterung
innerhalb des Demultiplexers 30 beschrieben. In 3 werden descrambelte bzw.
entwürfelte
MPEG-Pakete, die von dem Descramblerteil bzw. Entwürflerteil des
Demultiplexers (nicht gezeigt) ankommen, durch eine erste Stufe
von digitalen Filtern 40 geführt bzw. geleitet. Diese Stufe
von Filtern umfasst einen Standardsatz bzw. Normsatz von vier PID-Filtern 41,
um visuelle, Audio-, Teletext- und Untertiteldaten zu extrahieren,
vier Paketheaderfilter 42, um MPEG-Pakete mit vorbestimmten
Headercharakteristiken zu extrahieren, und weiteren herkömmlichen
achtundzwanzig PID-Filtern, um MPEG-Pakete eines vorbestimmten PID-Wertes
zu extrahieren.
-
Bezieht man sich nun auf 4, so wird die Struktur
eines Standard-MPEG-2-Paketes 60 bzw. Norm-MPEG-2-Paketes 60 von übertragenen
Daten gezeigt. Das Paket hat eine feste Länge von 188 Bytes und umfasst
einen Header 61 und eine Nutzlast 62.
-
Der Header 61 hat eine feste
Größe von vier Bytes
(32 Bits). Die Nutzlast hat eine Länge von 184 Bytes (1472 Bits).
-
Das erste Byte 62 des Headers
umfasst Synchronisationsdaten, die verbleibenden drei Bytes (24 Bits)
werden durch eine Paket-ID- oder PID-Sektion 63 und anderen
Daten 64 besetzt. Die PID-Sektion hat eine Länge von
13 Bits, wobei die anderen Daten die verbleibenden 11 Bits besetzen.
-
Genauer gesagt, umfassen in einem
Standard-MPEG-Paket bzw. Norm-MPEG-Paket die drei Header Bytes,
die den Synchronisationsdaten folgen, Folgendes:
Transportfehleranzeige | 1
Bit |
Nutzlast-Einheit-Start-Anzeige | 1
Bit |
Transportpriorität | 1
Bit |
PID | 13
Bits |
Transport-Scrambling-Steuerung | 2
Bits |
Anpassungsfeldsteuerung | 2
Bits |
fortlaufender
Zähler | 4
Bits |
-
Bezieht man sich nun zurück auf 3, so führen die Filter 41 zur
Extraktion des Video-, Audio- usw. Datenstroms einen Filterungsprozess
durch, und zwar basierend auf ausschließlich dem Wert der Bits innerhalb
der PID-Sektion 63. Aus diesem Grund haben die Filter eine
Größe von 13
Bits, die der Größe dieser
Sektion bzw. dieses Abschnitts entsprechen.
-
Wie in herkömmlichen MPEG-Systemen, beinhalten
gewisse Transportpakete an reservierten PID-Adressen Informationen,
die die PID-Adressen von Audiopake ten, visuellen Paketen usw. betreffen. Diese
Information ermöglicht
den Filtern 41 die korrekten Pakete für eine nachfolgende Verarbeitung
zu extrahieren. Sobald der Transportpaketheader entfernt ist, werden
die extrahierten PES-Ströme,
die in der Nutzlast beinhaltet sind und durch diese Filter ausgefiltert
wurden, direkt zu den zugehörigen
bzw. geeigneten Prozessoren zur Echtzeitumwandlung zu Bildund Sound-
bzw. Tondaten geleitet bzw. geführt.
-
In entgegengesetzter Weise führen die
Filter 42 entsprechend dieser Ausführungsform der Erfindung eine
Filterung von Daten durch, und zwar basierend auf dem gesamten Paketheader 63, 64,
das die PID-Sektion bzw. den PID-Abschnitt 63 einschließt, aber
das Synchronisationsbyte 62 ausschließt. Aus diesem Grund hat jeder
der Filter 42 eine Größe von 24
Bits oder 3 Bytes.
-
Wie bei allen herkömmlichen
digitalen Filtern, können
die Filter 42 voreingestellt sein, um die Anwesenheit oder
Abwesenheit eines gegebenen Bits zu erkennen oder um den Wert eines
Bits an einer bestimmten Position zu ignorieren, indem dieses Bit
maskiert wird. Die Filter 42 können in einer festen Hardwareschaltung
oder mit Hilfe eines bestimmten programmierbaren Prozessors, der
mit einem eingebetteten Softwareprogramm arbeitet realisiert sein. Die
Charakteristiken der digitalen Filter 42 können durch
die zentrale Steuerungseinheit des Empfängers/Decoders vorprogrammiert
werden und können, wie
gewünscht,
geändert
werden.
-
In der vorliegenden Ausführungsform
wurden vier Filter 42 angezeigt. Zur Erleichterung der Repräsentation
bzw. Darstellung werden die vier Datenströme, die an dem Ausgang des
Filters erscheinen, als ein einzelner Datenfluss gezeigt. Bei anderen
Ausführungsformen
können
eine andere Anzahl von derartigen Filtern parallel bereitgestellt
sein.
-
Abhängig von dem Ergebnis des Filterungsprozesses
bzw. Filterverfahrens können
einige der Daten zu einem bestimmten Speicherelement 44 geleitet
bzw. geführt
werden und können
in einem bestimmten Speicherelement 44 z. B. einem RAM-Element gespeichert
werden. Alternativ kann ein vorbestimmter Raum in dem allgemeinen
Speicher des Empfängers/Decoders
zu dem Speicher dieser Daten zugeordnet bzw. reserviert sein. Bei
dieser Ausführungsform
wird das Ganze eines empfangenen und gefilterten Daten-MPEG-Paketes
in dem Speicherelement 44 gespeichert, welches eine korrespondierende
Größe von 188
Bytes hat. Bei alternativen Anordnungen können nur die 184 Bytes Nutzlast des
MPEG-Paketes gespeichert werden. Wie zuvor, werden vier derartige
Pufferelemente für
jeden der vier Filter bereitgestellt.
-
Die Daten können in dem Speicherelement gespeichert
werden, und zwar entsprechend entweder eines einfachen Modus, wo
nur das erste passende Paket bzw. Abgleichpaket gespeichert wird,
wobei die verbleibenden gefilterten Pakete ignoriert werden, oder
ein Wiederholmodus, wo jedes passende Paket bzw. Abgleichpaket in
dem Speicher gespeichert wird, wobei ein neues Paket ein zuvor gespeichertes
Paket löscht.
-
Einmal in dem Speicherelement 44 gespeichert,
können
derartige Daten aufgerufen und nach Belieben verarbeitet werden,
und zwar durch den Empfänger/Decoder.
Zum Beispiel kann die Nutzlast des Transportpaketes unverarbeitet
den originalen oder natürlichen
Code beinhalten, der durch die Elemente des Decoders ausgeführt wird.
Alternativ kann es gewünscht
sein, die Charakteristiken des Headers des Transportpakets zu analysieren.
-
Im Gegensatz zu bekannten Systemen
zur Extraktion und Speicherung, von Datenmodulen, die in einer festen
Tabellenform angeordnet sind (siehe die Beschreibung unterhalb der
PID-Filter 42 und der nachfolgenden Verarbeitung), ist
die Filterstufe 42 im Besonderen zur Filterung und Speicherung
von Transportpaketen ange passt, die PES-Daten beinhalten, wie z.
B. Video- oder Audio-PES-Daten, da sie in einem sequenziellen Block
ankommen. Wie nun beschrieben wird, kann der Filter 42,
anstatt des Leitens bzw. Führens
eines Transportpaketes zu dem Speicher 44 den Transportpaketheader
entfernen und die PES-Daten, die in der Nutzlast beinhaltet sind,
zu einem zweiten digitalen Filter 45 senden.
-
Bezieht man sich auf 4, so repräsentiert die untere Veranschaulichung
ein PES-Datenpaket 65, das in einem oder mehreren Nutzlasten 62 eines MPEG-Paketes 60 befördert werden
kann. Im Gegensatz zu einem MPEG-Paket ist ein PES-Paket von variabler
Länge und
ein PES-Paket kann in einer Vielzahl von übertragenen MPEG-Paketen befördert bzw.
getragen werden.
-
Das PES-Paket umfasst eine Headersektion bzw.
einen Kopfabschnitt
66 und eine Nutzlast
67. Die
Headersektion
66 eines PES-Paketes schlüsselt sich wie folgt auf bzw.
ist wie folgt eingeteilt:
Paket-Start-Code-Präfix | 3
Bytes |
Stromidentifizierer | 1
Byte |
PES-Paketlänge | 2
Bytes |
Flag-
bzw. Kennzeichenfeld | 2
Bytes |
Optionales
Feld | (variable
Länge) |
Füllende Bytes
bzw. Füllbytes | (variable
Länge) |
-
In dem vorliegenden Fall sind die
Elemente des PES-Headers, die in dem Zweistufenfilterprozess bzw.
in der zweiten Stufe des Filterprozesses zu betrachten sind, und
ihre maximalen Werte:
Aus
dem Flagfeld bzw. Kennzeichenfeld: | |
Flags
bzw. Kennzeichen | 8
Bit max |
Aus
den Optionalfeldern: | |
PTS-Felder | 33
Bit max |
DTS-Felder | 33
Bit max |
DSM-Trickmodusfeld | 8
Bit max |
-
Die Bedeutung von jedem der Felder
bezieht sich auf das Gebiet der digitalen Ausstrahlung und wird
dem Fachmann bekannt sein. Der Ausdruck "PTS" bezieht sich auf die
"Präsentationszeitstempel"
und bestimmt die relative zeitliche Anpassung bzw. Synchronisierung
der Datenanzeige in dem Paket, "DTS" bezieht sich auf "Decoderzeitstempel"
und bestimmt die relative zeitliche Anpassung bzw. Synchronisierung
oder Taktung einer Datenverarbeitung und "DSM-Trickmodus" wird verwendet,
um die Daten in einer besonderen Art und Weise zu behandeln, z.
B. durch Einfrieren eines Vollbildes bzw. Rahmens, Wiederholen eines
Vollbildes bzw. Rahmens usw. Der Ausdruck "Flagfelder" bzw. "Kennzeichenfelder" bezieht
sich auf einen Satz von Flags bzw. Kennzeichen, die die Anwesenheit
oder Abwesenheit von gewissen Informationen anzeigen. In dem vorliegenden Fall
wird die Filterung nur an bzw. bei einer Hälfte der verfügbaren Flags
bzw. Kennzeichen in dem Flagfeld bzw. Kennzeichenfeld durchgeführt.
-
Bezieht man sich auf 3, so benötigt der zweite Filter 45 eine
Größe von 82
Bits, und zwar entsprechend der maximalen Größe aller oben genannten Werte,
um Daten korrekt zu filtern, und zwar basierend auf den PES-Headerwerten,
die oben beschrieben sind. Der Filterprozess bzw. das Filterverfahren
kann auf einer "OR"-Basis
durchgeführt
werden, das heißt,
falls irgendeines der Felder ("Flag" bzw.
-
"Kennzeichen", PTS, DTS, DSM-Trickmodus)
präsent
bzw. anwesend ist, kann der PES-Strom zu einem Speicherelement 46 oder über ein
Schaltelement 47 zu dem vorbestimmten Prozessorelement zur
Echtzeitverarbeitung und -präsentation gesendet werden.
Wie zuvor, kann die Filterung entsprechend bekannter digitaler Filterungstechniken
durchgeführt werden;
Maskierung, Vergleich eines Feldes zu einem gegebenen maximalen/minimalen
Wert usw.
-
Wie oben beschrieben, wurde die Filterung bei
dem Filter 45 in Relation zu dem PES-Header durchgeführt. Bei
dieser Ausführungsform
kann jedoch die Filterung in Relation zu der Nutzlast durchgeführt werden.
In einem derartigen Fall definiert der Systemoperator bzw. Systembediener
die Charakteristiken der Nutzlast, um eine Filterung zu erlauben, z.
B., indem eine Anzahl von vorbestimmten Feldern, nachdem das Ende
des Headers, das identifiziert und gefiltert werden kann, und zwar
durch den Filter 45 usw., definiert wird.
-
Der Speicher 46 kann irgendeinen
Wert haben, der ausreicht, um eine sinnvolle Menge von PES-Daten
zu speichern. In dem vorliegenden Fall wurde ein Speicher mit 1024
Bytes gewählt.
-
Das Schaltelement 47 wird
benötigt,
um ein Überladen
eines gegebenen Prozessors zu verhindern. Wie oben beschrieben,
arbeiten die Filterstufen 42, 45 parallel mit
dem Filter 41. In dem Fall, wo die Filter 42, 45 eingesetzt
sind bzw. eingerichtet sind, um einen gegebenen PES-Strom (z. B.
ein Video-PES-Strom) zu einem Prozessor zur unmittelbaren Echtzeitverarbeitung
zu führen
bzw. zu leiten, ist es notwendig, die Versorgung desselben Datenstromtyps
(z. B. das Video-PES, das von den Filtern 41 weggeht) zu
demselben Prozessor zu verhindern.
-
Zusätzlich zu den Filtern 41, 42 schließt die vorliegende
Ausführungsform
ferner einen weiteren Satz von PID-Filtern 43 ein, die
angepasst sind, um heruntergeladene Anwendungsdaten zu identifizieren
und zu verarbeiten, die in Form von Sektionen bzw. Abschnitten innerhalb
der Nutzlast des MPEG-Paketes gespeichert sind. Die Anwendungsdaten,
die durch die PID-Filter 43 identifiziert sind, werden über einen
weiteren Satz von 32 Sektionsfiltern bzw. Abschnittsfiltern 48 geroutet bzw.
geleitet, welche eine weitere Filteroperation bzw, einen weiteren
Filterbetrieb durchführen,
und zwar basierend auf dem Wert des Sektionsheaders bzw. Abschnittskopfes,
der die Tabellen-ID, die in dem Header der Tabelle innerhalb der
MPEG-Paket-Nutzlast präsent
bzw. vorhanden ist, einschließt.
Die gefilterten Tabellen werden dann über FIFO-Puffer 49 geführt bzw.
geleitet, um in dem Verarbeitungsspeicher 50 assembliert bzw.
zusammengesetzt oder zusammengefügt
zu werden.
-
Wie in der Einführung erwähnt, ist diese Filterung von
Daten durch eine Tabellen-ID
an sich bekannt und z. B. in der anhängigen Patentanmeldung PCT/EP97/02114,
die in dem Namen des vorliegenden Anmelders eingereicht wurde beschrieben.
Deswegen braucht es nicht genauer beschrieben zu werden.