-
Die
vorliegende Erfindung bezieht sich auf einen Empfänger/Decodierer,
insbesondere auf eine Speicherverwaltung und einen Datentransfer
dafür. Die
Erfindung findet insbesondere Anwendung bei der Schnittstelle zwischen
Anwendungsprogrammen und physikalischen Einrichtungen, Der hier
verwendete Ausdruck „Empfänger/Decodierer" kann einen Empfänger zum
Empfangen codierter oder nicht codierter Signale, beispielsweise
Fernseh- und/oder Radiosignale umfassen, die durch eine andere Einrichtung
rundgesendet oder übertragen
werden. Der Ausdruck kann auch einen Decodierer zum Decodieren empfangener
Signale umfassen. Ausführungsbeispiele
derartiger Empfänger/Decodierer
können einen
mit dem Empfänger
integriert vorhandenen Decodierer zum Decodieren der empfangenen
Signale beispielsweise in einer „aufgesetzten Box" umfassen, wobei
dieser Decodierer in Kombination mit einem physikalisch separaten
Empfänger
funktioniert, und wobei ein derartiger Decodierer zusätzliche
Funktionen wie einen Webbrowser, Videorekorder oder Fernsehen enthält.
-
In
einem digitalen Fernsehrundfunksystem werden empfangene Signale
zu einem Empfänger/Decodierer
und dann zu einem Fernsehgerät
geführt.
Der hier verwendete Ausdruck „digitales
Fernsehsystem" umfasst
beispielsweise ein beliebiges Satellitensystem, terrestrisches System,
Kabelsystem, und so weiter. Der Empfänger/Decodierer decodiert ein
komprimiertes Signal vom MPEG-Typ in ein Fernsehsignal für das Fernsehgerät. Er wird
durch eine Handfernsteuerung über
eine Schnittstelle im Empfänger/Decodierer
gesteuert. Der Empfänger/Decodierer
wird zur Verarbeitung des ankommenden Bitstroms verwendet, und enthält eine
Vielzahl von Anwendungsmodulen, die den Empfänger/Decodierer zur Durchführung einer
Vielzahl von Steuer- und anderen Funktionen veranlassen.
-
Ein
derartiger Empfänger/Decodierer
kann eine Vielfalt von mit ihm verbundenen Einrichtungen aufweisen,
wie einen Kartenleser für
den Benutzer, um eine Autorisierungskarte zur Bestätigung durchzuführen, welche
Dienste der Benutzer autorisiert ist zu benutzen, einen Empfängersteuerungshandleser, eine
Videoanzeigeeinheit und einen zweiten Kartenleser zur Verwendung
mit Bankkarten, um dem Benutzer die Durchführung von Homebankingfunktionen
zu ermöglichen.
Er kann auch eine Vielzahl von mit ihm verbundenen Anschlüssen aufweisen,
beispielsweise ein Modem für
einen Internetzugang und zur Ausführung von Homebankingtransaktionen.
-
Die
Möglichkeit
einer Schnittstelle zwischen einem Empfänger/Decodierer und einer Vielzahl
verschiedener Anschlüsse
wurde vorgeschlagen, wie einem Modem, seriellen Kanal, parallelen
Kanal, einem MPEG (komprimiertes und codiertes Videosignal)-Kanal,
einem Swipe Card Reader, und so weiter. Der Empfänger/Decodierer enthält eine
virtuelle Einrichtung, die eine Laufzeiteinrichtung umfasst. Die virtuelle
Einrichtung ist mit einem Einrichtungsverwalter verbunden, der wiederum
mit den physikalischen Schnittstellen der verschiedenen Kanäle über Einrichtungen
und Einrichtungstreiber verbunden ist.
-
Die
Erfindung betrifft insbesondere einen Empfänger/Decodierer mit einem oder
mehreren Anwendungsmodulen, die mit einem oder mehreren Anschlüssen oder
Einrichtungen verbunden sind, über die
Informationen zu und von den Anwendungsmodulen geführt werden
können.
-
Im
allgemeinen weisen die verschiedenen Anschlüsse unterschiedliche Eigenschaften
auf, beispielsweise bezüglich
der Datenraten von wenigen bps (Bits pro Sekunde} für einen
Empfängersteuerungshandleser
bis, zu vielen Mbps (für
einen MPEG-Bitstrom). Es ist daher üblich, ein Einrichtungsverwaltungsmodul
vorzusehen, das effektiv eine Schnittstelle zwischen den Anwendungsmodulen
und den Anschlüssen
bildet. Dies ermöglicht
eine Vereinfachung der Anwendungsmodule.
-
Möchte ein
Anwendungsmodul Informationen senden, kann es oft die Übertragungsrats
und andere Parameter in Abhängigkeit
von den Bedingungen im Empfänger/Decodierer
steuern. Für
den Empfang von Informationen wird die Übertragungsrate allerdings
oft durch externe Bedingungen bestimmt. Um einen Informationsverlust
zu vermeiden, enthält
das Einrichtungsverwaltungsmodul daher normalerweise eine Pufferanordnung,
sodass die ankommenden Informationen in einem Puffer gespeichert
werden können,
bis das empfangende Anwendungsmodul für ihre Annahme bereit ist.
-
Das
Einrichtungsverwaltungsmodul ist geeigneterweise zur Definition
oder Bestimmung einer Vielfalt von Puffern entwickelt, wodurch ein
flexibler Kommunikationsaufbau zwischen den Anwendungsmodulen, dem
Einrichtungsverwaltungsmodul und den Anschlüssen ermöglicht wird.
-
Das
grundlegende Prinzip des Pufferns im Empfänger/Decodierer besteht darin,
dass ein Speicherabschnitt in einem Speicher als Puffer bestimmt wird.
Ankommende Daten vom Anschluss werden in den Puffer geführt und
das Anwendungsmodul liest die Informationen aus dem Puffer. In Abhängigkeit von
den Umständen
kann die Puffergröße derart
gewählt
werden, dass sie zur Aufnahme der meisten oder aller ankommenden
Nachrichten groß genug
ist, oder der Puffer kann zyklisch betrieben werden, mit zwei Zeigern,
einem für
den Punkt, wo frische ankommende Daten in den Puffer geschrieben
werden, und dem anderen für
den Punkt, an dem Daten aus dem Puffer gelesen werden. Eine unabhängige Kommunikation
zwischen Einrichtungen ist nicht möglich, und das System kann
manchmal unansprechbar sein, da ein Puffer durch einen Anschluss
gefüllt
werden muss, bevor Daten aus diesem Puffer zu einem anderen Anschluss
gelesen werden können.
-
In
der
US 5,442,390 ist
ein System zum interaktiven Betrachten von Videos beschrieben, bei
dem ein ausgewähltes
Video als Vielzahl von Rahmen für eine
Wiedergabe auf eine Betrachtungseinrichtung übertragen wird. Das System
beinhaltet einen Speicherpuffer zur Speicherung eines Segments eines ausgewählten Videos.
Der Speicherpuffer enthält
einen Schreibzeiger und einen Lesezeiger. Server sind zum unabhängigen Schreiben
und Lesen von Videodaten der ausgewählten Videos in und aus dem
Speicherpuffer an durch den Schreib- und Lesezeiger angegebenen
Orten zur Übertragung
des ausgewählten
Videos zu der Betrachtungseinrichtung vorgesehen. Durch die Verwendung
einer Fernsteuerung kann der Betrachter die Lese- und Schreibzeiger
zum Betrachten eines beliebigen Abschnitts des ausgewählten Videos
interaktiv positionieren.
-
Das
Hauptziel der Erfindung besteht in der Ausbildung einer verbesserten
Nachrichtenabwicklungsanordnung im System des vorstehenden Typs.
-
Erfindungsgemäß ist ein
Empfänger/Decodierer
nach Patentanspruch 1 ausgebildet.
-
Dieser
bewirkt ein effektives Führen
der ankommenden Nachricht zu einem Anwendungsmodul mit minimaler
Interferenz mit dem Betrieb des Anwendungsmoduls. Anders als in
vorhergehenden Puffersystemen unterliegt der Datentransfer der Steuerung
einer FIFO-Steuereinrichtung, und nicht der Steuerung einer Anwendung.
Da der Speicher zusätzlich
einen Pufferabschnitt enthält
und der Empfänger/Decodierer
ferner eine Puffersteuereinrichtung enthält, die im Ansprechen auf eine
am Anschluss erscheinende Nachricht zum Schreiben der Nachricht
in den Pufferabschnitt des Speichers und im Ansprechen auf ein Steuersignal
von einem Anwendungsmodul zum Lesen der Nachricht aus dem Puffer
in das Anwendungsmodul betreibbar ist, kann dies beispielsweise
einer Anwendung ermöglichen, in
Abhängigkeit
von der Art einer Nachricht zu bestimmen, ob die empfangene Nachricht
entweder im FIFO-Abschnitt oder im Pufferabschnitt zu platzieren ist.
-
Die
FIFO-Steuereinrichtung ist vorzugsweise zum Initiieren des Auslesens
einer Nachricht aus dem FIFO-Abschnitt des Speichers zu der Anwendung
oder in den weiteren Anschluss vor einem vollständigen Empfang der Nachricht
eingerichtet. Auf diese Weise kann ein kontinuierlicher Datenfluss
von einem Anschluss oder einer Einrichtung zu einem anderen Anschluss
oder einer anderen Einrichtung aufrecht erhalten werden. Beispielsweise
können
von einer MPEG-Quelleneinrichtung empfangene Daten direkt in eine
Videoeinrichtung ohne Eingabe von einer Anwendung geleitet werden.
-
Die
FIFO-Steuereinrichtung kann zum Spülen einer Nachricht aus dem
FIFO-Abschnitt eingerichtet sein. Dies kann die Aufrechterhaltung
der Verarbeitung des Informationsflusses im Fall eines Überlaufs
des FIFO-Abschnitts ermöglichen.
-
Die
FIFO-Steuereinrichtung enthält
vorzugsweise eine Belegungserfassungseinrichtung zur Erfassung des
Belegungszustands des FIFO-Abschnitts. Die Belegungserfassungseinrichtung
kann einen Überlauf
und Unterlauf des FIFO-Abschnitts erfassen und kann ferner zumindest
einen Schwellenwert eines drohenden Überlaufs und Unterlaufs des
FIFO-Abschnitts erfassen. Dies kann der FIFO-Steuereinrichtung das Senden geeigneter Steuernachrichten
zur Quelle der Nachricht, die vom FIFO-Abschnitt empfangen wird,
und/oder zum Ziel der Nachricht ermöglichen, die vom FIFO-Abschnitt empfangen
wird.
-
Der
FIFO-Abschnitt kann eine Vielzahl von FIFO-Puffern umfassen, und
die FIFO-Steuereinrichtung kann eine entsprechende Vielzahl von
FIFO-Registersteuereinrichtungen umfassen.
-
Der
Pufferabschnitt kann zwei Pufferbereiche umfassen, die durch jeweilige
Pufferregister in der Puffersteuereinrichtung definiert sind. Dies
kann der Puffersteuereinrichtung das Toggeln von Nachrichten zwischen
zwei Pufferbereichen ermöglichen.
-
Die
Puffersteuereinrichtung kann in einem Bitstrommodus betreibbar sein,
in dem ein ankommender Bitstrom in den aktuell ausgewählten Pufferbereich
geleitet und dann zwischen den zwei Pufferbereichen hin und hergeschaltet
wird, sodass jeder Pufferbereich abwechselnd voll wird. Die Puffersteuereinrichtung
kann ferner in einem Datagrammmodus betreibbar sein, in dem die
Länge einer
ankommenden Nachricht mit der freien Kapazität im aktuell ausgewählten Pufferbereich
verglichen wird, und ist die Kapazität geringer als die Länge der
Nachricht, der andere Pufferbereich ausgewählt wird.
-
Der
Empfänger/Decodierer
kann ferner eine vom FIFO-Abschnitt zugeführte Videoeinrichtungsanwendungseinheit
enthalten, die eine Videochipeinheit zuführt, der auch ein Bitstrom
zugeführt
wird.
-
Die
Erfindung erstreckt sich auch auf ein Rundfunksystem mit einem Empfänger/Decodierer wie
vorstehend beschrieben und einer Einrichtung zum Senden von Nachrichten
zum Empfänger/Decodierer.
-
Verschiedene
Funktionen des Empfängers/Decodierers
können
als Hardware implementiert werden, beispielsweise in einer dezidierten
integrierten Schaltung; dies kann eine gesteigerte Verarbeitungsgeschwindigkeit
bereitstellen. Vorzugsweise sind aber zumindest einige der Funktionen
als Software implementiert, und laufen vorzugsweise durch eine Verarbeitungseinrichtung,
die die Anwendungen verarbeitet; dies ermöglicht eine größere Flexibilität, erfordert
weniger Komponenten und ermöglicht
ein leichteres Aktualisieren des Empfängers/Decodierers.
-
Nachstehend
wird ein Ausführungsbeispiel des
erfindungsgemäßen Empfängers/Decodierers unter
Bezugnahme auf die beiliegende Zeichnung beschrieben. Es zeigen:
-
1 ein
schematisches Blockschaltbild von Schnittstellen des Empfängers/Decodierers,
-
2 ein
schematisches Blockschaltbild des Empfängers/Decodierers,
-
3 ein
vereinfachtes Blockschaltbild des Nachrichtenverwaltungssystems
im Empfänger/Decodierer,
-
3A ein
ausführlicheres
Blockschaltbild des Nachrichtenverwaltungssystems, wobei das Puffersubsystem
gezeigt ist,
-
3B ein
ausführlicheres
Blockschaltbild des Nachrichtenverwaltungssystems, wobei das FIFO-Subsystem
gezeigt ist,
-
4A eine
vereinfachte Darstellung einer Pufferregistereinheit,
-
4B eine
vereinfachte Darstellung einer FIFO-Registereinheit und
-
5 ein
Blockschaltbild, das veranschaulicht, wie das Nachrichtenabwicklungssystem
mit dem Haupt-MPEG-Bitstrom interagiert.
-
In 1 ist
ein Empfänger/Decodierer 2020 oder
eine aufgesetzte Box zur Verwendung in einem digitalen interaktiven
Fernsehsystem schematisch gezeigt. Einzelheiten eines geeigneten
digitalen interaktiven Fernsehsystems können in den ebenfalls anhängigen Anmeldungen
PCT/EP97/02106 – 02117 gefunden
werden. Zur leichteren Bezugnahme sind Abschnitte, die in den oben
genannten Beschreibungen näher
beschrieben sind, im allgemeinen mit den Bezugszeichen bezeichnet,
wie sie in diesen Beschreibungen verwendet werden.
-
Wie
in den vorstehend angeführten
Beschreibungen näher
beschrieben, umfasst der Empfänger/Decodierer 2020 gemäß den 1 und 2 mehrere
Anschlüsse;
insbesondere einen Tuner 4028 für den MPEG-Signalfluss, eine
serielle Schnittstelle 4030, eine parallele Schnittstelle 4032 und
zwei Kartenleser 4036, einen für eine Smartcard, die einen Teil
des Systems bildet, und einen für
Bankkarten (die zur Durchführung
von Zahlungen, Homebanking, und so weiter verwendet wird). Der Empfänger/Decodierer
enthält
auch eine Schnittstelle 4034 zu einem Rückkanal mit Modem 4002 zu
dem Fernsehsignalerzeuger, sodass der Benutzer dem Fernsehsignal-(Programm)-Hersteller
Präferenzen
und so weiter zurückgeben
kann. Der Empfänger/Decodierer umfasst
auch eine Laufzeiteinrichtung 4008, einen Einrichtungsverwalter 4068 und
eine Vielzahl von Einrichtungen 4062 und Einrichtungstreibern
4060 zum Ablaufen lassen einer oder mehrerer Anwendungen 4056.
-
In
dieser Beschreibung ist eine Anwendung ein Stück Computercode zur Steuerung
von Funktionen auf hohem Niveau vorzugsweise des Empfängers/Decodierers 2020.
Positioniert der Endbenutzer beispielsweise den Brennpunkt einer
Fernsteuerung auf einem Tastenobjekt, das er auf dem Bildschirm des
Fernsehgeräts 2022 sieht,
und drückt
eine Validierungstaste, wird die mit der Taste verknüpfte Anweisungssequenz
ausgeführt.
-
Eine
interaktive Anwendung schlägt
Menüs vor
und führt
Befehle auf Anforderung vom Endbenutzer aus und stellt Daten bereit,
die sich auf den Zweck der Anwendung beziehen. Anwendungen können entweder
residence Anwendungen sein, das heißt, in einem ROM (oder Flash-Speicher
oder einem nicht flüchtigen
Speicher) des Empfängers/Decodierers 2020 gespeichert
sein, oder rundgesendet und in das RAM oder den Flash-Speicher des
Empfängers/Decodierers 2020 heruntergeladen
werden.
-
Anwendungen
sind an Speicherorten im Empfänger/Decodierer 2020 gespeichert
und als Betriebsmitteldateien dargestellt. Die Betriebsmitteldateien
umfassen Graphikobjekt-Beschreibungseinheitdateien,
variable Blockeinheitdateien, Anwendungssequenzdateien, Anwendungsdateien
und Datendateien, was ausführlicher
in den vorstehend angeführten
Patentanmeldungen beschrieben ist.
-
Der
Empfänger/Decodierer
enthält
einen Speicher, der in ein RAM-Volumen, ein Flash-Volumen und ein
ROM-Volumen unterteilt ist, jedoch unterscheidet sich diese physikalische
Organisation von der logischen Organisation. Der Speicher kann ferner
in mit den verschiedenen Schnittstellen verbundene Speichervolumen
unterteilt sein. Von einem Gesichtspunkt aus kann der Speicher als
Teil der Hardware betrachtet werden; von einem anderen Gesichtspunkt
aus kann der Speicher so betrachtet werden, als ob er das gesamte
System unterstützt oder
enthält,
das getrennt von der Hardware gezeigt ist.
-
Der
Empfänger/Decodierer
kann als zentriert in einer Laufzeiteinrichtung 4008 betrachtet
werden, die einen Teil einer virtuellen Einrichtung 4007 bildet. Dieser
ist auf einer Seite (der Seite auf „hohem Niveau") mit Anwendungen
verbunden, und auf der anderen Seite (der Seite auf „niedrigem
Niveau") über verschiedene
logische Zwischeneinheiten, die nachstehend beschrieben werden,
mit der Empfänger/Decodierer-Hardware 4061 verbunden.
Die Empfänger/Decodierer-Hardware
kann so betrachtet werden, als ob sie die vorstehend angeführten verschiedenen
Anschlüsse
enthält
(die Schnittstelle 2030 für den Handapparat 2026,
die MPEG-Stromschnittstelle 4028,
die serielle Schnittstelle 4030, die parallele Schnittstelle 4032,
die Schnittstellen zu den Kartenlesern 4036 und die Schnittstelle 4034 zu
dem Modem-Rückkanal 4002).
-
Insbesondere
gemäß 2 sind
verschiedene Anwendungen 4056 mit der virtuellen Einrichtung 4007 verbunden;
einige der üblicheren
Anwendungen können
mehr oder weniger permanent im System vorhanden sein, wie es mit 4057 gezeigt
ist, während
andere beispielsweise aus dem MPEG-Datenstrom oder von anderen Anschlüssen nach
Bedarf in das System herunter geladen werden.
-
Die
virtuelle Einrichtung 4007 enthält zusätzlich zu der Laufzeiteinrichtung 4008 einige
residente Bibliotheksfunktionen 4006, die eine Toolbox 4058 enthalten.
Die Bibliothek enthält
vermischte Funktionen in der Sprache C, die von der Einrichtung 4008 verwendet
wird. Diese enthalten eine Datenmanipulation wie eine Kompression,
Expansion oder einen Vergleich von Datenstrukturen, Linienzeichnen
und so weiter. Die Bibliothek 4006 enthält auch Informationen über Firmware
im Empfänger/Decodierer 2020, wie
Hardware- und Softwareversionsnummern und die verfügbare RAM-Kapazität, und eine
beim Herunterladen einer neuen Einrichtung 4062 verwendete Funktion.
Funktionen können
in die Bibliothek herunter geladen werden, und werden im Flash-
oder RAM-Speicher
gespeichert.
-
Die
Lautzeiteinrichtung 4008 ist mit einem Einrichtungsverwalter 4068 verbunden,
der mit einer Gruppe von Einrichtungen 4062 verbunden ist,
die mit Einrichtungstreibern 4060 verbunden sind, die wiederum
mit den Anschlüssen
oder Schnittstellen verbunden sind. Breit ausgedrückt kann
ein Einrichtungstreiber als logische Schnittstelle definierend betrachtet
werden, sodass zwei verschiedene Einrichtungstreiber mit einem gemeinsamen
physikalischen Anschluss verbunden sein können. Eine Einrichtung ist
normalerweise mit mehr als einem Einrichtungstreiber verbunden;
ist eine Einrichtung mit einem einzigen Einrichtungstreiber verbunden,
ist die Einrichtung normalerweise zum Enthalten der vollen für eine Kommunikation
erforderlichen Funktionalität
entwickelt, sodass dem Erfordernis des separaten Einrichtungstreibers
vorgebeugt wird. Bestimmte Einrichtungen können untereinander kommunizieren.
-
Wie
es nachstehend beschrieben ist, gibt es drei Formen einer Kommunikation
von den Einrichtungen 4062 bis zur Lautzeiteinrichtung:
mittels Variablen, Puffern und Ereignissen, die einer Gruppe von Ereigniswarteschlangen
zugeführt
werden.
-
Jede
Funktion des Empfängers/Decodierers 2020 ist
als Einrichtung 4062 dargestellt. Einrichtungen können entweder
lokal oder entfernt vorhanden sein. Lokale Einrichtungen 4064 enthalten
Smartcards, SCART-Verbindersignale, Modems, serielle und parallele
Schnittstellen, einen MPEG-Video- und -Audioplayer und einen MPEG-Abschnitt
und Tabellenextrahierer. Entfernte Einrichtungen 4066,
die an einem entfernten Ort ausgeführt werden, unterscheiden sich
von lokalen Einrichtungen darin, dass ein Anschluss und eine Prozedur
von der Systemautorität
oder dem Entwickler anstelle von einer Einrichtung und einem Einrichtungstreiber
definiert werden müssen,
die vom Hersteller des Empfänger/Decodierers
vorgesehen und entwickelt werden.
-
Die
Laufzeiteinrichtung 4008 läuft unter der Steuerung des
Mikroprozessors und einer üblichen Anwendungsprogrammschnittstelle.
Sie sind in jedem Empfänger/Decodierer 2020 installiert,
sodass alle Empfänger/Decodierer 2020 vom
Gesichtspunkt der Anwendung her identisch sind.
-
Die
Einrichtung 4008 führt
Anwendungen 4056 im Empfänger/Decodierer
2020 aus. Sie führt interaktive
Anwendungen 4056 aus und empfängt Ereignisse von außerhalb
des Empfängers/Decodierers 2020,
zeigt Graphik und Text an, ruft Einrichtungen für Dienste auf und verwendet
Funktionen der mit der Einrichtung 4008 verbundenen Bibliothek 4006 für bestimmte
Berechnungen.
-
Die
Laufzeiteinrichtung 4008 ist ausführbarer Code, der in jedem
Empfänger/Decodierer 2020 installiert
ist, und enthält
einen Interpretierer zum Interpretieren und Ausführen von Anwendungen. Die Einrichtung 4008 ist
an jedes Betriebssystem anpassbar, was ein Einaufgabenbetriebssystem
(wie im MS-DOS) einschließt.
Die Einrichtung 4008 beruht auf Prozessablaufsteuerungseinheiten
(die verschiedene Ereignisse, wie das Drücken einer Taste zur Ausführung verschiedener
Aktionen aufnehmen), und enthält
ihren eigenen Scheduler zur Verwaltung von Ereigniswarteschlangen
von den verschiedenen Hardwareschnittstellen. Sie wickelt auch die
Anzeige von Graphik und Text ab. Eine Prozessablaufsteuerungseinheit
umfasst einen Satz von Aktionsgruppen. Jedes Ereignis veranlasst
die Prozessablaufsteuerungseinheit zur Bewegung von ihrer aktuellen Aktionsgruppe
zu einer anderen Aktionsgruppe in Abhängigkeit vom Charakter des
Ereignisses und zur Ausführung
der Aktionen der neuen Aktionsgruppe.
-
Die
Einrichtung 4008 umfasst eine Codeladeeinrichtung zum Laden
und Herunterladen von Anwendungen 4056 in den Speicher
des Empfängers/Decodierers.
Lediglich der erforderliche Code wird in das RAM oder den Flash-Speicher
zum Sicherstellen einer optimalen Verwendung geladen. Die heruntergeladenen
Daten werden durch ein Authentisierungsverfahren zum Verhindern
einer Modifikation einer Anwendung 4056 oder der Ausführung einer
nicht autorisierten Anwendung verifiziert. Die Einrichtung 4008 umfasst
ferner einen Dekompressor. Da der Anwendungscode (eine Form von
Zwischencode) zur Kapazitätseinsparung
und zum schnellen Herunterladen aus dem MPEG-Strom oder über einen
eingebauten Empfänger/Decodierer-Modus komprimiert
wird, muss der Code vor dem Laden in das RAM dekomprimiert werden.
Die Einrichtung 4008 umfasst auch einen Interpretierer
zum Interpretieren des Anwendungscodes zur Aktualisierung verschiedener
Variablenwerte und zur Bestimmung von Statusänderungen und eine Fehlerüberprüfungseinrichtung.
-
Vor
der Anwendung der Dienste einer Anwendung 4062 muss ein
Programm (wie eine Anwendunsanweisungssequenz) als „Client" deklariert werden,
das heißt,
ein logischer Zugangsweg zur Einrichtung 4062 oder dem
Einrichtungsverwalter 4068. Der Verwalter gibt dem Client
eine Clientnummer, auf die bei allen Zugriffen auf die Einrichtung
Bezug genommen wird. Eine Einrichtung 4062 kann mehrere Clients
haben, wobei die Anzahl der Clients jeder Einrichtung 4062 in
Abhängigkeit
vom Typ der Einrichtung 4062 bestimmt ist. Ein Client wird
für die
Einrichtung 4062 durch eine Prozedur „Einrichtung: Kanal öffnen" eingeführt. Diese
Prozedur weist dem Client eine Clientnummer zu. Ein Client kann
aus der Clientliste des Einrichtungsverwalters 4068 durch eine
Prozedur „Einrichtung:
Kanal schließen" herausgenommen werden.
-
Der
Zugriff auf durch den Einrichtungsverwalter 4068 bereitgestellte
Einrichtungen 4062 kann synchron oder asynchron geschehen.
Für einen
synchronen Zugriff wird eine Prozedur „Einrichtung: Aufruf" verwendet. Dies
ist ein Mittel zum Zugreifen auf Daten, das unmittelbar verfügbar ist,
oder eine Funktionalität,
die kein Warten auf die gewünschte
Antwort beinhaltet. Für
einen asynchronen Zugriff wird eine Prozedur „Einrichtung: I/O" verwendet. Dies
ist ein Mittel zum Zugreifen auf Daten, das ein Warten auf eine
Antwort beinhaltet, beispielsweise ein Abtasten von Tunerfrequenzen
zum Herausfinden eines Multiplex oder ein Zurückerhalten einer Tabelle aus dem
MPEG-Strom. Ist das angeforderte Ergebnis verfügbar, wird ein Ereignis in
die Warteschleife der Einrichtung zum Signalisieren seiner Ankunft
gestellt. Eine weitere Prozedur „Einrichtung: Ereignis" liefert ein Mittel
zum Verwalten unerwarteter Ereignisse.
-
Wie
vorstehend beschrieben ist die Hauptschleife der Laufzeiteinrichtung
mit einer Vielfalt von Prozessablaufsteuerungseinheiten verbunden,
und trifft die Hauptschleife auf ein geeignetes Ereignis, wird die
Steuerung vorübergehend
einer der Prozessablaufsteuerungseinheiten übergeben.
-
Somit
ist ersichtlich, dass der Empfänger/Decodierer
eine Plattform mit erheblicher Flexibilität beim Ermöglichen einer Kommunikation
einer Anwendung mit einer Vielzahl von Einrichtungen liefert.
-
Für die vorliegenden
Zwecke sind Einrichtung und Anschlüsse äquivalent. Anwendungsmodule
müssen
Informationen senden und empfangen; diese Kommunikation kann mit
Einrichtungen geschehen (die im allgemeinen lokal vorhanden sind und
mit dem Pufferverwaltungssystem eng verbunden sind) oder mit Anschlüssen geschehen
(die im allgemeinen mit Informationsquellen verbunden sind, die
vom System entfernt und/oder von diesen unabhängig sind). Der Ausdruck „Anschluss" wird ab hier als
Einrichtungen umfassend verwendet.
-
Gemäß 3 umfasst
der Empfänger/Decodierer
eine Vielzahl von Anschlusseinheiten 10, 10', 10'', die über einen Datenbus 20 und
einen Steuerbus 21 mit einem Einrichtungsverwaltungsmodul 11 verbunden
sind, das wiederum über
einen Datenbus 22 und einen Steuerbus 23 mit einer
Vielzahl von Anwendungsmodulen 12, 12', 12'' verbunden ist. Das Datenverwaltungsmodul 11 ist
auch über
einen Datenbus 24, einen Adressbus 25 und einen
Steuerbus 26 mit einem Speicher 13 verbunden.
-
Zwischen
den Anschlüssen
und den Anwendungen geleitete Nachrichten können entweder Puffer oder FIFOs
(Speichereinheiten, bei denen die zuerst gespeicherten Daten auch
zuerst wieder ausgegeben werden) durchlaufen. Der Speicher 13 enthält zwei
Speicherbereiche 13-B und 13-F jeweils für Puffer
und FIFOs, und das Einrichtungsverwaltungsmodul 11 enthält zwei
Steuereinrichtungen 14-B und 14-F jeweils zur
Steuerung des Durchlaufs von Nachrichten durch die Puffer 13-B und
die FIFOs 13-F.
-
Puffer
und FIFOs sind grundlegend auf die gleiche Weise aufgebaut und werden
grundsätzlich auf
die gleiche Art und Weise gehandhabt. Ein Puffer oder ein FIFO wird
durch einen Befehl aufgebaut, der seine Eigenschaften (Speicherort,
Größe und so
weiter) definiert, und kann gleichermaßen gelöscht werden. Wurde ein Puffer
oder ein FIFO aufgebaut, kann er dann durch Anschlüsse und
Anwendungen unter Verwendung der vorstehend beschriebenen Prozeduren
verwendet werden.
-
Wird
zuerst die Verarbeitung von Nachrichten betrachtet, die durch die
Pufferregister laufen, enthält
der Pufferspeicher 13-B zwei Pufferbereiche 30 und 31 (3A),
die durch jeweilige Pufferregistereinheiten 32 und 33 in
einer Pufferadresssteuereinheit 34 in der Puffersteuereinrichtung 14-B im
Einrichtungsverwaltungsmodul 11 definiert werden. Die Puffersteuereinrichtung
im Einrichtungsverwaltungsmodul umfasst auch eine Steuereinheit 35,
die die Pufferadresssteuereinheit 34 steuert. Ein Datenbus 36 verbindet
im Einrichtungsverwaltungsmodul 11 alle Datenwege miteinander.
-
Gemäß 4A enthält jede
Pufferregistereinheit eine Vielzahl von Adressregistern 32-1, 32-2, ...32-n.
Diese Register umfassen ein oberes bzw. Anfangsregister 32-1 und
ein unteres bzw. Endregister 32-n, die voreingestellt sind
und oben und unten im jeweiligen Pufferbereich im Speicher 13 definieren, und
ein Zeigerregister 32',
das auf den Punkt im Pufferbereich zeigt, in den ankommende Daten
zu schreiben sind. (Somit zeigt das Pufferregister 32' auf die Grenze
im Pufferbereich zwischen dem Abschnitt, der Daten enthält, und
dem Abschnitt, der leer ist).
-
Die
verschiedenen Anschlusseinheiten 10, 10', 10'' können Nachrichten zu verschiedenen
Anwendungsmodulen 12, 12', 12'' initiieren,
die durch die Pufferregister 13-B zu leiten sind. Diese
Nachrichten können
zwei Grundtypen umfassen, Bitströme
und Datagramme. Der Unterschied zwischen diesen zwei Nachrichtentypen
besteht darin, dass ein Bitstrom eine Nachricht mit undefinierter
Länge ist, während ein
Datagramm eine Nachricht vorbestimmter Länge ist. Der Nachrichtentyp
kann durch die Quelle der Nachricht (wie durch die die Nachricht
begleitenden Steuersignale angegeben) oder durch einen Nachrichtenheader
bestimmt werden (der durch die Steuereinheit 35 vom Datenbus 36 überwacht wird).
-
Einige
Anschlusseinheiten können
beide Nachrichtentypen initiieren; andere können den einen oder den anderen
Typ initiieren. Möchte
ein Anschluss 10 eine Nachricht initiieren, wählt das
Einrichtungsverwaltungsmodul 11 diesen Anschluss 10 und
das geeignete Anwendungsmodul 12 auf herkömmliche
Art und Weise aus.
-
Die
Steuereinheit 35 weist zwei Betriebsarten auf, die davon
abhängen,
ob die ankommende Nachricht ein Bitstrom oder ein Datagramm ist.
-
Die
Steuereinheit 35 enthält
ein binäres
Auswahlelement oder ein Flip-Flop 37, das auswählt, welcher
der zwei Pufferbereiche 30, 31 zu verwenden ist.
Für einen
Bitstrom richtet die Steuereinheit 35 den ankommenden Bitstrom
in den aktuell ausgewählten
Pufferbereich 30, bis er gefüllt ist. An diesem Punkt ändert die
Steuereinheit 35 den Zustand des Auswahlelements 37 zur
Auswahl des anderen Pufferbereichs 31 und richtet den Bitstrom
in diesen Pufferbereich, bis dieser Pufferbereich gefüllt ist.
Dann wählt
sie wieder den ersten Pufferbereich 30 und fährt mit
dem Umschalten zwischen den zwei Pufferbereichen fort, bis der Bitstrom
endet.
-
Vorstehend
wurde ausgeführt,
dass die Steuereinheit 35 einen der Pufferbereiche 30, 31 auswählt, den
ankommenden Bitstrom in diesen Pufferbereich 30 führt, und
so weiter, jedoch handelt es sich dabei um eine vereinfachte Darstellung.
Tatsächlich
wählt die
Steuereinheit 35 eine der zwei Pufferadressregistereinheiten 32, 33 aus,
verwendet das Zeigerregister 32' in der ausgewählten Einheit 32 zur Auswahl
der Adressen im Pufferbereich, in den ankommende Daten geschrieben
werden, und schaltet zwischen den zwei Pufferadressregistereinheiten 32, 33 geeignet
um.
-
Die
Steuereinheit 35 informiert auch das Anwendungsmodul 12,
dass der Bitstrom empfangen wird. Vom Anwendungsmodul 12 wird
erwartet, dass es die Nachricht Abschnitt für Abschnitt aus den zwei Pufferbereichen 30, 31 alternierend
liest, sodass die Pufferbereiche nicht überlaufen (das heißt, sodass bereits
in den Pufferbereichen vorhandene Daten durch das Anwendungsmodul
gelesen werden, bevor als Teil des Bitstroms ankommende frische
Daten alte Daten überschreiben).
Das Anwendungsmodul 12 kann eines oder mehrere Adressregister
für dieses
Lesen haben, oder ein zusätzliches
Adressregister kann in jeder der Pufferadressregistereinheiten 32, 33 für diesen
Zweck vorgesehen sein. Wenn das Lesen der gespeicherten Nachricht
abgeschlossen ist, werden die Zeigeradressregister in den Pufferadressregistereinheiten 32, 33 rückgesetzt.
-
Für ein Datagramm
bestimmt die Steuereinheit 35 die Länge des Datagramms und fragt
bei der aktuell ausgewählten
Pufferadressregistereinheit zur Bestimmung nach, wie viel Platz
in ihr verfügbar
ist. Dieser freie Kapazitätswert
wird durch Bestimmung der Differenzen zwischen den Werten im oberen
Register und im Zeigeradressregister erhalten. Die Steuereinheit
vergleicht dann den freien Kapazitätswert mit der Länge des
Datagramms, und ist die Datagrammlänge größer als der freie Kapazitätswert, ändert sie
den Zustand des Auswahlelements 37 zur Auswahl des anderen
Pufferbereichs.
-
Verursacht
die ankommende Nachricht im Bitstrommodus ein Überlaufen der Pufferbereiche 30, 31,
oder hat kein Pufferbereich im Datagrammmodus ausreichende freie
Kapazität zur
Aufnahme der ankommenden Nachricht, tritt das System in einen Fehlermodus
ein, in dem der Nachrichtenempfang gestört ist oder abgebrochen wird.
Dann kann eine geeignete Wiederherstellungsaktion vorgenommen werden,
beispielsweise ein Aufruf für
eine Neuübertragung
der Nachricht, wenn das möglich
ist, oder ein Rücksetzen
des Systems in den Zustand vor dem Beginn des Nachrichtenempfangs.
-
Somit
wird die ankommende Nachricht für
einen Bitstrom in einen aktuell ausgewählten Pufferbereich gerichtet,
und verursacht die ankommende Nachricht ein Überlaufen dieses Bereichs,
wird automatisch auf den anderen Pufferbereich umgeschaltet, wobei
das Umschalten zwischen den zwei Pufferbereichen bei Bedarf wiederholt
wird. Bei einem Datagramm wird die vollständige ankommende Nachricht
allerdings in einen einzigen Pufferbereich geleitet.
-
Dies
ermöglicht
die erfolgreiche Aufnahme ankommender Nachrichten sowohl beliebiger
als auch bekannter Längen
mit einer relativ einfachen Organisation der Pufferregister.
-
Die
Puffer können
auch allgemeiner für
die Übertragung
von Nachrichten zwischen Anwendungen verwendet werden.
-
Bezüglich der
Verarbeitung der Nachrichten, die durch die FIFOs laufen, umfasst
der Pufferspeicher 13-F einen Satz von FIFOs 40 (3B),
die entsprechend FIFO-Registereinheiten 41 in der FIFO-Steuereinrichtung 14-F im
Einrichtungsverwaltungsmodul 11 definiert sind. Daten laufen
in und aus den FIFOs über
den Datenbus 24, der mit dem Datenbus 36 verbunden
ist (3A). Die FIFO-Steuereinrichtung 14-F im
Einrichtungsverwaltungsmodul umfasst auch einen Satz von FIFO-Steuereinheiten 43,
die das Schreiben von Nachrichten in die FIFOs 40 und das
Lesen jener Nachrichten aus den FIFOs steuern.
-
Gemäß 4B umfasst
jede FIFO-Registereinheit 41 eine Anzahl von Adressregistern 42-1, 42-2...42-n.
Diese Register enthalten ein oberes Register 42-1 und ein
unteres Register 42-2, die voreingestellt sind und den
Anfang und das Ende bzw. oben und unten des jeweiligen FIFO-Bereichs
im Speicher 13 definieren, ein Schreibzeigerregister 42-3,
das auf den Punkt im FIFO-Bereich zeigt, an den ankommende Daten
zu schreiben sind, und ein Lesezeigerregister 42-4, das
auf den Punkt im FIFO-Bereich zeigt, an dem bereits gespeicherte
Daten zu lesen sind.
-
Bei
allgemeiner Betrachtung des Einrichtungsverwalters können Nachrichten
daher von Anschlüssen
zu Anwendungen, von Anwendungen zu Anschlüssen und zwischen Anwendungen
unter Verwendung von Puffern oder FIFOs geführt werden.
-
Die
Pufferverwendung wird durch Anwendungen auf hohem Niveau gesteuert.
Das System ist ereignisbasiert; das heißt, wird eine Nachricht zu
einer Anwendung auf hohem Niveau geführt, wartet die Anwendung auf
den Empfang einer „Puffer
bereit" Nachricht
vom Pufferverwalter 14-F, bevor sie irgendeine Aktion hinsichtlich
des Lesens der Inhalte des Puffers unternimmt. Mit dieser Anordnung
ist eine unabhängige
Kommunikation zwischen Anschlüssen
nicht möglich.
Des weiteren kann das System bis zu einem gewissen Grad unansprechbar sein,
da ein Puffer von einem Anschluss gefüllt werden muss, bevor ein
anderer Anschluss dessen Inhalte lesen kann.
-
Bei
FIFOs wird die Verwendung durch die FIFO-Steuereinheiten 43 in
der FIFO-Steuereinrichtung oder dem Abwickler 14-F gesteuert.
Informationen werden in ein FIFO 40 geschrieben und aus
diesem unter der Steuerung des FIFO-Abwicklers 14-F ausgelesen,
der die entsprechende FIFO-Steuereinheit 43 enthält. Ein
Datentransfer unterliegt daher der Steuerung des FIFO-Abwicklers 14-F anstelle
der Steuerung durch die Anwendung 12. Ein Informationsstrom
kann daher direkt zwischen zwei Anschlüssen 10, als auch
zwischen einem Anschluss 10 und einer Anwendung 12 fließen.
-
Unter
Verwendung der Schreib- und Lesezeiger 42-1 und 42-2 werden
Daten in den FIFO 40 geschrieben und aus diesem gelesen.
Diese Zeiger werden durch den FIFO-Abwickler 14-F gesteuert. Dies
ermöglicht
eine unabhängige
Ausführung
des Lesens und Schreibens des FIFOs 40. Das heißt, der Anschluss 10 oder
die Anwendung 12 müssen
keine Informationen über
den Ursprung der Nachricht haben, die aus dem FIFO 40 gelesen
wird. Das Auslesen von Informationen aus dem FIFO 40 kann
beginnen, bevor der FIFO voll ist, oder bevor die Nachricht vollständig empfangen
und in den FIFO 40 geschrieben ist. Dies ermöglicht das
Erreichen eines im wesentlichen kontinuierlichen Informationsflusses.
Das Auslesen von Informationen aus dem FIFO 40 muss nicht
kontinuierlich sein; das Lesen kann zu jeder Zeit angehalten und
neu gestartet werden.
-
Der
FIFO-Abwickler 14-F überprüft, dass
die in den FIFO 40 geschriebenen Informationen an der unteren
Adresse des FIFO beginnen und nicht über die obere Adresse des FIFO
hinausgehen. Die präzise
Art und Weise, wie ein FIFO 40 arbeitet, kann von dessen
bestimmter Verwendung abhängen.
Somit kann ein FIFO 40 auf einer Einnachrichtenbasis betrieben
werden, wobei der Beginn jeder Nachricht in die untere Adresse des
FIFO geschrieben wird. Alternativ dazu kann ein FIFO 40 zyklisch
betrieben werden, wobei der Beginn einer neuen Nachricht unmittelbar über das
Ende der vorhergehenden Nachricht geschrieben wird, und der Anfang
und das Ende des FIFO als aneinander angrenzend behandelt werden.
-
Sind
Nachrichten länger
als die Länge
des FIFO 40 oder kommt eine Nachricht an, bevor die vorhergehende
Nachricht vollständig
aus dem FIFO 40 gelesen ist, besteht die mögliche Gefahr
eines Konflikts. Die FIFO-Steuereinheiten 43 überwachen einen
derartigen Konflikt. Wird das Ereignis des Konflikts erfasst, kann
die FIFO-Steuereinheit 43 natürlich ein geeignetes Steuersignal
zu der Quelle der Nachricht (beispielsweise einem Anschluss 10),
dem Ziel der Nachricht (einer Anwendung 12) oder zu beiden
senden.
-
Ein
tatsächlicher
Konflikt entsteht, wenn das Schreibzeigerregister 42-3 das
Lesezeigerregister 42-4 einholt, oder wenn das Lesezeigerregister 42-4 das
Schreibzeigerregister 42-3 einholt. Allerdings kann die
FIFO-Steuereinheit 43 zur
Erfassung möglicher
Konflikte eingerichtet sein, das heißt, wenn sich das Schreibzeigerregister 42-3 dem
Lesezeigerregister 42-4 oder umgekehrt auf eine gewisse
Entfernung nähert.
Das Einrichtungsverwaltungsmodul 11 kann diese Entfernungen
(Schwellenwerte) für
die FIFO-Steuereinheiten 43 einstellen. Die Überlauf- und
Unterlaufschwellenwerte für
ein FIFO 40 müssen nicht
die gleichen sein, und die Schwellenwerte für verschiedene FIFOs 40 müssen nicht
die gleichen sein. Es können
auch zwei oder mehr Überlauf- und/oder
Unterlaufschwellenwerte vorhanden sein, um progressiv dringendere
Warnungen auszugeben, wenn ein tatsächlicher Überlauf oder Unterlauf in Sicht
kommt.
-
Zusätzlich kann
die FIFO-Steuereinheit 43 ein Flag enthalten, das bei dem
Ereignis eines Überlaufs
einstellbar ist, entweder um ein Schreiben zu erlauben oder ein
weiteres Schreiben auszusetzen. Der erstgenannte Vorgang spült effektiv
alte Informationen aus dem FIFO 40. Ein derartiges Ausspülen ist oft
erwünscht,
um die fortgesetzte Verarbeitung des Informationsflusses zu ermöglichen.
-
Eine
FIFO-Steuereinheit 43 kann als Anwendung auf niedrigem
Niveau betrachtet werden (oder unter einigen Umständen als
Einrichtung), die Transferfunktionen für eine Anwendung auf hohem
Niveau ausführt.
Die Anwendung auf hohem Niveau ist mit den Transferfunktionen nicht
belastet, und die übertragenen
Nachrichten werden der Anwendung auf hohem Niveau effektiv automatisch
zugeführt,
die sie direkt verwenden kann, ohne mit deren Erhalt selbst betroffen
zu sein.
-
5 zeigt,
wie die FIFOs zur Erzeugung von Videosignalen verwendet werden können, die
mit den Videosignalen des Haupt-MPEG-Bitstroms
kombiniert sind. Das Nachrichtenabwicklungssystem der 3, 3B und 4B wird
zum Leiten von von einer MPEG Einrichtungsquelle empfangenen Daten direkt
in eine Videoeinrichtung verwendet, ohne dass eine Eingabe von der
Anwendung auf höherer
Ebene erforderlich ist.
-
Ein
MPEG-Bitstrom (der normalerweise der vom Tuner 4028 in 1 empfangene
Bitstrom ist) wird über
eine Leitung 50 einem Demultiplexer 51 zugeführt, der
mit einer Serviceeinrichtung 52 verbunden ist. Die Funktion
der Einrichtung 52 besteht im Aufbau des Videos; das heißt, im Erhalten
von Informationen über
den Hauptvideoaufbau und der Steuerung dessen Anzeige. Der Demultiplexer 52 wird zum
Extrahieren der Hauptvideosequenz (Video-PID-Sequenz) aus dem MPEG-Videobitstrom gesteuert.
Diese Hauptvideosequenz wird auf der Leitung 53 einem MPEG-2-Chip 54 zugeführt.
-
Außerdem können Video-MPEG-2-Bitströme aus einem
oder mehreren der FIFOs 40 auf den Leitungen 55 extrahiert
werden. Diese Bitströme
werden einer Videoeinrichtung 56 zugeführt, die mit dem Hauptvideosignal
auf der Leitung 53 verbunden ist. Die Bitströme auf den
Leitungen 55 werden durch die Videoeinrichtung 56 verarbeitet
und treten als Hilfsvideosequenzen auf den Leitungen 57 aus,
die dem MPEG-2-Chip-54
zugeführt
werden. Die Videosequenzen werden lediglich in der MPEG-Schicht
angezeigt.
-
Jede
Videosequenz der MPEG-Schicht hat ihren eigenen Alpha-Mischkoeffizienten,
der jedem Bildelement des Bildes zum Mischen mit dem entsprechenden
Bildelement der Hintergrundschicht zugeführt wird. Abschnitte der MPEG- Schicht, die nicht verwendet
werden, sind vollständig
transparent.
-
Die
ausführlichen
Einzelheiten der Implementierung der vorstehend beschriebenen verschiedenen
Funktionen und ihre Aufteilung zwischen Hardware und Software sind
Implementierungs-spezifisch und werden nicht näher beschrieben. Die dedizierten
integrierten Schaltungen zur Durchführung der im Empfänger/Decodierer
erforderlichen Operationen sind allerdings im Handel erhältlich oder
können
leicht entwickelt werden, und diese können als Grundlage für einen
Hardwarebeschleuniger verwendet werden, oder besser zur Erzeugung
eines dedizierten Hardwarebeschleunigers modifiziert werden, um
verschiedene erforderliche Operationen zu implementieren, wodurch
die zum Ablaufen lassen der Software erforderliche Verarbeitungsleistung
verringert wird. Allerdings können
die erforderlichen Operationen als Software implementiert werden,
wenn ausreichend Verarbeitungsleistung verfügbar ist.
-
Die
Module und weiteren Komponenten wurden bezüglich der Merkmale und Funktionen
jeder Komponente zusammen mit optionalen und bevorzugten Merkmalen
beschrieben. Mit diesen Informationen und der bereitgestellten Beschreibung
sollte die tatsächliche
Implementierung dieser Merkmale für den Fachmann möglich sein,
wobei die Einzelheiten der Implementierung überlassen werden. Beispielsweise
könnten
bestimmte Module als Software implementiert werden, die vorzugsweise
in der Programmiersprache C geschrieben ist, und vorzugsweise zum
Laufen auf dem Prozessor kompiliert ist, der zum Ausführen der
Anwendung verwendet wird; allerdings können manche Komponenten auf
einem separaten Prozessor ausgeführt
werden, und einige oder alle Komponenten können durch dedizierte Hardware
implementiert werden.
-
Die
vorstehenden Module und Komponenten dienen der Darstellung, und
die Erfindung kann auf vielerlei Arten implementiert werden, und
insbesondere können
manche Komponenten mit anderen kombiniert werden, die ähnliche
Funktionen durchführen,
oder manche können
in vereinfachten Implementierungen weggelassen werden. Hardware-
und Softwareimplementierungen jeweiliger Funktionen können frei
gemischt werden, sowohl zwischen Komponenten als auch innerhalb
einer einzigen Komponente.
-
Die
durch die Hardware, die Software und dergleichen durchgeführten Funktionen
werden mit elektrischen Signalen oder dergleichen durchgeführt. Softwareimplementierungen
können
im ROM gespeichert sein, oder können
einen Flash-Speicher
belegen.
-
Gemäß dem bevorzugten
Ausführungsbeispiel
der Erfindung ist ein Einrichtungsverwaltungsmodul 11 insbesondere
zur Verwendung in einem Empfänger/Decodierer
für ein
digitales Fernsehrundfunksystem vorgesehen, bei dem empfangene Signale
durch einen Empfänger
zu dem Empfänger/Decodierer
und dann zu einem Fernsehgerät
geleitet werden. Das Modul 11 verbindet ankommende Nachrichten
von Anschlusseinheiten 10 und Anwendungsmodulen 12.
Ein mit dem Modul 11 verbundener Speicher 13 hat
einen Pufferbereich 13-B und einen FIFO-Bereich 13-F, die jeweils durch
eine Puffersteuereinrichtung/Abwicklungseinrichtung 14-B und
eine FIFO-Steuereinrichtung/Abwicklungseinrichtung 14-F gesteuert
werden. Eine ankommende Nachricht kann in einen Puffer geleitet
werden, und aus dem Puffer durch die Anwendung abgerufen werden,
auf die sie gerichtet ist; zwei verschiedene Betriebsarten sind
dafür verfügbar. Alternativ
dazu kann eine Nachricht in einen FIFO geleitet werden; der FIFO-Abwickler
arbeitet als Anwendung auf unterer Ebene, die die Nachricht zu einer
Anwendung auf hoher Ebene führen
kann, ohne dass die Anwendung etwas unternehmen muss, und ohne dass
auf den Empfang der vollen Nachricht gewartet werden muss. Durch
den FIFO-Bereich laufende Nachrichten können in einen MPEG-Signalstrom kombiniert
werden.