-
Sachgebiet
der Erfindung
-
Die
Erfindung bezieht sich auf das Gebiet der digitalen Signalverarbeitung
und insbesondere auf Programmführer
für Kanäle und Programme.
-
Hintergrund
der Erfindung
-
Die
Bildung und Verarbeitung von großen Programmführern, die
Informationen über
potentiell Tausende von Sende-Programmkanälen übermitteln, die einen breiten
geografischen Bereich abdecken, führt zu einer Anzahl von Problemen.
Der abgedeckte geografische Bereich kann zum Beispiel die gesamten
USA oder ganze Kontinente umfassen, und große Informationsmengen können erfasst,
kodiert und in einem Format gesendet werden müssen, das die nachfolgende
Dekodierung des gesendeten Materials erleichtert. Die erforderliche
Bandbreite zur Verarbeitung solcher Informationsmengen dehnt sich im
Verhältnis
zu der Menge der zu verarbeitenden Informationen aus. Daher besteht
ein Bedarf für
die Strukturierung von Programmführer-Daten,
um die Verwendung der verfügbaren
Bandbreite zu optimieren.
-
Das
Maß, um
das die Struktur der Programmführer-Daten
optimiert werden kann, ist durch die Kosten einer Dekodiereinheit
zum Empfang der strukturierten Daten begrenzt. Tatsächlich muss
ein Kompromiss zwischen der Übertragungs-Bandbreite und
der Kodierer-Komplexität
geschlossen werden. Bei einem Extrem des Kom promisses werden alle doppelten
und redundanten Datenelemente in den Programmführer-Informationen beseitigt,
um die erforderliche Übertragungs-
und Verarbeitungs-Bandbreite zu minimieren. Als Ergebnis muss jeder
Dekodierer Informationen von einem vollständigen Programmführer-Datenstrom
empfangen, puffern, analysieren und sortieren, wodurch ein komplizierter
und teurer Dekodierer benötigt
wird.
-
Bei
dem anderen Extrem des Kompromisses werden die Programmführer-Informationen
in individuelle Untergruppen unterteilt, die auf die Erfordernisse
eines besonderen Benutzers oder einer besonderen Gruppe von Benutzern
zugeschnitten sind. Dies bedeutet, dass jeder Dekodierer gezielte
Informationen empfangen, puffern, analysieren und sortieren muss,
die eine minimale Redundanz enthalten, die die Verwendung eines
einfacheren, wirtschaftlicheren Dekodierers erleichtert, der weniger
Verarbeitungsleistung erfordert. Eine solche Unterteilung erfordert
jedoch eine größere Übertragungs-Bandbreite
zur Anpassung an die erhöhte
Informations-Redundanz, die von der Notwendigkeit herrührt, doppelte Programmführer-Informations-Einzelheiten
in mehrere unterschiedliche Programmführer-Untergruppen einzubeziehen,
die verschiedenen Unterteilungen entsprechen. Die bei der Verarbeitung
großer
Mengen an Programmführer-Informationen
und zum Erzielen eines gewünschten
Kompromisses zwischen Übertragungs-Bandbreite und Kodierer-Komplexität auftretenden
Probleme werden von einem System gemäß der vorliegenden Erfindung
angesprochen. Abgeleitete Probleme, die das Strukturieren und Unterteilen
von Programmführer-Daten
mit sich bringt, um sowohl das Dekodieren als auch die Erzeugung eines
auswählbaren
Programmführers
durch einen Dekodierer zu erleichtern, werden auch durch ein System
gemäß der Erfindung
angesprochen.
-
Das
Dokument (WO 96/41471) beschreibt ein System, bei dem ein einziger
elektronischer Programmführer
durch emfangende Vorrichtungen gesendet und lokalisiert wird.
-
Zusammenfassung
der Erfindung
-
Die
Erfindung ist in den beigefügten
Ansprüchen
ausführlich
dargelegt.
-
Ein
Dekodierer erfasst Daten zum Sortieren von Programmführer-Informationen
sowohl nach Bereich (z. B. einem geografischen, Sende- oder Netzwerk-Markt-Bereich)
als auch nach geplanter Sendezeit. Der Dekodierer sortiert die Programmführer-Informationen
unter Verwendung der Sortierdaten, die Kanal- und Programm-Zuordnungsinformationen zum
Zuordnen der Programmführer-Informationen zu besonderen
Bereichen und Sendezeiten umfassen. Der Dekodierer sortiert die
Programmführer-Informationen,
um einen Programmführer
vorzusehen, der als Reaktion auf eine von einem Benutzer gewählte Eingabe
aus wenigstens zwei verfügbaren
Programmführern
ausgewählt
wird, die verschiedenen Bereichen zugeordnet sind.
-
Kurze Beschreibung
der Zeichnungen
-
In
den Zeichnungen stellen dar:
-
1 ein hierarchisches sehr
großes
Programmführer-(VLPG)-Datei/Tabellen-Format
zur Verwendung bei der Übermittlung
von programmspezifischen Informationen gemäß der Erfindung;
-
2 ein erfindungsgemäßes Haupt-Führer-Tabellen-(MGT)-Format
zur Verwendung bei der Übermittlung
von programmspezifischen Informationen;
-
3 ein erfindungsgemäßes Kanal-Informations-Tabellen-(CIT)-Format
zur Verwendung bei der Übermittlung
programmspezifischer Informationen, die eine auf Bereichen beruhende
Unterteilung beinhalten;
-
4 ein erfindungsgemäßes Multimedia-Objekt-Datenstruktur-Format,
das eine auf Bereichen und Zeit beruhende Unterteilung beinhaltet;
-
5, 6 und 7 erfindungsgemäße Beispiele von
Datenstrukturen für
Kanal-, Event- und Steuer-Objekt-Basis-Informations-Dateien;
-
8 eine Datenstruktur für ein mit
MPEG kompatibles carouselId (wie in den Tabellen von 5, 6 und 7 verwendet)
einschließlich
Identifizierer-Felder, die eine auf Bereichen und Zeit beruhende
Unterteilung erlauben;
-
9 ein erfindungsgemäßes Haupt-Datenbasis-Tabellen-Datenstruktur-Format,
das hierarchisch begründete
Versions-Identifizierer und Zellen-Unterteilungs-Identifizierer
beinhaltet, die eine dynamische Programmführer-Neu-Unterteilung unterstützen;
-
10 als Beispiel eine erfindungsgemäße Datenstruktur
für einen
Zellen-Typ-Indikator (wie in der Tabelle von 9 verwendet), der auf Bereichen, Zeit
und Komplexität
beruhende Identifizierer-Felder beinhaltet;
-
11 ein erfindungsgemäßes hierarchisches
Anweisungs-Format für
eine Objekt-Datenbasis einschließlich Kanal-, Event- und Kanal-Unteranweisungen;
-
12 ein erfindungsgemäßes Verfahren zur
Erzeugung von programmspezifischen Informationen;
-
13 Ein Blockschaltbild eines
erfindungsgemäßen digitalen
Video-Empfangsgerätes
zum Demodulieren und Dekodieren von Sendesignalen, die VLPG-Informationen
enthalten.
-
Ausführliche
Beschreibung der Zeichnungen
-
In
digitalem Format übertragene
Sendeprogramme werden kodiert und zusammen mit ergänzenden
Informationen gesendet, die programmspezifische Informationen (PSI)
enthalten, die beim Dekodieren von Programmen und zugeordneten Daten verwendet
werden. Programmspezifische Informationen enthalten Programmführer-Daten
und Informationen zur Verwendung beim Identifizieren und Zusammenfügen von
individuellen Datenpaketen, um den Inhalt von ausgewählten Programmkanälen wiederzugewinnen.
Programmspezifische Informationen und zugeordneter Programminhalt
werden vorteilhafterweise strukturiert, um große Programmführer zu übermit teln,
die Informationen übermitteln,
die potentiell Tausende von Sende-Programmkanälen und zugeordneten Muldimedia-Objekten
betreffen, die einen breiten geografischen Bereich abdecken, wie zum
Beispiel ganze Kontinente, Länder
oder Staaten. Die Multimedia-Objekte enthalten Audio-Clips, Video-Clips,
Animation, Standbilder, Internet-Daten, Email-Nachrichten, Text
und andere Arten von Daten. Multimedia-Objekte sind Datenobjekte,
die als unabhängige
Einheiten betrachtet werden können und
Bildern innerhalb von individuellen Programmen oder Programmführer-Komponenten zugeordnet sind.
Die Multimedia-Objekte sind in zusammengesetzte Video-Bilder einbezogen,
die zum Beispiel einen Programmführer
oder ein Video-Programm darstellen. Die Datenstruktur der ergänzenden
Informationen unterstützt
unidirektionale Kommunikations-Anwendungen, z. B. passive Betrachtung
und bidirektionale Kommunikations-Anwendungen, z. B. Funktionen
vom interaktiven Typ, und unterstützt auch Speicher-Anwendungen.
-
Die
programmspezifischen Informationen und zugeordneter Programminhalt
können
von verschiedenen Service-Providern über das Internet im Sende/Mehrfach-Sende-Betrieb
oder über
terrestrische, Satelliten- oder Kabelsendung auf einer Abonenten-
oder einer anderen Pay-per-view-Basis geliefert werden. Die Datenstruktur
erleichtert die Erfassung und Dekodierung von Multimedia-Objekten,
die in verschiedenen Daten-Formaten kodiert sind, und die in verschiedenen Übertragungs-Protokollen
von sowohl örtlichen
als auch entfernten Quellen übertragen
werden.
-
Nachfolgend
als mit MPEG kompatibel bezeichnete Daten erfüllen die MPEG2 (Moving Pictures
Experts Group)-Bild-Kodier-Norm, die als „MPEG-Norm" bezeichnet wird. Diese Norm umfasst einen
System-Kodier-Abschnitt (ISO/IEC 13818-1, 10. Juni 1994) und einen
Video-Kodier-Abschnitt (ISO/IEC 13818-2, 20. Januar 1995).
-
Datenstruktur-Elemente
gemäß den erfindungsgemäßen Prinzipien
können
in mit MPEG kompatiblem Format (per Abschnitt 2.4.4 der MPEG-System-Norm) übermittelt
werden, oder sie können
in einem Format übermittelt
werden, das kompatibel mit dem „Program and System Information
Protocol for Terrestrial Broadcast and Cable", veröffentlicht von dem Advanced
Television Systems Committee (ATSC), am 10. November 1997, nachfolgend
als PSIP-Norm bezeichnet, oder mit anderen ATSC-Normen ist. Ferner
können
die Datenstruktur-Elemente gemäß anderen
MPEG-Normen gebildet werden, z. B. der MPEG-4, der MPEG-7, oder
den Urheberrechts- oder Kunden-Erfordernissen eines besonderen Systems.
-
Die
Prinzipien der Erfindung können
bei terrestrischen, Kabel-, Satelliten-, Internet- oder Computer-Netzwerk-Sendesystemen angewendet
werden, bei denen der Kodierungs-Typ oder das Modulations-Format
verändert
werden kann. Solche Systeme können
z. B. mit MPEG nicht kompatible Systeme enthalten, die andere Arten
von Datenströmen oder
andere Verfahren zur Übermittlung
programmspezifischer Informationen mit sich bringen. Obwohl das
offenbarte System für
die Verarbeitung von Sendeprogrammen beschrieben wird, ist dies
ferner nur ein Beispiel. Der Begriff „Programm" wird verwendet, um jede Form von paketisierten
Daten darzustellen, wie zum Beispiel Audio-Daten, Telefon-Nachrichten, Computer-Programme,
Internet-Daten oder andere Kommunikationen.
-
1 zeigt einen Überblick
eines hierarchischen sehr großen
Programmführer-(VLPG)-Daten/Tabellen-Formats
zur Verwendung in einer Transportstrom-Ebenen-Datenstruktur, die
programmspezifische Informationen übermittelt. Die Struktur umfasst
mehrfache hierarchisch angeordnete, miteinander verknüpfte Tabellen.
Die Tabellen bestehen aus Gruppen von Daten und Parametern, die
dazu verwendet werden, um Zusammenstellungen oder Sequenzen von
Fern sehkanälen,
Fernsehprogrammen, Kanal-Parametern, Programm-Parametern, zugeordneten Multimedia-Objekten
und Objekt-Parametern
usw. aufzulisten und zu beschreiben. Sie hierarchische Tabellen-Anordnung
von 1 enthält zum Beispiel
eine Hauptführer-Tabelle
(MGT) 120, eine Haupt-Datenbasis-Tabelle (MDBT) 122,
eine Inhalts- und Klassifizierungs-Tabelle (CCT) 114, eine
System-Zeit-Tabelle (STT) 116 und eine Bewertungs-Bereichs-Tabelle
(RRT) 118. Die Hierarchie von 1 zeigt auch terrestrische, Kabel- und
Satelliten-Kanal-Informations-Tabellen (TCIT Einzelheit 112,
CCIT Einzelheit 110 bzw. SCIT Einzelheit 108),
in denen Kanal-Informationen von Netzwerk-Providern, z. B. CBS,
NBC, HBO, Comcast usw. sortiert werden. Zusätzliche Tabellen enthalten
Zeitplan-Informations-Tabellen (SIT 106, SIT 104 und
SIT 102), in denen Programme oder Dienste nach Quellen
sortiert sind.
-
Eine
MGT enthält
Informationen für
die Verwendung bei der Erfassung von programmspezifischen Informationen,
die in anderen Tabellen übermittelt
werden. Eine Kanal-Informations-Tabelle CIT (z. B. TCIT, CCIT, oder
SCIT) enthält
Informationen zur Abstimmung und Navigation, um einen von einem Benutzer
ausgewählten
Programmkanal zu empfangen. Eine SIT enthält beschreibende Listen von
Programmen (Events), die auf den in der CIT aufgelisteten Kanälen zu empfangen
sind. Entweder eine CIT, SIT oder eine andere Tabelle kann verwendet
werden, um Informationen zu übermitteln,
die einen Benutzer in die Lage versetzen, ein besonderes Programm
auszuwählen
und abzustimmen. Eine CIT wird üblicherweise
verwendet, um Parameter zur Erfassung von audiovisuellen Programm-Inhalt-Daten zu übermitteln,
die über
mehrere Events (TV-Programme) konstant bleiben. Eine SIT wird üblicherweise
verwendet, um Parameter von audiovisuellen Programm-Inhalt-Daten zu übermitteln,
die für
ein Event (individuelles TV-Programm) konstant bleiben. Zusätzliche
programmspezifische Informationen, die Einzelheiten innerhalb der
hierarchischen Tabellen beschreiben und ergänzen, werden in Deskriptor-Informations-Elementen übermittelt.
-
Um
Daten ausreichend an einen Programmführer für einen breiten Bereich anzupassen,
werden einzelne Tabellen in der Hierarchie von 1 sowohl nach Bereichen (z. B. einem
geografischen, Sende- oder Netzwerk-Markt-Bereich) und nach geplanter Sendezeit
unterteilbar. Außerdem
können
die Tabellen-Daten zusätzlich
gemäß einem
dritten Parameter unterteilt werden, z. B. dem Kompliziertheitsgrad
von Daten oder einem Multimedia-Objekt, um zum Beispiel die Skalierbarkeit
bei der Dekodierung zu erlauben. Diese Art von Programmführer-Unterteilung wird
durch die dreidimensionalen Zellen dargestellt, die in dem Diagramm 100 dargestellt
sind. Tatsächlich
unterstützt
die VLPG-Struktur von 1 virtuell jede
Art von Unterteilung, die ein Führer-Provider
benötigen
kann. Die auf Bereichen und Zeit beruhende Unterteilung wird durch
Einschließen
sowohl von Zeit- als auch Bereichs-Identifizierern in eine oder mehrere
Tabellen von 1 und zugeordneten
Objekt-Daten erzielt. Der Vorteil der Einbeziehung der Bereichs-
und Zeit-Unterteilungs-Identifizierer in die Transportebene des
Kommunikations-Protokolls auf diese Weise besteht darin, dass sie
die Verarbeitungslast (z. B. zum Analysieren der Daten) in einem Dekodierer
vermindert, die andernfalls auftritt, wenn die Unterteilung auf
einer höheren
Ebene, z. B. der Anwendungs-Schicht-Ebene vorgenommen wird. Als Ergebnis
wird eine Programmführer-Filterung
bei der Transport-Schicht vorgenommen und unmittelbar durch einen
Transport-Chip ausgeführt,
der in einer Dekodierer-Einheit enthalten ist. Es ist jedoch möglich, die
Zeit- und Bereichts-Identifizierer sowohl für Tabellendaten als auch für Objekte
bei einer solchen höheren
Ebene einzuschließen,
falls erforderlich.
-
Bei
der Übertragung
und Verarbeitung eines Programmführers
wächst
der Bandbreiten-Bedarf mit der Menge von Kanal- und Programm-Informationen und
der Zahl von zugeordneten Objekten, die übertragen werden sollen. Für einen
großen
Programmführer
kann selbst in einem einfachen Fall die Übertragung von Tausenden von
Einzelheiten von Informationen und Objekten erforderlich sein. Ein
einfacher Programmführer
kann weder Bilder, noch Audio-, noch Video-Clips haben, aber er
würde noch wenigstens
Textbeschreibungen für
die Tausende von Programmen (Events) benötigen, die er führt. Es ist
möglich,
Programmführer-Informationen
ohne Redundanz und ohne Unterteilungen in einer einzigen bin- oder
Daten-Datei zu senden. In einem solchen Fall und bei Fehlen von
Unterteilungen auf Transportebene enden die Textbeschreibungen (zum
Beispiel) in einer einzigen Datendatei. Dies bedeutet zum Beispiel,
dass ein Dekodierer in San Diego all das Material (Event-Textbeschreibungen,
Bilder oder irgendwelche anderen Objekte) von allen anderen Städten in
den USA empfängt
und nicht in der Lage ist, nutzloses Material auf der Transportebene
auszurangieren. Demzufolge ist es bei Fehlen von Transport-Ebenen-Unterteilungen für einen
Dekodierer erforderlich, empfangene Programmführer-Informationen auf der
Programmebene zu filtern. Dies ist eine für den Prozessor intensive,
zeitaufwendige und beschwerliche Aufgabe, die ausgefallene Software
und beträchtliche
Verarbeitungsleistung erfordert und die Kosten einer Dekodierer-Einheit
erhöht.
-
Die
VLPG-Datenstruktur von 1 liefert vorteilhafterweise
die Option der Verwendung einer auf Flächen beruhenden Unterteilung
auf der Transport-Schicht-Ebene. Programmführer-Informationen können zum Beispiel in einen östlichen
Bereich, einen mittleren Bereich, einen Gebirgsbereich und einen
pazifischen Bereich unterteilt werden. Dann würde ein Dekodierer in San Diego
keine Programmführer-Informationen
von den anderen drei Bereichen mehr zu empfangen brauchen. Daher
vermindert eine solche Unterteilung beträchtlich die Analysierungs-
und Filterungslast für
einen Dekodierer, und kleinere Unterteilungen (z. B. auf der Basis
von Staat zu Staat) vermindern weiter die Analysierungs- und Filterungslast.
Ein anderer Vorteil einer solchen Unterteilung besteht darin, dass
die aufgewendete Zeit zum Herunterladen von anwendbaren unterteilten Programmführer-Informationen vermindert
wird.
-
Die
Unterteilung von Programmführer-Informationen
bringt jedoch die Einführung
von redundanten Programmführer-Daten
mit sich, weil eine solche Unterteilung eine Duplizierung von Dateneinzelheiten
erfordert. Wenn zum Beispiel ein Basketballspiel in den Pazifik-
und Gebirgsbereichen gesendet wird, dann müssen zwei Kopien von zu beschreibenden Textinformationen
gesendet werden, eine Kopie für jede
der Unterteilungen, die auf den Pazifik- und Gebirgsbereich zielen.
Man sieht, dass bei zunehmender Zahl von Unterteilungen die Menge
an redundanten Informationen auch zunimmt, was eine größere Übertragungs-Bandbreite
erfordert. Demzufolge gibt es einen Kompromiss zwischen Bandbreite
und der Last an Informations-Filterung. Eine große Zahl von Unterteilungen
impliziert eine schnelle Informations-Filterung, aber auf Kosten
von erhöhter
Bandbreite. Wenn nur eine Unterteilung vorhanden ist, gibt es keine
Redundanzen, und daher ist die Bandbreite minimal, aber die Filterungslast
ist größer, da
alle Programmführer-Informations-Einzelheiten
analysiert werden müssen.
-
Zeit-
und Bereichs-Zellen können
in eine mit MPEG-2 kompatible Datenstruktur unter Verwendung der
MPEG-2-PSI- und DSM-CC-Felder
eingemappt werden. Nicht alle diese Tabellen müssen auf Bereichen beruhende
Identifizierer enthalten. Programminhalt-Bewertungen sind zum Beispiel üblicherweise überall in
den Ver einigten Staaten anwendbar. Bei der VLPG-Architektur von 1 wird ein beträchtlicher
Vorteil durch Anwendung von auf Bereichen beruhender Unterteilung
bei der Kanal-Informations-Tabelle (CIT) und der Haupt-Führer-Tabelle
erzielt. Eine CIT definiert die Kanal-Aufstellung (Liste der verfügbaren Kanäle) für einen
Service-Provider und hängt
von dem geografischen Bereich ab, der von dem Service-Provider abgedeckt
wird. Die Kanal-Aufstellung für
terrestrische Sendungen in Indianapolis unterscheidet sich zum Beispiel
von der Kanal-Aufstellung für
einen Kabel-Provider in Philadelphia. In dem System von 1 hängt die MGT auch von dem geografischen
Bereich ab, jedoch ist dies nicht notwendigerweise der Fall.
-
Die
Fähigkeit
der Ausführung
von gebündeltem
Zielen von Programmführer-Informationen
auf besondere Zuhörerschaften
ist ein Vorteil, der davon abgeleitet ist, dass man in der Lage
ist, feine auf Bereichen beruhende Unterteilungen von Kanal-Aufstellungen auf
der Sende-Markt-Ebene vorzunehmen. Um dies zu erreichen, werden
verschiedene Tabellen-„Instanzen" geschaffen. Eine
Tabellen-Instanz ist eine Version einer Tabelle, die auf einen besonderen
Marktbereich zielt und einen Bereichs-Identifizierer zum Identifizieren des
anwendbaren Marktbereichs beinhaltet. Mehrere Instanzen einer einzigen Tabelle
können
gleichzeitig übertragen
werden, wobei jede unterschiedliche Informationen enthält. Verschiedene
Tabellen-Instanzen werden unter Verwendung des „Table_id_Extension"-Feldes des MPEG-2-Protokolls erkannt.
-
2 und 3 zeigen ein Haupt-Führer-Tabellen-(MGT)-Format
bzw. ein Kanal-Informations-Tabellen-(CIT)-Format zur Verwendung
bei der Übermittlung
programmspezifischer Informationen, und die ein Table_id_Extension-Feld
für eine
Markt-Bereichs-Identifizierung
beinhalten. In der MGT von 2 und
in der CIT von 3 wird
dieses Markt-Bereichs-Identifikations-Feld als „Netzwerk-Provider" bezeichnet und ist
in der MGT-Datenstruktur als Einzelheit 130 und in der
CIT-Datenstruktur als Einzelheit 140 dargestellt. Das Netzwerk-Provider-Bereichs-Identifizierer-Feld ist ein 16-Bit-Feld, das
verwendet wird, um eindeutig einen Netzwerk-Provider zu identifizieren.
Die Bedeutung des Netzwerk-Providers
hängt von
dem Übertragungsmedium
ab. Genauer gesagt ist für
terrestrische Sendungen ein Netzwerk-Provider eine Sammlung von Stationen
innerhalb eines geografischen Bereiches. Für Kabelsendungen ist ein Netzwerk-Provider
ein örtlicher
Kabel-Service-Provider,
und für
Satelliten-Sendungen ist ein Netzwerk-Provider ein Satelliten-Service-Provider.
-
Die
Datenstruktur von 1 lässt vorteilhafterweise
zu, dass verschiedene Typen von programmspezifischen und Programmführer-Informationen
auf verschiedene Bereiche gerichtet werden. Dieses Merkmal erlaubt
Flexibilität
bei der Auswahl eines annehmbaren Kompromisses zwischen Dekodierer-Komplexität und Verarbeitungs-Bandbreite beim
Senden und Empfangen der Programmführer-Daten. Zum Beispiel kann
es akzeptabel sein, Multimedia-Objekte
in gröbere
Bereiche zu unterteilen als Kanal-Aufstellungs-Informationen. Die Datenstruktur
von 1 gibt den Führer-Providern
die Fähigkeit,
unterschiedliche Daten-Typen in unterschiedliche Bereichs-Abstufungen
zu unterteilen, die von groben Bereichen zu feinen Bereichen reichen
(z. B. Bereichen so groß wie
Länder,
Staaten oder Bezirke bis zu Bereichen so klein wie Innenstädte, Städte, Innenstadtblöcke oder
sogar wie individuelle Kunden).
-
Ferner
können
Programmführer-Informationen
in einem Dekodierer sortiert werden, um für einen Benutzer eine Wahl
zwischen Programmführern für verschiedene
Bereiche (z. B. zwischen zwei benachbarten Bereichen oder einer
Wahl von Führern aus
irgendei nem der verfügbaren
Bereiche) oder für verschiedene
Dauer von Sendezeit vorzusehen. Insoweit kann ein Programmführer in
einem Dekodierer aus einem oder mehreren verfügbaren Programmführern, die
verschiedenen Bereichen zugeordnet sind, als Reaktion auf die Auswahl-Eingabe
eines Benutzers über
eine Fernbedienungseinheit oder eine andere Dateneingabe-Vorrichtung
ausgewählt werden.
Bei Ausführung
einer solchen Auswahl vergleicht ein Dekodierer eine Bereichs-Identifizierungs-Bezeichnung
(die empfangenen Programmführer-Informationen
zugeordnet ist) mit einer zuvor gespeicherten Bereichs-Identifizierungs-Bezeichnung,
die den Dekodierer-Ort darstellt. Eine solche Bereichs-Identifizierungs-Bezeichnung kann
ein Postleitzahl-Code, ein Telefon-Vorwahl-Code und jeder andere
Bereichs-Identifizierungs-Code sein.
-
4 zeigt ein Multimedia-Objekt-Datenstruktur-Format
zur Übermittlung
von Objekten innerhalb eines VLPG. Die Multimedia-Objekt-Datenstruktur
stützt
eine auf Bereichen und Zeit beruhende Unterteilung durch die Verwendung
von Bereichs- und Zeit-Identifizierer-Felder
innerhalb eines MPEG TSM-CC-kompatiblen carouselId-Identifizierers
(Einzelheit 150 in 4).
-
5, 6 und 7 zeigen
Beispiele der Datenstruktur von Objekten, die Kanal-, Event- bzw.
Steuer-Objekte umfassen. Genauer gesagt zeigt 5 eine binäre Kanal-Basis-Informations-Datei
(Kanal BIF), 6 zeigt
eine binäre
Event-Basis-Informations-Datei
(Event-BIF), und 7 zeigt
eine binäre Steuer-Basis-Informations-Datei
(Steuer-BIF). In gleicher Weise wie 4 enthalten
die Kanal-, Event- und Steuer-Objekt-Daten von 5 bis 7 Bereichs-
und Zeit-Identifizierer-Felder innerhalb von MPEG DSM-CC-kompatiblen
carouselId-Identifizierern (Einzelheiten 153, 157 und 159 jeweils
in 5–7).
-
Die
Einzelheit 152 in 8 zeigt
eine beispielsweise carouselId-Datenstruktur für ein mit MPEG kompatibles
carouselId (wie in den Tabellen von 4, 5, 6 und 7 verwendet).
Das KarouselId enthält
einen Leitfaden für
einen 16-Bit-Einzelheiten-Identifizierer
zur Verwendung als Daten-Basis-Referenz, einen 8-Bit-Zeit-Identifizierer und einen 8-Bit-Bereichs-Identifizierer.
Diese Felder ermöglichen
einem Dekodierer wahlweise Programmführer-Daten, die auf Bereichen
und auf Zeit beruhenden Unterteilungen beruhen, zu filtern.
-
In
der VLPG-Datenstruktur von 1 wird eine
Haupt-Daten-Basis-Tabelle
(MDBT-Einzelheit 122) dazu verwendet, Programmführer-Unterteilungen
(Zellen) zu definieren und einen Dekodierer der Zellen zu informieren,
die an seinem Ort zur Dekodierung verfügbar sind. 9 zeigt eine Haupt-Daten-Basis-Tabellen-Datenstruktur, die
auf hierarchischer Basis Versions-Identifizierer und Zellen-Unterteilungs-Identifizierer
enthält,
die vorteilhafterweise eine dynamische Programmführer-Neu-Unterteilung ermöglichen. Der Code zwischen
den Einzelheiten 170 und 178 umfasst eine Schleife,
die unterteilte Zellen definiert. Innerhalb dieser Schleife bestimmt das
Feld, das als „Zellen_Typ" (Einzelheit 172)
bezeichnet wird, einen Index einer Zelle, wie in 10 dargestellt.
-
Die
Einzelheit 179 in 10 zeigt
eine beispielsweise Datenstruktur für einen Zellen-Typ-Indikator.
Der Zellen-Typ-Indikator
enthält
einen 8-Bit-Komplexitätsgrad-Identifizierer,
der dazu verwendet wird, einen Komplexitätsgrad eines Objektes zu definieren.
Der Zellen-Typ-Indikator enthält
auch einen 8-Bit-Bereichs-Identifizierer
und einen 8-Bit-Zeit-Identifizierer zur Definition von auf Bereichen
und Zeit beruhenden Unterteilungen.
-
Eine
individuelle Objekt- oder Programmführer-Informations-Einzelheit enthält ein carouselId (wie
in 8 definiert und als
Einzelheit 150 in 4 dargestellt),
um das Objekt mit einem Zeit- und Bereichs-Index seiner Mutterzelle
zu verknüpfen.
Eine dynamische Programmführer-Neu-Unterteilung
wird durch Neu-Anordnung
der Zellenliste in der MDBT und durch dynamische Änderung
in den Mutterzellen-Zeit- und Bereichs-Index-Identifizierern innerhalb eines carouselId
erreicht. Demzufolge ist ein Führer-Provider
in der Lage, eine Programmführer-Datenstruktur zur
Anpassung an Änderungen
in verfügbarer Übertragungs-Bandbreite
oder Dekodierer-Differenziertheit dynamisch neu zu unterteilen.
Ein Führer-Provider
kann feinere Unterteilungen verwenden, um schnelle Objekt-Filterzeiten
vorzusehen, wenn eine erhöhte
Bandbreite verfügbar
wird oder er kann gröbere
Unterteilungen verwenden, um Bandbreite beizubehalten, wenn sich
die Dekodierer-Verarbeitungs-Fähigkeiten
bessern. Insoweit kann heute ein Dekodierer in San Diego Zugriff
zu Programmführer-Informationen
haben, die den Bereichen 0 und 7 zugeordnet sind, während in
der Zukunft dem Dekodierer Zugriff zu Programmführer-Informationen gegeben
werden kann, die zum Beispiel den Bereichen 0 und 9 zugeordnet sind,
was eine feinere Unterteilung reflektiert. In der Zukunft kann es
vollkommen machbar sein, Echtzeit-Zugriff zu Multimedia-Objekten
vorzusehen, die in Führern
vorhanden sind, die Bereiche so groß wie die USA abdecken, indem
ein geeigneter Kompromiss zwischen Bandbreite und Unterteilung gewählt wird.
-
11 zeigt ein hierarchisches
Datenverzeichnis-Format für
eine Objekt-Datenbasis, die Objekt-Dateien unter Kanal-, Event- und Steuer-Unter-Datenverzeichnissen
enthält. 11 zeigt, dass ein besonderes
Event wie zum Beispiel „Event
2" sein eigenes
Datenverzeichnis haben kann, das seine erforderlichen Dateien enthält, z. B. „Event
2" hat vier zugeordnete
Objekte (Einzel heiten 240, 242, 244 und 246 in 11). Unter Verwendung der
Objekt-Datenbasis wird eine auf einem Datenverzeichnis beruhende
Adresse in Transport-Ebenen-Felder zur Verarbeitung eingemappt.
Bei zum Beispiel einem Weg wie/VLPG/TIME1/AREA1/events/event2/event.bif
(Weg durch Datenverzeichnis-Einzelheiten 220, 224, 228, 232, 238, 242 in 11) gibt es ein und nur
ein Objekt mit einem bestimmten carouselId und ModuleId. In diesem
Fall gilt zum Beispiel die Zuordnung:
/VLPG -----→ Dateien
herausgezogen aus VLPG-Objekt-Datenbasis
/TIME1 -----→ 0x01 (Zeit
variabel)
/AREA1 -----→ 0x01
(Bereich variabel)
/events/event2 -----→ 0x3005 (Datenverzeichnis Nummer
variabel).
-
Daher
wird die Datenbasis-Adresse einem carouselId von 0x01013005 zugeordnet.
Ferner hat das event.bif (Einzelheit 242) einen moduleId,
der aus den Programmführer-Informationen
(z. B. als Wert 0x0002 bei diesem Beispiel) bestimmt werden kann.
Die inverse Zuordnung von Transport-Ebenen-Feldern zu einer auf
einem Datenverzeichnis beruhenden Adresse ist ebenfalls eindeutig
und kann in gleicher Weise abgeleitet werden.
-
Die
in 11 dargestellte Struktur
des Datenverzeichnisses stützt
die Operation von Software zur Verarbeitung und Wechselwirkung mit übertragenen
Objekten. Die Verarbeitungs-Software kann in Dateiform zusammen
mit anderen Objekten übertragen
und dann interpretiert oder kompiliert und durch einen Dekodierer
betrieben werden. Eine solche Verarbeitung von Software kann für zahlreiche
Anwendungen verwendet werden, einschließlich zur vorteilhaften Erstellung
von auf dem Inhalt beruhenden Programmführern in einem Dekodierer in
einer Sprache wie HTML (Hyper-Text-Auszeichnungs-Sprache), SGML
(standardisierte generalisierte Auszeichnungs-Sprache), Java, ActiveX
und jeder anderen von einem Dekodierer gestützten Sprache. Als Beispiel
kann ein Führer-Provider wünschen,
dass jeden Sonntag eine Website vorbereitet wird, die alle verfügbaren Sonntags-Filme
für die
Sendung zu Dekodierer-Einheiten
beschreibt, die einen Web-Browser enthalten und HTML-Software stützen. Die
Sonntags-Führer-Informationen
werden in HTML kodiert und zu Dekodierern als HTML-Software-Dateien
gesendet, die die spezielle Website beschreiben. Die HTML-Dateien
befinden sich irgendwo in der Datenverzeichnis-Struktur der Objekt-Datenbasis
und erzeugen gemeinsam Bilder, Text, Video- und Audio-Dateien, die
die Sonntags-Filmführer-Liste
bilden, die die spezielle Website umfasst. Als solche wird die Sonntags-Führer-Website
als Teil einer Objekt-Datenbasis gesendet und erfährt üblicherweise keinen
Zugriff von einem Internet-Server.
Andere spezielle Programmführer-Websites,
die auf diese Weise übertragen
werden können,
können
zum Beispiel (a) DVD/VCR-Programme, die zum Abspielen verfügbar sind,
(b) andere Internet-Websites, (c) vor-gespeicherte Fax/Telefon-Nummern
für den
Zugriff, (d) Bildtelefon-Funktionen
und (e) Heimanwendungs-Steuerfunktionen auflisten.
-
Ein
Benutzer kann die Anzeige der speziellen Sonntags-Führer-Sende-Website auslösen, die
in der Objekt-Datenbasis enthalten ist, indem er eine Fernbedienungs-Einheit
oder eine andere Dateneingabe-Vorrichtung
verwendet, um eine zugeordnete angezeigte Menü-Einzelheit oder ein Anzeige-Icon auswählen, und
er kann in gleicher Weise die Sende-Website navigieren und die annoncierten
Filme überprüfen. Außerdem kann
ein Benutzer in der Lage sein, Befehle über die Website auszulösen, wie
(a) Programmieren einer VCR- oder DVD-Einheit (b) Abstimmen eines
gewünschten
Kanals, oder (c) Zugriff zu anderen Internet-Sites nehmen, die entweder in gleicher
Weise als Teil der Objekt-Datenbasis
gesendet werden, oder zu denen üblicherweise
Zugriff über eine
Telefon-(oder Kabel)-Leitung genommen wird. Ferner kann beim Auslösen eines
solchen Telefon-(oder Kabel)-Leitungs-Internet-Zugriffs ein Dekodierer
Zugriffs-Informationen von einem Sender oder einer anderen Quelle
erfassen. Solche Zugriffs-Informationen enthalten zum Beispiel (a)
ein Internet URL, (b) eine Internet-IP-Adresse, (c) eine EMAIL-Adresse,
und (d) eine Telefon/Fax/Bildtelefon-Nummer.
-
Die
hierarchische Datenverzeichnis-Struktur von 11 veranschaulicht einen anderen Vorteil, der
durch die VLPG-Struktur von 1 angeboten wird.
Bei einem großen
Programmführer
beinhaltet die Handhabung der Aktualisierung von Tabellen- und Objekt-Bestandteilen
die Prüfung
einer großen Menge
von Versions-Nummern (es können
Tausende von Versions-Nummern betroffen sein). Ein Dekodierer lädt eine
besondere Programmführer-Tabelle oder
ein Objekt bei Bestimmung einer Änderung
der Versions-Nummer herunter und lässt jene Tabellen oder Objekte
außer
Acht, wo keine Änderung
der Versions-Nummer angezeigt wird. Diese Aufgabe kann durch Auflistung
aller Versions-Nummern von Tabellen und Objekten unterstützt werden,
die für eine Änderung
in einer Tabelle, z. B. einer MGT, empfindlich sind. Die MGT wird
mit einer ausreichend schnellen Rate gesendet, um einen Dekodierer
in die Lage zu versetzen, die MGT zu prüfen, um zu bestimmen, welche
Tabellen oder Objekte sich geändert
haben, und um eine geänderte
Tabelle oder ein geändertes
Objekt in einer zeitlichen Weise zu erfassen. Eine Analysierung
jedes Eintrags in die MGT kann jedoch in einer großen Führer-Struktur sehr zeitaufwendig
werden.
-
Dieses
Problem wird durch Verwendung eines Systems einer hierarchischen
Versions-Steuerung angesprochen, in der es mehrere Tabellen gibt, die
eine Versions-Steuerung ausführen.
Diese Tabellen sind in einer Baum-Struktur angeordnet wie in 11 dargestellt. In 11 steuert die Tabelle 238 (event2)
die Version jener Tabellen/Dateien unter der Tabelle 238.
Die Tabelle 232 (events) steuert alle Versionen der Tabellen 336 (event1),
und 238. Die Tabelle 228 (AREA1) steuert nur die
Versionen der Tabellen 230 (Kanäle), 232 und 236 (Steuerung).
Auf diese Weise ist die in jeder Tabelle gespeicherte Versions-Nummer-Information klein,
und bei Durchqueren des Baums von oben nach unten ist es möglich, schnell
jene Dateien, Tabellen oder Objekte zu finden, die aktualisiert
werden müssen.
-
Obwohl
oben eine Mehr-Ebenen-Struktur beschrieben wird, kann auch eine
Zwei-Schicht-Versions-Steuer-Struktur für die Versions-Steuerung von Objekten
in der Datenbasis in der VLPG von 1 verwendet
werden. Bei dem Beispiel von zwei Schichten ist die obere Schicht
der Baum-Hierarchie die Haupt-Datenbasis-Tabelle (MDBT), wie in 9 dargestellt. Die zweite
Ebene unterhalb der MDBT-Ebene besteht aus Zellen, die Kanal-, Event-
und Steuer-Basis-Informations-Dateien umfassen, wie als Beispiel
durch die zuvor beschriebenen Datenstrukturen von 5, 6 bzw. 7 veranschaulicht wurde.
Eine Änderung
in irgendeiner der Kanal-, Event- oder Steuer-Dateien wird durch
eine Änderung
in ihren entsprechenden Versions-Nummern, Einzelheit 116 (5), Einzelheit 163 (6) und Einzelheit 167 (7) signalisiert. Ferner
wird jede Änderung
in den Kanal-, Event- oder Steuer-Datei-Versions-Nummern durch eine Änderung in der nächsten hierarchischen
(Zellen)-Ebenen-Versions-Nummer
signalisiert, d. h. eine solche Änderung
wird durch eine Änderung
in der Versions-Nummer 176 in der MDBT von 9 signalisiert. Wenn als spezifisches
Beispiel ein Kanal-Logo (das ein Bild in der Datenbasis ist) sich
von einer Version zu einer anderen ändert, dann reflektiert der
Kanal BIF diese Änderung
in der Einzelheit 160 (5).
Die MDBT signalisiert auch die Änderung
in der Einzelheit 176 auf der Zellen-Ebene (9). Ein Dekodierer prüft zuerst
die MDBT und bestimmt, dass die Zellen-Versions-Nummer sich geändert hat
und prüft
dann die BIF-Dateien, um Objekte zu identifizieren, die sich innerhalb der
Zelle geändert
haben.
-
Die
Haupt-Datenbasis-Tabellen-(MDBT)-Struktur von 9 sorgt für einen weiteren Vorteil bei
der Verarbeitung von großen
Programmführern.
Die Dekodierer-Differenziertheit und die Verarbeitungs-Leistung und die
Fähigkeit
zur Verarbeitung von komplizierten Multimedia-Objekten entwickelt sich
mit der Zeit. Zum Beispiel wurden die ersten Generationen von Set-Top-Box-Dekodierern
stark auf die Verarbeitung von Bildern in Bit-Map-Form beschränkt. Neuere
Generationen von Dekodierern können
jedoch die Kompressions-Software verwenden, um JPEG-, GIF- oder
andere Bild-Formate herunterzuladen, und zukünftige Generationen werden in
der Lage sein, nicht nur Bilder, sondern auch Filmclips in mehrfachen
Formaten zu verarbeiten. Demzufolge ist es erwünscht, Programmführer-Daten
so zu strukturieren, dass die Dekodierer-Skalierfähigkeit unterstützt wird,
d. h. einem Bereich von Dekodierern mit veränderbarer Komplexität zu erlauben,
Programmführer-Informationen unter
Verwendung des Maßes
an Verarbeitungsleistung zu verarbeiten, mit der sie ausgestattet
sind. Dadurch sind Dekodierer mit niedriger Komplexität in der
Lage, Objekte zu identifizieren, die sie verarbeiten können, und
Objekte auszurangieren, die ihre Verarbeitungsfähigkeiten übersteigen. Andernfalls können Objekte
mit hoher Komplexität
den Betrieb von Dekodierern mit niedriger Komplexität durch
Verursachen von Puffer-Überfließen oder
anderen Problemen verschlechtern.
-
Die
MDBT-Datenstruktur von 9 (und 10) stützt vorteilhafterweise eine
wirksame Multimedia-Objekt-Komplexitäts-Unterscheidung in einer
Dekodierer-Einheit. Zu diesem Zweck ordnet die MDBT PID (Paket-Identifizierer)-Werte
Zellen in der Datenbasis zu. In 9 identifiziert
die Einzelheit 172 eine besondere Zelle, und ihr ist ein
PID-Wert durch die Einzelheit 174 zugeordnet. Ferner definiert die
Einzelheit 172 den 24-Bit-Feld-Zellen-Typ, der die Zeit-,
Bereichs- und Komplexitäts-Koordinaten
einer Zelle definiert (siehe 10).
Als solches ist ein Objekt-Komplexitäts-Maß-Indikator in einem mit MPEG-2
kompatiblen Transport-Schicht-Feld enthalten. Dadurch werden Objekte
in der Datenbasis, die zu unterschiedlichen Komplexitäts-Maßen gehören, in
Strömen übermittelt,
die durch verschiedene PIDs identifiziert werden. Einem Dekodierer
wird ein Komplexitäts-Maß vorzugeordnet,
und der Dekodierer wendet die MDBT (insbesondere Einzelheit 172)
bei der Auswahl und beim Cache-Kopieren der PID-Werte für jene Zellen
mit Komplexitäts-Maßen an,
die passen oder unter dem zuvor zugeordneten Dekodierer-Komplexitäts-Maß liegen.
Objekte mit einem Komplexitäts-Maß, die die
Dekodiererfähigkeiten überschreiten,
werden vorteilhafter auf der Transportebene ausrangiert.
-
12 zeigt ein Fließdiagramm
eines Verfahrens zum Bilden von programmspezifischen Informationen
gemäß der Erfindung.
Das Verfahren von 12 erzeugt
programmspezifische Informationen, die MGT-, MDBT-, CCT-, STT-,
RRT-, TCIT-, CCIT-, SCIT- und SIT-Daten enthalten, und Descriptoren, die
die zuvor beschriebenen vorteilhaften Merkmale enthalten. Das Verfahren
kann bei einem Kodierer zum Senden von Programmführer-Daten angewendet werden,
oder zur Kodierung von Programmführer-Daten
innerhalb einer Dekodierer-Einheit für die Übertragung zu einer anderen
Vorrichtung.
-
Nach
dem Start beim Schritt 250 in 12 wird beim Schritt 253 ein
Verfahren auf der Basis der zuvor beschriebenen Daten-Strukturierungs-Prinzipien
für die
Unterteilung von programmspezifischen Informationen ausgewählt. Die
programmspezifischen Informationen werden gemäß Zeitsegmenten und Bereichen,
Netzwerk-Typen, Komplexitäts-Ebenen, Zellen
und Programmen (Events) unterteilt. Beim Schritt 255 werden
PID-Werte so zugeordnet, dass sie zu unterteilten programmspezifischen
Informationen passen. Wenn ein Nicht-MPEG-Transport-Protokoll verwendet
wird, können
PID-Werte durch geeignete Parameter ersetzt werden, die logische
Kanäle identifizieren.
Beim Schritt 257 werden eine MGT und eine MDBT (oder andere
Arten von Steuer-Tabellen) erzeugt, um jene einzubeziehen, die während Unterteilungs-Operationen
gebildet wurden. Die MGT übermittelt
Informationen für
die Verwendung bei der Erfassung von programmspezifischen Informationen, die
in anderen Tabellen übermittelt
werden. Die MDBT übermittelt
Informationen zur Verwendung bei der Erfassung von Multimedia-Objekten
aus einem Transportstrom.
-
Beim
Schritt 260 werden individuelle CCT-, STT-, RRT-, TCIT-,
CCIT-, SCIT- und SIT-Tabellen usw. gebildet, die in Einklang mit
der unterteilten Struktur sind. Diese individuellen Tabellen beinhalten Multimedia-Objekt-Verknüpfungen,
Versions-Nummern und Identifizierer, die gemäß den zuvor beschriebenen erfindungsgemäßen Prinzipien
abgeleitet wurden. Eine CIT (z. B. TCIT, CCIT und SCIT) wird gebildet,
die Kanal- und Programm-Identifikations-Informationen enthält, die
die Erfassung von verfügbaren
Sendeprogrammen und Kanälen
ermöglichen, die
Paket-Identifizierer zum Identifizieren von individuellen paketisierten
Strömen
enthalten, die individuelle Programme bilden, die auf besonderen
Kanälen übertragen
werden sollen. Ferner wird beim Schritt 260 eine SIT erzeugt,
die Programmführer-Plan-Informationen
enthält,
die beschreibende Listen von Programmen (Events) einschließen, die
auf den in der CIT aufgelisteten Kanälen zu empfangen sind.
-
Beim
Schritt 263 werden die beim Schritt 260 gebildeten
Tabellen zusammen mit zugeordneten Multimedia-Objekten formatiert,
um kompatibel mit einem gewünschten
Datenformat und Protokoll zu sein. Solche Datenformate und Protokolle
enthalten zum Beispiel mit MPEG2 kompatible programmspezifische
Informationen, MPEG2 DSM-CC, DSS und ein Internet-kompatibles Datei-Transfer-Format. Beim
Schritt 265 werden die resultierenden formatierten Tabellen
und Multimedia-Objekte in einen Datenstrom an ihren bezeichneten
Orten für
terrestrische Übertragung
einbezogen. Die MGT und MDBT werden beim Schritt 267 in
den Datenstrom einbezogen.
-
Beim
Schritt 270 werden die beim Schritt 267 erzeugten
programmspezifischen Informationen zusammen mit Video- und Audio-Programm
darstellenden Komponenten (und anderen Daten) für mehrere Kanäle gemultiplext
und in einen Transportstrom für den
Ausgang formatiert. Beim Schritt 270 wird der Ausgangs-Transportstrom
weiter verarbeitet, um z. B. für
terrestrische Übertragung
zu einer anderen Vorrichtung wie einem Empfänger, Video-Server oder einer
Speichervorrichtung zur Aufzeichnung auf einem Speichermedium geeignet
zu sein. Die beim Schritt 270 durchgeführten Prozesse enthalten bekannte
Kodierfunktionen wie Datenkompression, Reed-Solomon-Kodierung, Verschachtelung,
Verwürfelung,
Trellis-Kodierung und Trägermodulation. Der
Prozess ist vollständig
und endet beim Schritt 275. Bei dem Prozess von 12 können mehrere CIT-, SIT- und
zugeordnete Erweiterungs-Tabellen gebildet und in die programmspezifischen
Informationen einbezogen werden, damit eine Anpassung an erweiterte
Nummern und Kanäle
erfolgt. Ferner können
bei anderen Ausführungsformen
die Tabellen zum Beispiel in gleicher Weise für Satelliten-, Kabel- oder
Internet-Übertragung
verarbeitet werden.
-
Bei
dem Video-Empfängersystem
von 13 wird ein gesendeter
Träger,
der mit Signalen moduliert ist, die Audio-, Video- und zugeordnete
Daten führen,
die einen Sende-Programm-Inhalt darstellen, von einer Antenne 10 empfangen
und durch die Einheit 13 verarbeitet. Das resultierende
digitale Ausgangssignal wird von einem Demodulator 15 demoduliert.
Der demodulierte Ausgang von der Einheit 15 wird trellisdekodiert,
in Byte-Längen-Datensegmente
eingemappt, entschachtelt und durch den Dekodierer 17 einer
Reed-Somomon-Fehlerkorrektur unterworfen. Die korrigierten Ausgangsdaten
von der Einheit 17 sind in der Form eines mit MPEG kompatiblen
Transport-Datenstroms, der ein Programm enthält, das repräsentativ
für gemultiplexte
Audio-, Video- und Datenkomponenten ist. Der Transportstrom von
der Einheit 17 wird von der Einheit 22 in Audio-, Video-
und Datenkomponenten demultiplext, die von den anderen Elementen
des Dekodierersystems 100 weiterverarbeitet werden. Bei
einer Betriebsart liefert der Dekodierer 100 MPEG-dekodierte Daten
zur Anzeige und Audio-Wiedergabe in den Einheiten 50 bzw. 55.
Bei einer anderen Betriebsart wird der Transportstrom von der Einheit 17 von
dem Dekodierer 100 verarbeitet, um einen mit MPEG kompatiblen Datenstrom
zur Speicherung auf dem Speichermedium 105 über die
Speichervorrichtung 90 zu liefern.
-
Ein
Benutzer wählt
zur Betrachtung entweder einen Fernsehkanal (vom Benutzer ausgewählter Kanal
SC) oder ein On-Screen-Menü,
wie zum Beispiel einen Programmführer,
durch Verwendung einer Fernbedienungs-Einheit 70 aus. Die Steuereinheit 60 verwendet
die Auswahl-Informationen,
die von der Fernbedienungs-Einheit 70 über die Schnittstelle 65 geliefert
werden, um die Elemente von 13 in
geeigneter Weise zu konfigurieren, um einen gewünschten Programmkanal für die Betrachtung
zu empfangen. Die Steuereinheit 60 umfasst einen Prozessor 62 und
einen Prozessor 64. Die Einheit 62 verarbeitet
(z. B. analysiert, sortiert und fügt zusammen) System-Timing-Informationen
und programmspezifische Informationen, die Programmführer-Informationen
enthalten. Der Prozessor 64 führt die verbleibenden Steuerfunktionen
aus, die beim Betrieb des Dekodierers 100 erforderlich
sind. Obwohl die Funktionen der Einheit 60 als getrennte
Elemente 62 und 64 ausgeführt werden können, wie
in 13 dargestellt ist,
können
sie statt dessen innerhalb eines einzigen Prozessors ausgeführt werden. Z.
B. können
die Funktionen der Einheiten 62 und 64 in die
programmierten Instruktionen eines Mikroprozessors einbezogen werden.
-
Die
Steuereinheit 60 konfiguriert den Prozessor 13,
den Demodulator 15, den Dekodierer 17 und das
Dekodiersystem 100, um das Eingangssignal-Format und den
Kodier-Typ zu demodulieren und zu dekodieren. Ferner konfiguriert
die Steuereinheit 60 die Einheiten 13, 15 und 17 für andere
Kommunikations-Betriebsarten, z. B. zum Empfang von Kabel fernseh-(CATV)-Signalen
und zur bidirektionalen Kommunikation über die Koaxialleitung 14 oder
zur biditektionalen (z. B. Internet) Kommunikation zum Beispiel über die
Telefonleitung 11. Bei einem analogen Video-Betrieb wird
ein mit NTSC kompatibles Signal von den Einheiten 13, 15 und 17 empfangen
und durch den Dekodierer 100 für Video-Anzeige und Audio-Wiedergabe
in den Einheiten 50 bzw. 55 verarbeitet. Die Einheiten 13, 15, 17 und
Unter-Einheiten innerhalb des Dekodierers 100 werden individuell
für den
Eingangssignal-Typ durch die Steuereinheit 60 konfiguriert,
die in diesen Elemente unter Verwendung von einem bidirektionalen
Daten- und Steuersignal-Bus C Steuer-Register-Werte festlegen.
-
Der
an den Dekodierer 100 gelieferte Transportstrom umfasst
Datenpakete, die Programm-Kanal-Daten und ergänzende System-Timing-Informationen und
programmspezifische Informationen einschließlich Programmführer-Informationen
enthalten. Die Einheit 22 leitet die ergänzenden
Informationspakete der Steuereinheit 60 zu, die diese Informationen in
die zuvor beschriebenen hierarchisch angeordneten Tabellen (wie
zum Beispiel in 1) analysiert, sortiert
und zusammenfügt.
Individuelle Datenpakete, die den vom Benutzer ausgewählten Programmkanal
SC umfassen, werden unter Verwendung der zusammengefügten programmspezifischen
Informationen identifiziert und zusammengefügt. Ferner enthalten die programmspezifischen
Informationen bedingte Zugriffs-, Netzwerk-Informationen und Identifikations-
und Verknüpfungs-Daten,
die ermöglichen, dass
das System von 13 auf
einen gewünschten Kanal
abstimmt und Datenpakete zusammengeführt werden, um vollständige Programme
zu bilden. Die programmspezifischen Informationen enthalten auch Daten,
die die Identifikation und die Zusammenfügung der ergänzenden
Informationen stützen.
-
Die
programmspezifischen und die System-Timing-Informationen werden
durch die Steuereinheit 60 in mehrfache hierarchisch angeordnete und
miteinander verknüpfte
Tabellen durch die Struktur von 1 zusammengefügt. Die
STT enthält
einen Zeit-Referenz-Indikator und zugeordnete Korrekturdaten, die
für einen
Dekodierer ausreichen, um eine Übertragungszeit
eines Programms durch eine Sendequelle zu errichten.
-
Die
MGT enthält
Informationen zur Erfassung von programmspezifischen Informationen,
die in anderen Tabellen übermittelt
werden, wie Identifizierer zum Identifizieren von Datenpaketen,
die den anderen Tabellen zugeordnet sind. Die CIT (z. B. TCIT) enthält Informationen
zur Abstimmung und Navigation, um einen von einem Benutzer ausgewählten Programmkanal
zu empfangen. Die SIT enthält beschreibende
Listen von Programmen (Events), die auf den in der CIT aufgelisteten
Kanälen
zu empfangen sind. Die RRT enthält
Programminhalt-Bewertungs-Informationen wie die MPAA (Motion Picture Association
of America) oder V-Chipkompatible Bewertungs-Informationen, die
nach Bereichen sortiert sind (z. B. nach Ländern oder Staaten innerhalb
der USA). Zusätzliche
programmspezifische Informationen, die Einzelheiten innerhalb der
hierarchischen Tabellen beschreiben und ergänzen, werden innerhalb von
Descriptor-Informations-Elementen übermittelt. Die von der Steuereinheit 60 über die
Einheit 22 erfassten programmspezifischen und System-Timing-Informationen
werden innerhalb des internen Speichers der Einheit 60 gespeichert.
Die Steuereinheit 60 verwendet die erfassten Programmführer-Informationen
bei der Konditionierung des Zugriffs zu Programmen und bei der Planung
von Programm-Verarbeitungsfunktionen einschließlich Programm-Betrachtung,
Aufzeichnung und Wiedergabe.
-
Die
Steuereinheit 60 und der Prozessor 22 bestimmen
aus der CIT die PIDs von Video-, Audio- und Unter-Bild-Strömen in dem
paketisierten dekodierten Transportsystem-Eingang zum Dekodierer 100 aus
der Einheit 17. Die Video-, Audio- und Unter-Bild-Ströme bilden
das gewünschte
Programm, das auf dem gewünschten
Kanal SC übertragen
wird. Der Prozessor 22 liefert mit MPEG kompatible Video-,
Audio- und Unter-Bild-Ströme an den
Video-Dekodierer 25, den Audio-Dekodierer 35 bzw. den
Unter-Bild-Prozessor 30. Die Video- und Audio-Ströme enthalten
komprimierte Video- und Audio-Daten, die den Programminhalt des
gewählten Kanals
SC darstellen. Die Unter-Bild-Daten enthalten die SIT-, CCT- und
RRT-Informationen, die dem Programminhalt des Kanals SC zugeordnet
sind.
-
Der
Dekodierer 25 dekodiert und dekomprimiert die mit MPEG
kompatiblen paketisierten Video-Daten von der Einheit 22 und
liefert de komprimierte, ein Programm darstellende Pixel-Daten an den
NTSC-Kodierer 45 über den
Multiplexer 40. In gleicher Weise dekodiert der Audio-Prozessor 35 die paketisierten
Audio-Daten von der Einheit 22 und liefert dekodierte und
verstärkte
Audio-Daten, die mit den zugehörigen
dekomprimierten Video-Daten synchronisiert sind, an die Vorrichtung 55 für die Audio-Wiedergabe.
Der Prozessor 30 dekodiert und dekomprimiert von der Einheit 22 empfangene
Unter-Bild-Daten.
-
Der
Prozessor 30 fügt
RRT, CCT, CIT und Daten-Objekte von der Einheit 22 zusammen,
sortiert und interpretiert sie, um formatierte Programmführer-Daten
für den
Ausgang zur OSD 37 zu erzeugen. OSD 37 verarbeitet
die SIT-, RRT- und CCT- und andere Informationen, um Pixeln zugeordnete
Daten zu erzeugen, die Unter-Titel-, Steuer- und Informations-Menü-Anzeigen
einschließlich
auswählbarer Menü-Optionen
und anderer Einzelheiten zur Darstellung auf der Anzeigevorrichtung 50 darstellen. Die
angezeigten Steuer- und Informations-Menüs ermöglichen einem Benutzer, ein
Programm für
die Betrachtung auszuwählen
und zukünftige
Programmverarbeitungs-Funktionen zu planen einschließlich a) Abstimmung
zum Empfangen eines ausgewählten Programms
für die
Betrachtung, b) Aufzeichnung eines Programms auf ein Speichermedium 105 und
c) Wiedergabe eines Programms von dem Medium 105.
-
Die
Steuer- und Informations-Anzeigen einschließlich Text und Grafiken, die
von dem OSD-Generator erzeugt werden, werden in Form von Einblend-Pixel-Zuordnungsdaten
nach Weisung der Steuereinheit 60 erzeugt. Die Einblend-Pixel-Zuordnungsdaten
von der Einheit 37 werden kombiniert und mit den dekomprimierten
Pixel darstellenden Daten von dem MPEG-Dekodierer 25 im
Kodierer 45 über
den Multiplexer 40 nach Weisung der Steuereinheit 60 synchronisiert.
Kombinierte, Pixeln zugeordnete Daten, die ein Video-Programm auf
dem Kanal SC zusammen mit zugehörigen
Unter-Bild-Daten darstellen, werden von dem NTSC-Kodierer 45 kodiert
und zur Vorrichtung 50 für die Anzeige ausgegeben.
-
In
einer Speicher-Betriebsart des Systems von 13 werden die korrigierten Ausgangsdaten von
der Einheit 17 von dem Dekodierer 100 verarbeitet,
um einen mit MPEG kompatiblen Datenstrom für die Speiche rung zu erzeugen.
Bei dieser Betriebsart wird von einem Benutzer über die Fernbedienungs-Einheit 70 und
die Schnittstelle 65 ein Programm für die Speicherung ausgewählt. Der
Prozessor 22 bildet in Verbindung mit dem Prozessor 60 verdichtete
programmspezifische Informationen einschließlich MGT-, MDBT-, CCT-, STT-,
RRT-, TCIT- und SIT-Daten und Descriptoren, die die zuvor beschriebenen
vorteilhaften Merkmale enthalten. Die verdichteten programmspezifischen
Informationen unterstützen
die Dekodierung des für
die Speicherung ausgewählten
Programms, schließen
aber Informationen ohne Beziehung aus. Der Prozessor 60 bildet
in Verbindung mit dem Prozessor 22 einen zusammengesetzten
mit MPEG kompatiblen Datenstrom, der paketisierte Inhaltsdaten des
ausgewählten
Programms und zugehörige
verdichtete programmspezifische Informationen enthält. Der
zusammengesetzte Datenstrom wird an die Speicher-Schnittstelle 95 ausgegeben.
-
Die
Speicher-Schnittstelle 95 puffert den zusammengesetzten
Datenstrom, um Lücken
und eine Bit-Raten-Änderung
in den Daten zu vermindern. Die resultierenden gepufferten Daten
werden von der Speichervorrichtung 90 verarbeitet, damit
sie für
die Speicherung auf dem Medium 105 geeignet sind. Die Speichervorrichtung 90 kodiert
den gepufferten Datenstrom von der Schnittstelle 95 unter
Verwendung bekannter Fehler-Kodierverfahren wie Kanal-Kodierung,
Verschachtelung und Reed-Solomon-Kodierung,
um einen kodierten Datenstrom zu erzeugen, der für die Speicherung geeignet
ist. Die Einheit 90 speichert den resultierenden kodierten
Datenstrom unter Einbeziehung der verdichteten programmspezifischen
Informationen auf dem Medium 105.
-
Die
Architektur von 13 ist
nicht ausschließend.
Andere Architekturen können
gemäß den Prinzipien
der Erfindung abgeleitet werden, um dieselben Ziele zu erreichen.
Ferner können
die Funktionen der Elemente des Dekodierers 100 in 13 insgesamt oder teilweise
innerhalb der programmierten Instruktionen eines Mikroprozessors ausgeführt werden.
Außerdem
können
die Prinzipien der Erfindung bei jeder Form von mit MPEG kompatiblen
oder mit MPEG nicht kompatiblen elektronischen Programmführern angewendet
werden. Ein gemäß den Prinzipien
der Erfindung gebildeter Datenstrom kann zum Beispiel bei einer
Viel zahl von Anwendungen benutzt werden, die Video-Server oder PC-Typ-Kommunikation über Telefonleitungen einschließen. Ein
Programm-Datenstrom
mit einer oder mehreren Komponenten aus Video-, Audiosignalen und
Daten, der gebildet wird, um programmspezifische Informationen gemäß den erfindungsgemäßen Prinzipien
einzubeziehen, kann auf ein Speichermedium aufgezeichnet und übertragen
oder neu zu anderen Servern, PCs oder Empfängern gesendet werden. Die
Schlüsselelemente
der hier beschriebenen Datenstruktur können vorteilhafterweise für die Übermittlung
von programmergänzenden
Informationen in einer breiten Vielzahl von Daten-Transport-Strukturen
verwendet werden, die dazu benutzt werden können, Programminhalte oder
Programmführer-Informationen
zu liefern. Solche Transport-Strukturen können z. B. MPEG, PSI, Internet TCP/IP
(Transport Control Protocol/Internet Protocol), DSS (Digital Satellite
System), ATM (Asynchronous Transfer Mode) usw. enthalten.