-
Sachgebiet
der Erfindung
-
Die Erfindung bezieht sich auf das
Gebiet der digitalen Signalverarbeitung und insbesondere auf Programm-Führer für Kanäle und Programme.
-
Hintergrund
der Erfindung
-
Die Bildung und Verarbeitung von
großen Programm-Führern, die
Informationen übermitteln, die
potentiell Tausende von Rundfunkprogramm-Kanälen betreffen, die einen breiten
geografischen Bereich abdecken, führt zu einer Anzahl von Problemen.
Der abgedeckte geografische Bereich kann zum Beispiel die gesamte
USA oder ganze Kontinente umfassen, und es müssen große Mengen an Informationen
erfasst, zusammengestellt, kodiert und in einem Format gesendet
werden, das die anschließende
Dekodierung des gesendeten Materials erleichtert. Die erforderliche
Bandbreite zur Verarbeitung solch großer Informationsmengen expandiert
im Verhältnis
zur Menge der verarbeiteten Informationen. Daher besteht ein Bedarf,
Programm-Führerdaten
zu strukturieren, um die Ausnutzung der verfügbaren Bandbreite zu optimieren.
-
Das Maß, um das die Programm-Führer-Datenstruktur
optimiert werden kann, ist durch die Kosten einer Dekodiereinheit
zum Empfang der strukturierten Daten beschränkt. Tatsächlich muss ein Kompromiss
zwischen der Übertragungs-Bandbreite
und der Kompliziertheit des Dekodierers geschlossen werden. Bei
einem Extrem des Kompromisses werden alle doppelten und redundanten
Datenelemente in den Programm-Führer-Informationen
beseitigt, um die erforderliche Übertragungs-
und Verarbeitungs-Bandbreite zu minimieren. Als Ergebnis muss jeder
Dekodierer Informationen aus einem vollständigen Programm-Führer-Datenstrom
empfangen, puffern, analysieren und zusammenstellen, wodurch ein komplizierter
und teurer Dekodierer erforderlich wird.
-
Bei dem anderen Extrem des Kompromisses werden
die Programm-Führer-Informationen
in individuelle Untergruppen unterteilt, die auf die Erfordernisse
eines bestimmten Benutzers oder einer Gruppe von Benutzern zugeschnitten
sind. Dies bedeutet, dass jeder Dekodierer gezielte Informationen
empfangen, puffern, analysieren und zusammenstellen muss, die eine
minimale Redundanz enthalten, die die Verwendung eines einfacheren ökonomischeren Dekodierers
erleichtern, der weniger Verarbeitungsleistung erfordert. Eine solche
Unterteilung erfordert jedoch eine größere Übertragungs-Bandbreite zur Anpassung
an die erhöhte
Informations-Redundanz, was zu der Notwendigkeit führt, dass
doppelte Programm-Führer-Informations-Merkmale in mehrere unterschiedliche
Programm-Führer-Untergruppen einbezogen
werden müssen,
die unterschiedlichen Unterteilungen entsprechen. Die Probleme bei
der Verarbeitung großer
Mengen an Programm-Führer-Informationen
und zur Erzielung eines gewünschten
Kompromisses zwischen Übertragungs-Bandbreite
und Kompliziertheit des Dekodierers werden von einem System gemäß der vorliegenden
Erfindung angesprochen. Abgeleitete Probleme bei der Strukturierung
und der Unterteilung von Programm-Führerdaten zur Erleichterung
sowohl der Dekodierung als auch der auswählbaren Programm-Führer-Erzeugung
durch einen Dekodierer werden ebenfalls durch ein System gemäß der vorliegenden
Erfindung angesprochen.
-
Das Dokument WO 97/032702 betrifft
ein Verfahren zum Senden und Empfangen einer elektronischen Datenbasis,
zum Beispiel eines elektronischen Fernsehprogramm-Führers. Die
Datenbasis enthält
eine Mehrzahl von Programm-Einzelheiten. Die Menü-Struktur macht es möglich, zur Datenbasis auf verschiedenen
Wegen Zugriff zu nehmen, wobei sich die gesendeten Menüs auf Programm-Einzelheiten
beziehen.
-
Das Dokument WO 97/30549 beschreibt
ein System zum Herunterladen verschiedener Versionen von Software-Modulen
in Terminals, die Schnittstellen mit unterschiedlicher Kompatibilität haben.
Eine Herunterladungs-Quelle enthält
eine Deskriptor-Tabelle, die jede Modul-Version einer Liste von
kompatiblen Erfordernissen zuordnet, die zum Herunterladen des Moduls
benötigt
werden. Jedes Terminal zieht die Deskriptor-Tabelle heraus, und bestimmt, beruhend
auf einer Anpassung zwischen einem Eintrag in die Deskriptor-Tabelle
und einer intern gespeicherten Tabelle, welche Version der Software
heruntergeladen werden sollte.
-
Zusamenfassung der Erfindung
-
Die Erfindung ist in den beigefügten Ansprüchen ausgeführt. Ein
Dekodierer erfasst ein Verzeichnis von Objekt-Dateien, die Programm-Führer-Informations-Einzelheiten
zugeordnet sind, und einen Plan, um die Objekt-Dateien (die zum
Beispiel Kanal-, Programm- oder Steuerinformationen oder Software
darstellen) den Programm-Führer-Einzelheiten
zuzuordnen. Der Dekodierer erstellt ein Bildobjekt aus einer Objekt-Datei
und verknüpft
das Bildobjekt mit einer Programm-Führer-Informations-Einzelheit.
Der Dekodierer führt
ein Anwendungs-Software-Objekt aus, um einen speziellen Programm-Führer für eine Anzeige
zu bilden und führt ein
weiteres Anwendungs-Software-Objekt aus, um einer Vorrichtung zu
befehlen, ein Programm zu verarbeiten, das in dem Programm-Führer aufgelistet ist.
-
Kurze Beschreibung
der Zeichnungen
-
In den Zeichnungen stellen dar:
-
1 ein
sehr großes
hierarchisches Programm-Führer-(VLPG)-Datei-Tabellen-Format
gemäß der Erfindung
für die
Verwendung bei der Übertragung
von programmspezifischen Informationen.
-
2 ein
Haupt-Führungs-Tabellen-(MGT)-Format
gemäß der Erfindung
zur Verwendung bei der Übertragung
programmspezifischer Informationen.
-
3 ein
Kanal-Informations-Tabellen-(CIT)-For-mat gemäß der Erfindung zur Verwendung
bei der Übertragung
von programmspezifischen Informationen, die eine auf Bereichen beruhende
Unterteilung beinhalten.
-
4 ein
Multimedia-Objekt-Datenstruktur-Format gemäß der Erfindung, das eine auf
Bereichen und Zeit beruhende Unterteilung beinhaltet.
-
5, 6 und 7 Beispiele gemäß der Erfindung von Datenstrukturen
für Kanal-,
Ereignis- und Steuerobjekt-Basis-Informations-Dateien.
-
8 eine
Datenstruktur für
ein mit MPEG kompatibles Karussell Id (wie in den Tabellen von 5, 6 und 7 verwendet),
das Identifizierer-Felder enthält, die
eine auf Bereich und Zeit beruhende Unterteilung erlauben.
-
9 ein
erfindungsgemäßes Haupt-Datenbasis-Tabellen-Datenstruktur-Format,
das auf Hierarchie beruhende Versions-Identifizierer und Zellen-Unterteilungs-Identifizierer
enthält,
die eine dynamische Programm-Führer-Neuverteilung
stützen.
-
10 eine
beispielsweise erfindungsgemäße Datenstruktur
für einen
Zellen-Typ-Indikator (wie in der Tabelle von 9 verwendet), die auf Bereich, Zeit und
Kompliziertheit beruhende Identifizierer-Felder beinhaltet.
-
11 ein
erfindungsgemäßes hierarchisches
Verzeichnis-Format für
eine Objekt-Daten basis, das Kanal-, Ereignis- und Steuer-Unterverzeichnisse
enthält.
-
12 ein
erfindungsgemäßes Verfahren zur
Erzeugung von programmspezifischen Informationen.
-
13 ein
erfindungsgemäßes Blockschaltbild
eines digitalen Video-Empfangsgerätes zum Demodulieren und Dekodieren
von Rundfunksignalen, die VLPG-Informationen enthalten.
-
Ausführliche
Beschreibung der Zeichnungen
-
Rundfunkprogramme, die in digitalem
Format übertragen
werden, werden kodiert und zusammen mit zusätzlichen Informationen gesendet,
die programmspezifische Informationen (PSI) enthalten, die bei der
Dekodierung von Programmen und zugeordneten Daten verwendet werden.
Programmspezifische Informationen enthalten Programm-Führer-Daten
und Informationen zur Verwendung bei der Identifizierung und Zusammenstellung
von individuellen Datenpaketen, um den Inhalt von ausgewählten Programm-Kanälen wiederzugewinnen.
Programmspezifische Informationen und zugeordneter Programm-Inhalt
werden vorteilhafterweise so strukturiert, dass große Programm-Führer übertragende
Informationen übertragen
werden, die potentiell Tausende von Rundfunkprogramm-Kanälen und
zugeordneten Multimedia-Objekten betreffen, die einen weiten geografischen
Bereich wie zum Beispiel ganze Kontinente, Länder oder Staaten abdecken.
Die Multimedia-Objekte enthalten Audio-Clips, Video-Clips, Animation,
Standbilder, Internet-Daten, E-mail-Nachrichten, Text und andere
Arten von Daten. Multimedia-Objekte sind Datenobjekte, die als unabhängige Einheiten
betrachtet werden können und
Bildern innerhalb individueller Programme oder Programm-Führer-Komponenten
zugeordnet sind. Die Multimedia-Objekte
sind in zusammengesetzten Video-Bildern enthalten, die zum Beispiel
einen Programm-Führer
oder ein Video-Programm darstellen. Die zusätzliche Informations-Daten-Struktur
stützt uni-direktionale
Kommunikations-Anwendungen, z. B. passive Betrachtung, und bi-direktionale
Kommunikations-Anwendungen, z. B. Funktionen vom interaktiven Typ
und auch Speicher-Anwendungen.
-
Die programmspezifischen Informationen und
der zugeordnete Programm-Inhalt können durch verschiedene Service-Betreiber über das
Internet in einer Rundfunk/Mehrfach-Übertragungs-Betriebsart oder über terrestrichen,
Satelliten- oder Kabel-Rundfunk auf einer Subskriptions-Basis oder
einer anderen Pay-per-View-Basis geliefert werden. Diese Datenstruktur
erleichtert die Erfassung und Kodierung von Multimedia-Objekten,
die in unterschiedlichen Daten-Formaten kodiert sind, und die in
unterschiedlichen Kommunikations-Protokollen von sowohl örtlichen
als auch entfernten Quellen kommunizieren.
-
Nachfolgend sind Daten, die als mit
MPEG kompatibel bezeichnet werden, in Einklang mit der MPEG2-(Moving
Pictures Expert 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 übertragen
werden (gemäß Abschnitt
2.4.4 der MPEG-System-Norm) oder sie können in einem Format übertragen
werden, das mit dem Program and System Information Protocol for Terrestrial
Broadcast and Cable kompatibel ist, das von dem Advanced Television
Systems Committee (ATSC) am 10. November 1997 veröffentlicht
wurde, nachfolgend als PSIP-Norm bezeichnet, oder in andere ATSC-Normen. Ferner können die
Datenstruktur-Elemente gemäß anderen
MPEG-Normen, z. B. gemäß der MPEG-4-
oder der MPEG-7-Norm gebildet werden, oder gemäß den geschützten oder kundenspezifischen
Erfordernissen eines bestimmten Systems.
-
Die Prinzipien der Erfindung können bei
terrestrischen, Kabel-, Satelliten-, Internet- oder Computer-Netzwerk-Rundfunksystemen
angewendet werden, bei denen der Kodier-Typ oder das Modulations-Format
geändert
werden kann. Solche Systeme können
zum Beispiel mit MPEG nicht kompatible Systeme enthalten, die andere
Arten von kodierten Datenströmen
und andere Verfahren zur Übertragung
von programmspezifischen Informationen beinhalten. Obwohl das offenbarte
System für
die Verarbeitung von Rundfunkprogrammen beschrieben wird, ist dies
ferner nur ein Beispiel. Der Begriff „Programm" wird verwendet, um jede Form von paketisierten
Daten darzustellen, z. B. Audio-Daten, Telefon-Nachrichten, Computer-Programme, Internet-Daten
oder andere Kommunikationen.
-
1 zeigt
einen Überblick über ein
sehr großes
Programm-Führer-(VLPG)-Datei-Tabellen-Format
für die
Verwendung in einer Transportstrom-Pegel-Datenstruktur, die programmspezifische Informationen überträgt. Diese
Struktur umfasst mehrere hierarchisch angeordnete und untereinander
verknüpfte
Tabellen. Die Tabellen bestehen aus Gruppen von Daten und Parametern,
die zum Aufzählen
und Beschreiben von Ansammlungen oder Sequenzen von TV-Kanälen, TV-Programmen,
Kanal-Parametern, Programm-Parametern,
zugeordneten Multimedia-Objekten und Objekt-Parametern und so weiter verwendet werden.
Die beispielsweise hierarchische Tabellen-Anordnung von 1 enthält eine Haupt-Führer-Tabelle (MGT) 120,
eine Haupt-Datenbasis-Tabelle (MDBT) 122, eine Inhalts- und
Klassifikations-Tabelle (CCT) 114, eine System-Zeit-Tabelle
(STT) 116 und eine Bewertungs-Regions-Tabelle (RRT) 118. Die Hierarchie
von 1 zeigt auch terrestrische,
Kabel- und Satelliten-Kanal-Informations-Tabellen (TCIT-Einzelheit 112 bzw. CCIT-Einzelheit 110 und
SCIT-Einzelheit 108)
in denen Kanal-Informationen durch Netz-Betreiber zusammengestellt werden, z.
B. CBS, NBC, HBO, Comcast usw. Zusätzliche Tabellen enthalten Plan-Informations-Tabellen
(SIT 106, SIT 104 und SIT 102), in denen
Programme oder Dienste durch die Quelle zusammengestellt werden.
-
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 vom Benutzer
ausgewählten
Programmkanal zu empfangen. Eine SIT enthält beschreibende Listen von
Programmen (Events), die auf Kanälen
zu empfangen sind, die in der CIT aufgelistet sind. Entweder kann eine
CIT, eine SIT oder eine andere Tabelle verwendet werden, um Informationen
zu übermitteln,
die einen Benutzer in die Lage versetzen, ein bestimmtes Programm
auszuwählen
und abzustimmen. Eine CIT wird üblicherweise
verwendet, um Parameter zum Erfassen von audiovisuellen Programminhalt-Daten zu übermitteln,
die über
mehrere Events (TV-Programme) konstant bleiben. Eine SIT wird üblicherweise
verwendet, um Parameter von audiovisuellen Programminhalt-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 innerhalb von Deskriptor-Informations-Elementen übermittelt.
-
Um Daten ausreichend für einen
großflächigen Programm-Führer anzupassen,
sind individuelle Tabellen in der Hierarchie von 1 vorteilhafterweise durch sowohl einen
Bereich, z. B. einen geografischen, Sende- oder Netzwerk-Markt-Bereich
als auch durch geplante Sendezeit unterteilbar. Außerdem können die
Tabellen-Daten zusätzlich gemäß einem
dritten Parameter, z. B. dem Kompliziertheits-Grad der Daten oder
eines Multimedia-Objekts unterteilt werden, um z. B. die Skalierbarkeit
bei der Dekodierung zu erlauben. Dieser Typ von Programm-Führer-Unterteilung wird
durch die dreidimensionalen Zellen dargestellt, die im Diagramm 100 gezeigt
sind. Tatsächlich
unterstützt
die VLPG-Struktur von 1 virtuell
jede Art von Unterteilung, die ein Führer-Betreiber benötigen könnte. Die
auf Bereich und Zeit beruhende Unterteilung wird durch Einbeziehung
von sowohl Zeit- als auch Bereichs-Indentifizierern in einer oder
mehreren der Tabellen von 1 und
in zugeordneten Objektdaten erzielt. Der Vorteil der Einbeziehung
von Bereichs- und
Zeit-Unterteilungs-Indentifizierern in dem Transport-Pegel des Kommunikations-Protokolls
in dieser Weise besteht darin, dass sie die Verarbeitungslast (z.
B. zum Analysieren der Daten) in einem Dekodierer vermindert, die
sonst auftreten würde,
wenn die Unterteilung auf einer höheren Ebene vorgenommen wird,
z. B. der Anwendungs-Schicht-Ebene. Als Ergebnis wird die Programm-Fü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 Bereichs-Identifizierer sowohl für die Tabellen-Daten als auch
für die
Objekte gegebenenfalls bei solch einer höheren Ebene einzubeziehen.
-
Bei der Übertragung und Verarbeitung
eines Programm-Führers
wächst
das Bandbreiten-Erfordernis mit der Menge von Kanal- und Programm-Informationen
und der Zahl von zugeordneten Objekten, die übertragen werden müssen. Für einen
großen
Programm-Führer
kann selbst ein einfacher Fall die Übertragung von Tausenden von
Einzelheiten von Informationen und Objekten erfordern. Ein einfacher
Programm-Führer
kann weder Bilder, noch Audio- oder 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,
die Programm-Führer-Informationen ohne Redundanz
und ohne Unterteilung in eine einzelne Bin- oder Daten-Datei zu
senden. In einem solchen Fall und bei Fehlen von Transport-Ebenen-Unterteilungen
enden die Textbeschreibungen (zum Beispiel) in einer einzigen Daten-Datei). Dies bedeutet
zum Beispiel, dass ein Dekodierer in San Diego alles Material (Event-Textbeschreibungen,
Bilder oder irgendwelche anderen Objekte) von all den anderen Städten in
den USA empfängt
und unfähig
ist, nutzloses Material auf der Transport-Ebene auszurangieren. Demzufolge
ist es bei Fehlen von Transport-Ebenen-Unterteilungen für einen
Dekodierer notwendig, empfangene Programm-Führer-Informationen auf der
Anwendungs-Ebene
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 sieht vorteilhafterweise
die Option der Verwendung von auf Bereichen beruhender Unterteilung
auf der Transport-Schicht-Ebene vor. Programm-Führer-Informationen
können
z. B. in einen östlichen
Bereich, einen mittleren Bereich, einen Gebirgsbereich und einen Pazifik-Bereich unterteilt
werden. Dann würde
ein Dekodierer in San Diego nicht mehr Programm-Führer-Informationen
aus den anderen drei Bereichen empfangen müssen. Daher vermindert eine
solche Unterteilung beträchtlich
die Analysierungs- und Filterungslast für einen Dekodierer, und kleinere
Unterteilungen (z. B. auf einer Basis von Land zu Land) vermindern
die Analysierungs- und Filterungslast weiter. Ein anderer Vorteil
einer solchen Unterteilung besteht darin, dass die zum Herunterladen
von anwendbaren unterteilten Programm-Führer-Informationen benötigte Zeit
vermindert wird.
-
Die Unterteilung von Programm-Führer-Informationen
beinhaltet jedoch die Einführung
von redundanten Programm-Führer-Daten,
weil eine solche Unterteilung die Verdoppelung von Daten-Einzelheiten
erfordert. Wenn beispielsweise ein Basketballspiel in den Pazifik-
oder Gebirgs-Bereichen über Rundfunk
gesendet wird, dann müssen
zwei Kopien von zugeordneten, Text beschreibenden Informationen übertragen
werden, eine Kopie für
jede der Unterteilungen mit dem Ziel der pazifischen und Gebirgs-Region.
Man sieht, dass bei Zunahme der Zahl von Unterteilungen die Menge
von redundanten Informationen ebenfalls 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 es nur eine Unterteilung gibt, gibt es keine Redundanzen, und
daher ist die Bandbreite minimal, aber die Filterungslast ist größer, da
alle Programm-Führer-Informations-Einzelheiten
analysiert werden müssen.
-
Zeit- und Flächen-Zellen können in
einer mit MPEG-2 kompatiblen Datenstruktur durch Verwendung der
MPEG-2 PSI und DSM-CC-Felder verzeichnet werden. Nicht alle Tabellen
müssen
auf Bereichen beruhende Identifizierer enthalten. Programminhalt-Bewertungen sind
beispielsweise typisch überall
in den USA anwendbar. In 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 von verfügbaren Kanälen) für einen
Service-Betreiber und hängt
von dem geografischen Bereich ab, der durch den Service-Provider
abgedeckt wird. Die Kanal-Aufstellung für terrestrichen
Rundfunk in Indianapolis unterscheidet sich beispielsweise von der
Kanal-Aufstellung für einen
Kabel-Betreiber in Philadelphia. Bei dem System von 1 hängt
die MGT auch von dem geografischen Bereich ab, aber dies muss nicht
sein.
-
Die Fähigkeit der Ausführung von
gebündelten
Zielen von Programm-Führer-Informationen
an bestimmte Hörerkreise
ist ein Vorteil, der von der Möglichkeit
abgeleitet wird, feine auf Bereichen beruhende Unterteilungen von
Kanal-Aufstellungen auf der Rundfunk-Marktebene vorzunehmen. Um
dies zu erreichen, werden unterschiedliche Tabellen-„Instanzen" erstellt. Eine Tabellen-Instanz
ist eine Version einer Tabelle, die auf einen bestimmten Marktbereich zielt
und einen Bereichs-Identifizierer beinhaltet, um den verwendbaren
Marktbereich zu identifizieren. Es können mehrere Instanzen einer
einzigen Tabelle gemeinsam übertragen
werden, wobei jede unterschiedliche Informationen trägt. Verschiedene
Tabellen-Instanzen werden unter Verwendung des „Tabellen_id_Ausdehnungs-„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
von programmspezifischen Informationen und beinhalten ein Tabellen-id
Ausdehnungs-Feld zur Marktbereichs-Identifizierung. In der MGT von 2 und in der CIT von 3 wird dieses Marktbereichs-Identifizierungs-Feld
als „Netzbetreiber" bezeichnet und ist
in der MGT-Datenstruktur als Einzelheit 130 und in der
CIT-Datenstruktur als Einzelheit 140 dargestellt. Das Netzbetreiber-Bereichs-Identifizierungs-Feld
ist ein 16-Bit-Feld, das dazu verwendet wird, eindeutig einen Netzbetreiber
zu identifizieren. Die Bedeutung des Netzbetreibers hängt von
dem Übertragungsmedium
ab. Genauer gesagt ist für
terrestrischen Rundfunk ein Netzbetreiber eine Sammlung von Stationen
innerhalb eines geografischen Bereichs, für Kabelrundfunk ist ein Netzbetreiber
ein örtlicher
Kabelservice-Betreiber und für
Satelliten-Rundfunk ist ein Netzbetreiber ein Satelliten-Service-Betreiber.
-
Die Datenstruktur von 1 erlaubt vorteilhafterweise,
dass unterschiedliche Arten von programmspezifischen und Programm-Führer-Informationen
auf unterschiedliche Bereiche gezielt werden. Dieses Merkmal erlaubt
Flexibilität
bei der Auswahl eines akzeptablen Kompromisses zwischen der Dekodierer-Kompliziertheit und
der Verarbeitungs-Bandbreite, die beim Senden und Empfangen von
Programm-Führer-Daten
betroffen sind. Beispielsweise kann es akzeptabel sein, Multimedia-Objekte
in gröbere
Bereiche als Kanal-Aufstellungs-Informationen zu unterteilen. Die
Datenstruktur von 1 gibt
den Führer-Betreibern die Möglichkeit,
unterschiedliche Arten von Daten in unterschiedlichen Bereichs-Abstufungen
zu unterteilen, die von groben Bereichen zu feinen Bereichen reichen
(z. B. Bereichen so groß wie
Länder,
Staaten oder Grafschaften bis zu Bereichen so fein wie Städte, Innenstädte, Innenstadtblöcke oder
sogar einzelne Abnehmer).
-
Ferner können Programm-Führer-Informationen
in einem Dekodierer zusammengestellt werden, um einem Benutzer eine
Wahl zwischen Programm-Führern
für unterschiedliche
Bereiche zu liefern (z. B. zwischen zwei benachbarten Bereichen oder
eine Wahl von Führern
aus irgend einem der verfügbaren
Bereiche) oder für
unterschiedliche Dauer von Sendezeit. Als solches kann ein Programm-Führer in
einem Dekodierer aus einem oder mehreren verfügbaren Programm-Führern, die
unterschiedlichen Bereichen zugeordnet sind, in Abhängigkeit
von einem Benutzer-Auswahl-Eingang über eine
Fernbedienungs-Einheit oder eine andere Daten-Eingabevorrichtung ausgewählt werden.
Bei Ausführung
einer solchen Auswahl vergleicht ein Dekodierer eine Bereichs-Identifizierungs-Bezeichnung (die
empfangenen Programm-Führer-Informationen zugeordnet
sind) mit einer zuvor gespeicherten Bereichs-Identifizierungs-Bezeichnung,
die den Dekodiererort darstellt. Eine solche Bereichs-Identifizierungs-Bezeichnung kann
eine Postleitzahl, ein Telefon-Vorwahl-Code oder irgend ein anderer
Bereichs-Identifizierungs-Code sein.
-
4 zeigt
ein Multimedia-Objekt-Datenstruktur-Format zum Übermitteln von Objekten innerhalb
einer VLPG. Die Multimedia-Objekt-Datenstruktur
stützt
eine auf Bereichen und Zeit beruhende Unterteilung durch die Verwendung
von Bereichs- und Zeit-Identifizierungs-Feldern innerhalb eines
mit MPEG DSM-CC kompatiblen Karussell-Identifizierers (Einzelheit 150 in 4).
-
5, 6 und 7 zeigen Beispiele der Datenstruktur
von Objekten, die Kanal-, Ereignis- bzw. Steuerobjekte umfassen.
Genauer gesagt zeigt 5 eine
binäre
Kanal-Basis-Informations-Datei (Kanal
BIF). 6 zeigt eine binäre Ereignis-Basis-Informations-Datei
(Event BIF), und 4 zeigt eine
binäre
Steuer-Basis-Informations-Datei (Steuer BIF). In gleicher Weise
wie 4 enthalten die
Kanal-, Ereignis- und Steuer-Objekt-Daten von 5 bis 7 Bereichs-
und Zeit-Identifizierungs-Felder
innerhalb von mit MPEG DSM-CC kompatiblen Karussell-Id-Identifizierern
(Einzelheiten 150, 157 bzw. 159 in 5–7).
-
Die Einzelheit 152 in 8 zeigt eine beispielsweise
Karussell-Id-Datenstruktur für
ein mit MPEG kompatibles Karussell Id (wie es in den Tabellen von 4, 5, 6 und 7 verwendet wird). Das Karussell-Id
enthält
einen 16-Bit-Verzeichnis-Einzelheiten-Identifizierer
für die
Verwendung als Daten-Basis-Bezug, einen 8-Bit-Zeit-Identifizierer
und einen 8-Bit-Bereichs-Identifizierer.
Diese Felder ermöglichen
einem Dekodierer selektiv Programm-Führer-Daten auf der Basis von
Bereichs- und Zeit-Unterteilungen zu filtern.
-
In der VLPG-Datenstruktur von 1 wird eine Haupt-Daten-Basis-Tabelle (MDBT-Einzelheit 122)
verwendet, um Programm-Führer-Unterteilungen
(Zellen) zu definieren und einen Dekodierer über die Zellen zu informieren,
die an ihrem Ort zur Dekodierung zur Verfügung stehen. 9 zeigt eine Haupt-Daten-Basis-Tabellen-Datenstruktur,
die hierarchisch angeordnete Versions-Identifizierer und Zellen-Unterteilungs-Identifizierer
beinhaltet, die vorteilhafterweise eine dynamische Programm-Fü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 als „Zellen-Typ" bezeichnete Feld
(Einzelheit 172) einen Index einer Zelle, wie in 10 dargestellt ist.
-
Die Einzelheit 179 in 10 zeigt eine beispielsweise
Datenstruktur für
einen Zellen-Typ-Indikator. Der Zellen-Typ-Indikator enthält einen 8-Bit-Kompliziertheits-Grad-Identifizierer, der
dazu verwendet wird, einen Kompliziertheits-Grad eines Objekts zu definieren. Der
Zellen-Typ-Indikator enthält
auch einen 8-Bit-Bereichs-Identifizierer und einen 8-Bit-Zeit-Identifizierer
zum Definieren von auf Bereichen und Zeit beruhenden Unterteilungen.
-
Ein individuelles Objekt- oder Programm-Führer-Informations-Merkmal enthält ein Karussell-Id
(wie in 8 definiert
und als Einzelheit 150 in 4 dargestellt),
um das Objekt mit einem Zeit- und Bereichs-Index seiner Mutter-Zelle
zu verknüpfen.
Die dynamische Programm-Führer-Neu-Unterteilung
wird durch Neu-Anordnung der Zellenliste in der MDBT und durch dynamische Änderung
in den Mutter-Zellen-Zeit- und Bereichs-Index-Identifizierern innerhalb eines
Karussell-Id erzielt. Demzufolge ist ein Führer-Betreiber in der Lage, dynamisch
eine Programm-Führer-Datenstruktur
neu zu unterteilen, um eine Anpassung an Änderungen in der verfügbaren Übertragungs-Bandbreite oder an die
Dekodierer-Kompliziertheit zu erzielen. Ein Führer-Betreiber kann feinere
Unterteilungen verwenden, um schnellere Objekt-Filterzeiten vorzusehen, wenn
eine erhöhte
Bandbreite verfügbar
wird, oder er kann gröbere
Unterteilungen verwenden, um an Bandbreite zu sparen, wenn die Dekodierer-Verarbeitungs-Fähigkeiten
sich verbessern. Als solches kann ein Dekodierer in San Diego heute
Zugriff zu Programm-Führer-Informationen haben,
die Bereichen 0 und 7 zugeordnet sind, während zukünftig der Kodierer Zugriff
zu Programm-Führer-Informationen erhalten
kann, die den Bereichen 0 und 9 zugeordnet sind, was zum Beispiel
eine feinere Unterteilung widerspiegelt. Zukünftig ist es ohne weiteres
möglich, einen
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 Verzeichnis-Format für eine Objekt-Datenbasis, die
Objekt-Dateien unter Kanal-, Ereignis- und Steuer-Unter-Verzeichnissen enthält. 11 zeigt, dass ein besonderes
Ereignis, wie zum Beispiel „Event
2" sein eigenes
Verzeichnis haben kann, das seine erforderlichen Dateien enthält, z. B.
hat „Event
2" vier zugeordnete
Objekte (Einzelheiten 240, 242, 244 und 246 in 11). Unter Verwendung der
Objekt-Datenbasis wird eine auf einem Verzeichnis beruhende Adresse in
Transport-Pegel-Felder zur Verarbeitung eingetragen. Bei einem gegebenen
Weg wie zum Beispiel /VLPG/TIME1/AREA1/events/event2/event. bif, (Weg
durch Verzeichnis-Einzelheitenm 220, 224, 228, 232, 238, 242 von 11) gibt es zum Beispiel ein
und nur ein Objekt mit einem bestimmten Karussell-Id und Modul-Id.
In diesem Fall findet zum Beispiel die folgende Eintragung Anwendung:
/VLPG → Dateien
herausgezogen aus VLPG-Objekt-Daten-Basis
/TIME1 → 0x01 (Zeit variabel)
/AREA1 → 0x01 (Bereich
variabel)
/Events/event2 → 0x3005
(Verzeichnis-Nummer variabel).
-
Daher wird die Datenbasis-Adresse
in ein Karussell Id von 0x01013005 eingetragen. Ferner hat das event.bif
(Einzelheit 242) einen Mudul Id, der aus den Programm-Führer-Informationen
bestimmt werden kann (z. B. als Wert Ox0002 in diesem Beispiel). Die
inverse Eintragung aus Transport-Pegel-Feldern in eine auf einem
Verzeichnis beruhende Adresse ist auch eindeutig und kann in gleicher
Weise abgeleitet werden.
-
Die in 11 dargestellte
Verzeichnis-Struktur stützt
die Operation von Software zum Verarbeiten und Zusammenwirken mit übertragenen
Objekten. Die Verarbeitungs-Software kann zusammen mit Objekten
in Dateiform übertragen
werden und dann interpretiert oder kompiliert und von einem Dekodierer
betrieben werden. Eine solche Verarbeitungs-Software kann für verschiedene
Anwendungen verwendet werden, einschließlich zur vorteilhaften Erstellung
von auf Inhalten beruhenden Programm-Führern in einem Dekodierer in
einer Sprache wie HTML (Hyper Text Mark-up- Language). SGML (Standardized Generalized
Mark-up Language), Java, ActiveX und jeder anderen Dekodierer-gestützten Sprache.
Als Beispiel kann jeden Sonntag ein Führer-Betreiber wünschen,
eine Web-Site vorzubereiten, die alle verfügbaren Sonntags-Filme für die Übertragung
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 übertragen,
die die spezielle Web-Site beschreiben. Die HTML-Dateien werden
irgendwo in der Verzeichnis-Struktur der Objekt-Datenbasis lokalisiert
und erzeugen gemeinsam Bilder, Text, Video- und Audio-Dateien, die
die Sonntags-Film-Führer-Auflistung
bilden, die die spezielle Web-Site umfassen. Als solche wird die
Sonntags-Führer-Web-Site
als Teil einer Objekt-Datenbasis gesendet und hat keinen üblichen
Zugriff von einem Internet-Betreiber. Andere spezielle Programm-Führer-Web-Sites,
die in dieser Weise übertragen
werden können,
können beispielsweise
(a) zum Abspielen verfügbare DVD-VCR-Programme,
(b) andere Internet-Web-Sites,
(c) vorgespeicherte 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-Rundfunk-Web-Site
auslösen, die
in der Objekt-Datenbasis enthalten ist, indem er eine Fernbedienungs-Einheit
oder eine andere Daten-Eingabevorrichtung verwendet, um ein zugeordnetes
angezeigtes Menü-Merkmal
oder ein Anzeige-Symbol auszuwählen,
und er kann in gleicher Weise die Rundfunk-Web-Site navigieren und
die angezeigten Filme überprüfen. Außerdem könnte ein Benutzer
Befehle über
die Web-Site auslösen
wie (a) Programmieren einer VCR- oder DVD-Einheit, (b) Abstimmen
auf einen gewünschten
Kanal oder (c) Zugriff auf andere Internet-Sites zu nehmen, die entweder in gleicher
Weise als Teil der Objekt-Datenbasis gesendet werden, oder auf die
konventionell über Telefon-(oder
Kabel-)-Leitung Zugriff genommen wird. Ferner kann beim Initiieren
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 E-Mail-Adresse und (d) eine
Telefon/Fax/Bildtelefon-Nummer.
-
Die hierarchische Verzeichnis-Struktur
von 11 veranschaulicht
einen anderen Vorteil, der durch die VLPG-Struktur von 1 angeboten wird. Bei einem großen Programm-Führer beinhaltet die Verwaltung
der Aktualisierung von zugehörigen
Tabellen und Objekten die Prüfung
einer großen
Zahl von Versions-Nummern (es können
Tausende von Versions-Nummern betroffen sein). Ein Dekodierer lädt eine
bestimmte Programm-Führer-Tabelle
oder ein Objekt bei Bestimmung einer Änderung der Versions-Nummer
herunter und lässt
jene Tabellen oder Objekte unbeachtet, bei denen keine Änderung
der Versions-Nummern angezeigt wird. Diese Aufgabe kann durch Auflisten
aller Versions-Nummern von Tabellen und Objekten unterstützt werden,
die für
eine Änderung
in einer Tabelle, wie einer MGT, anfällig 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. Das Analysieren jedes Eintrags
in der MGT kann jedoch bei einer großen Führer-Struktur sehr zeitaufwendig werden.
-
Dieses Problem wird durch Verwendung
eines Systems einer hierarchischen Versions-Steuerung angesprochen,
in dem es mehrere Tabellen gibt, die eine Versions-Steuerung ausführen. Diese
Tabellen sind in einer Baumstruktur angeordnet, wie in 11 veranschaulicht ist.
In 11 steuert die Tabelle 238 (event2)
die Version von den 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 (channels), 232 und 236 (control).
Auf diese Weise sind die in jeder Tabelle gespeicherten Versions-Nummer-Informationen
klein, und beim Durchqueren des Baums von oben nach unten ist es
möglich,
schnell diejenigen Dateien, Tabellen oder Objekte zu finden, die
für die
Aktualisierung benötigt
werden.
-
Obwohl oben eine Struktur mit mehreren Ebenen
beschrieben wird, kann auch eine zweischichtige Versions-Steuer-Struktur
für die
Versions-Steuerung von Objekten in der Datenbasis der VLPG von 1 verwendet werden. Bei
dem Beispiel mit zwei Schichten ist die obere Schicht der Baum-Hierarchie
die Haupt-Datenbasis-Tabelle
(MDBT), wie in 9 veranschaulicht.
Die zweite Ebene unterhalb der MDBT-Ebene besteht aus Zellen, die Kanal-,
Event- und Steuer-Basis-Informations-Dateien
umfassen, wie durch die zuvor beschriebenen Datenstrukturen von 5, 6 bzw. 7 dargelegt
wurde. Eine Änderung
in irgendeiner der Kanal-, Event- oder Steuer-Dateien
wird durch eine Änderung
in ihren entsprechenden Versions-Nummern signalisiert, Einzelheit 160 (5), Einzelheit 163 (6) und Einzelheit 167 (7). 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
der Versions-Nummer 176 in
der MDBT von 9 signalisiert.
Wenn als besonderes Beispiel ein Kanal-Logo (das ein Bild in der
Datenbasis ist) sich von einer Version zur anderen ändert, dann
spiegelt der Kanal BIF diese Änderung
in der Einzelheit 160 (5)
wider. 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-Daten-Basis-Tabellen (MDBT) Struktur
von 9 liefert einen
weiteren Vorteil bei der Verarbeitung großer Programm-Führer. Die
Dekodierer-Differenziertheit und die Verarbeitungsleistung sowie
die Fähigkeit
zur Verarbeitung von komplizierten Multimedia-Objekten entfaltet
sich mit der Zeit. Beispielsweise waren 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 Dekompressions-Software verwenden, um JPEG, GIF oder andere
Bild-Formate herunterzuladen, und zukünftige Generationen werden
in der Lage sein, nicht nur Bilder, sondern auch Film-Clips in mehreren
Formaten zu verarbeiten. Demzufolge ist es erwünscht, Programm-Führer-Daten
so zu strukturieren, dass die Dekodierer-Skalierbarkeit unterstützt wird,
d. h. einer Spanne von Dekodierern mit unterschiedlicher Kompliziertheit
zu erlauben, Programm-Führer-Informationen
unter Verwendung des Maßes
an Verarbeitungsleistung zu verarbeiten, mit der sie ausgestattet sind.
Dadurch sind Dekodierer mit niedriger Kompliziertheit in der Lage,
Objekte zu identifizieren, die sie verarbeiten können und Objekte auszurangieren,
die ihre Verarbeitungsmöglichkeiten überschreiten.
Andernfalls können
hochkomplizierte Objekte den Betrieb von Dekodierern mit niedriger
Kompliziertheit durch Verursachung von Puffer-Überlauf oder anderer Probleme
nachteilig beeinflussen.
-
Die MDBT-Datenstruktur von 9 (und 10) unterstützt vorteilhafterweise wirksam
in einer Dekodierer-Einheit eine Multimedia-Objekt-Kompliziertheits-Unterscheidung.
Zu diesem Zweck ordnet die MDBT PID-(Paket-Identifizierer)-Werte
Zellen in der Datenbasis zu. In 9 identifiziert
die Einzelheit 172 eine bestimmte Zelle, und dieser wird
ein PID-Wert durch die Einzelheit 174 zugeordnet. Ferner
definiert die Einzelheit 172 den 24-Bit-Feld-Zellen-Typ,
der die Zeit, den Bereich und die Kompliziertheits-Koordinaten einer
Zelle definiert (siehe 10).
Als solcher wird ein Objekt-Kompliziertheits-Grad-Indikator in ein
mit MPEG-2 kompatibles Transport-Schicht-Feld einbezogen. Dadurch
werden Objekte in der Datenbasis, die zu unterschiedlichen Kompliziertheitsgraden
gehören,
in Strömen übermittelt,
die durch verschiedene PIDs identifiziert werden. Einem Dekodierer
wird ein Kompliziertheits-Grad im voraus zugeordnet, und der Dekodierer
verwendet die MDBT (insbesondere die Einzelheit 172) bei
der Auswahl und Erfassung der PID-Werte für jene Zellen mit Kompliziertheits-Graden
an, die passen oder unterhalb des im voraus zugeordneten Kompliziertheits-Grades
des Dekodierers liegen. Objekte mit einem Kompliziertheits-Grad, der
die Fähigkeiten
des Dekodierers überschreitet, werden
vorteilhafterweise 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 Deskriptoren, die die
vorteilhaften zuvor beschriebenen Merkmale enthalten. Aas Verfahren
kann bei einem Kodierer zum Senden von Programm-Führer-Daten
oder zum Kodieren von Programm-Führer-Daten
innerhalb einer Kodierer-Einheit für die Übertragung zu einer anderen
Vorrichtung verwendet werden.
-
Im Anschluss an den Start beim Schritt 250 von 12 wird beim Schritt 253 ein
Verfahren auf der Basis der zuvor beschriebenen Daten-Struktur-Prinzipien
zur Unterteilung von programmspezifischen Informationen ausgewählt. Die
programmspezifischen Informationen werden gemäß Zeitsegmenten und Bereichen,
Netzwerk-Typen, Kompliziertheits-Graden, Zellen- und Programmen-(Events) unterteilt.
Beim Schritt 255 werden PID-Werte zur Anpassung an die unterteilten
programmspezifischen Informationen zugeordnet. 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 wird eine MGT und eine
MDBT (oder eine andere Art von Steuer-Tabellen) erzeugt, um jene einzuschließen, die
während
der Unterteilungs-Operationen gebildet wurden. Die MGT übermittelt
Informationen für
die Verwendung in der Erfassung von programmspezifischen Informationen,
die in andere 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-, TCIR-, CCIT-, SCIT- und SIT- usw.
-Tabellen gebildet, die in Einklang mit der unterteilten Struktur
sind. Die 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-Identifizierungs-Informationen
enthält,
die die Erfassung von verfügbaren
Rundfunk-Programmen und Kanälen
ermöglichen,
die Paket-Identifizierer zum Identifizieren von individuellen paketisierten
Datenströmen
enthalten, die individuelle Programme bilden, die auf bestimmten
Kanälen übertragen
werden sollen. Ferner wird beim Schritt 260 eine SIT erzeugt,
die Programm-Führer-Plan-Informationen
einschließlich
beschreibender Listen von Programmen (Events) enthält, 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 mit einem gewünschten
Daten-Format und Protokoll kompatibel zu sein. Solche Daten-Formate
und Protokolle enthalten beispielsweise mit MPEG-2 kompatible programmspezifische
Informationen, MPEG-2 DSM-CC, DSS und ein mit 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 eine
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, damit er
für die
terrestrische Übertragung
zu einer anderen Vorrichtung, z. B. einem Empfänger, einem Video-Server oder
einer Speichervorrichtung zum Aufzeichnen auf einem Speichermedium
geeignet ist. Der beim Schritt 270 durchgeführte Prozess
enthält 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. Beim Prozess von 12 können mehrere CIT, SIT und zugeordnete
erweiterte Tabellen gebildet und in die programmspezifischen Informationen
zur Anpassung an erweiterte Kanal-Nummern einbezogen werden. Ferner
können
die Tabellen in anderen Ausführungsformen
in gleicher Weise zum Beispiel für
Satelliten-, Kabel- oder Internet-Übertragung verarbeitet werden.
-
Bei dem Video-Empfängersystem
von 13 wird ein Rundfunkträger, der
mit Signalen moduliert ist, die Audio-, Video- und zugeordnete Daten
tragen, die einen Rundfunk-Programminhalt
darstellen, von einer Antenne 10 empfangen und durch eine
Einheit 13 verarbeitet. Das resultierende digitale Ausgangssignal
wird vom Demodulator 15 demoduliert. Der demodulierte Ausgang
von der Einheit 15 wird durch den Dekodierer 17 trellis-dekodiert,
in Byte-Längen-Datensegmente
eingetragen, entschachtelt und durch den Dekodierer 17 einer Reed-Solomon-Fehlerkorrektur
unterworfen. Die korrigierten Ausgangsdaten von der Einheit 17 sind
in der Form eines mit MPEG kompatiblen Transport-Datenstroms; der
ein Programm darstellende gemultiplexte Audio-, Video- und Daten-Komponenten
enthält.
Der Transportstrom von der Einheit 17 wird durch die Einheit 22 in
Audio-, Video- und Daten-Komponenten demultiplext, die weiter durch
die anderen Elemente des Dekodierer-Systems 100 verarbeitet
werden. Bei einer Betriebsart liefert der Dekodierer 100 gemäß MPEG dekodierte
Daten zur Anzeige und Audio-Wiedergabe auf Einheiten 50 bzw. 55.
Bei einer anderen Betriebsart wird der Transportstrom von der Einheit 17 durch
den Dekodierer 100 verarbeitet, um einen mit MPEG kompatiblen
Datenstrom zur Speicherung auf dem Speicherungs-Medium 105 über die
Speichervorrichtung 90 zu liefern.
-
Ein Benutzer wählt zum Betrachten entweder
einen TV-Kanal (vom Benutzer gewählter
Kanal-SC) oder ein On-Screen-Menü wie
einen Programm-Führer,
durch Benutzung einer Fernbedienungs-Einheit 70. Die Steuereinheit 60 verwendet
die von der Fernbedienungs-Einheit 70 über die Schnittstelle 65 gelieferte
Auswahl-Information, um die Elemente von 13 in geeigneter Weise zu konfigurieren,
um einen gewünschten
Programm-Kanal für
die Betrachtung zu empfangen. Die Steuereinheit 60 umfasst
einen Prozessor 62 und einen Prozessor 64. Die
Einheit 62 verarbeitet (d. h. analysiert, vergleicht und
fügt zusammen)
System-Timing-Informationen und
programmspezifische Informationen, die Programm-Führer-Informationen
enthalten. Der Prozessor 64 führt die verbleibenden Steuerfunktionen
aus, die zum 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,
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
oder zur bidirektionalen Kommunikation über eine Koaxialleitung 14 oder für bidirektionale
(z. B. Internet)-Kommunikation, beispielsweise über die Telefonleitung 11.
In einer analogen Video-Betriebsart wird ein mit NTSC kompatibles
Signal durch die Einheiten 13, 15 und 17 empfangen
und durch den Dekodierer 100 für eine Video-Anzeige und Audio-Wiedergabe
auf 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, wobei Steuer-Register-Werte
innerhalb dieser Elemente unter Verwendung von einem bidirektionalen
Daten- und Steuersignal-Bus C gesetzt werden.
-
Der an den Dekodierer 100 gelieferte
Transportstrom umfasst Datenpakete, die Programm-Kanal-Daten und
zusätzliche
System-Timing-Informationen
und programmspezifische Informationen enthalten, die Programm-Führer-Informationen
einschließen.
Die Einheit 22 liefert die zusätzlichen Informations-Pakete
an die Steuereinheit 60, die diese Informationen analysiert,
vergleicht und in die zuvor beschriebenen hierarchisch angeordneten
Tabellen zusammenfügt
(wie in 1 veranschaulicht).
Individuelle Datenpakete, die den vom Benutzer ausgewählten Programm-Kanal
SC umfassen, werden identifiziert und unter Verwendung der zusammengefügten programmspezifischen
Informationen identifiziert und zusammengefügt. Ferner enthalten die programmspezifischen
Informationen Daten für
bedingten Zugriff, für
Netzwerk-Informationen und Identifizierung und Verknüpfung, die
das System von 13 in
die Lage versetzen, einen gewünschten Kanal
abzustimmen und Datenpakete zusammenzufügen, um vollständige Programme
zu bilden. Die programmspezifischen Informationen enthalten auch Daten,
die die Identifizierung und die Zusammenfügung der zusätzlichen
Informationen unterstü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-Bezugs-Indikator
und zugeordnete Korrektur-Daten, die für einen Dekodierer ausreichen,
um eine Übertragungszeit
eines Programms durch eine Rundfunkquelle zu errichten. Die MGT
enthält
Informationen zur Erfassung von programmspezifischen Informationen,
die in anderen Tabellen übermittelt werden,
z. B. Identifizierern zum Identifizieren von Datenpaketen, die den
anderen Tabellen zugeordnet sind. Die CIT (z. B. TCIT) enthält Informationen
zum Abstimmen und Navigieren, um einen vom Benutzer ausgewählten Programm-Kanal
zu empfangen. Die SIT enthält
beschreibende Listen von Programmen (Events), die auf den Kanälen zu empfangen
sind, die in der CIT aufgelistet sind. Die RRT enthält Programm-Inhalt-Bewertungs-Informationen
z. B. wie die MPAA (Motion Picture Association of America) oder
V-Chip-kompatible
Bewertungs-Informationen, die durch einen Bereich zusammengestellt
werden (z. B. durch ein Land oder einen Staat innerhalb der USA).
Zusätzliche
programmspezifische Informationen, die Einzelheiten innerhalb der
hierarchischen Tabellen beschreiben und ergänzen, werden innerhalb von
Deskriptor-Informations-Elementen übermittelt. Die programmspezifischen
und System-Timing-Informationen, die von der Steuereinheit 60 über die
Einheit 22 erfasst werden, werden innerhalb eines internen
Speichers der Einheit 60 gespeichert. Die Steuereinheit 60 verwendet
die erfassten Programm-Fü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 Transportstrom-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ählten
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.
an den Unter-Bild-Prozessor 30. Die Video- und Audio-Ströme enthalten
komprimierte Video- und Audio-Daten,
die den Programminhalt des ausgewä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
aus der Einheit 22 und liefert dekomprimierte, ein Programm
darstellende Pixeldaten an den NTSC-Kodierer 45 über den
Multiplexer 40. In gleicher Weise dekodiert der Audio-Prozessor 35 die
paketisierten Audio-Daten aus der Einheit 22 und liefert dekodierte
und verstärkte
Audio-Daten, die
mit den zugeordneten dekomprimierten Video-Daten synchronisiert
sind, an die Vorrichtung 55 zur Audio-Wiedergabe. Der Prozessor 30 dekodiert
und dekomprimiert Unter-Bild-Daten, die von der Einheit 22 empfangen
werden.
-
Der Prozessor 30 fügt zusammen,
stellt zusammen und interpretiert RRT-, CCT-, CIT- und Datenobjekte
aus der Einheit 22, um formatierte Programm-Führer-Daten
für den
Ausgang zur OSD 37 zu erzeugen. Die OSD 37 verarbeitet
die SIT-, RRT- und CCT- und
andere Informationen, um Pixel-Mapped-Daten zu erzeugen, die Untertitel-,
Steuer- und Informations-Menü-Anzeigen
einschließlich
auswählbare
Menü-Optionen
und andere Einzelheiten für
die Darstellung auf der Anzeigevorrichtung 50 darstellen.
Die Steuer- und Informations-Menüs,
die angezeigt werden, ermöglichen
einem Benutzer, ein Programm für
die Betrachtung auszuwählen
und zukünftige
Programm-Verarbeitungsfunktionen zu planen einschließlich a)
Abstimmen zum Empfang eines ausgewählten Programms zur Betrachtung,
b) Aufzeichnung eines Programms auf ein Speichermedium 105 und
c) Wiedergabe eines Programms von dem Medium 105.
-
Die von dem OSD-Generator 37 erzeugten Steuer-
und Informations-Anzeigen einschließlich Text und Grafiken werden
in Form von Einblend-Pixel-Map-Daten nach Weisung der Steuereinheit 60 erzeugt.
Die Einblend-Pixel-Map-Daten von der Einheit 37 werden
mit den dekomprimierte Pixel darstellenden Daten aus dem MPEG-Dekodierer 25 im
Kodierer 45 über
den Multiplexer 40 unter Weisung der Steuereinheit 60 kombiniert
und synchronisiert. Die kombinierten Pixel-Map-Daten, die ein Video-Programm
auf dem Kanal SC zusammen mit zugeordneten Unter-Bild-Daten darstellen,
werden durch den NTSC-Kodierer 45 kodiert und zur Vorrichtung 50 für die Anzeige
ausgegeben.
-
Bei einer Speicher-Betriebsart des
Systems von 13 werden
die korrigierten Ausgangsdaten aus der Einheit 17 durch
den Dekodierer 100 verarbeitet, um einen mit MPEG kompatiblen
Datenstrom für
die Speicherung zu liefern. Bei dieser Betriebsart wird ein Programm
zur Speicherung durch einen Benutzer über die Fernbedienungs-Einheit 70 und
die Schnittstelle 65 ausgewählt. Der Prozessor 22 in
Verbindung mit dem. Prozessor 60 bildet verdichtete programmspezifische
Informationen, die MGT-, MDBT-, CCT-, STT-, RRT-, TCIT- und SIT-Daten und Deskriptoren
einschließen,
die die zuvor beschriebenen vorteilhaften Merkmale enthalten. Die
verdichteten programmspezifischen Informationen unterstützen die Dekodierung
des zur Speicherung ausgewählten Programms
aber schließen
beziehungslose Informationen aus. Der Prozessor 60 bildet
in Verbindung mit dem Prozessor 22 einen zusammengesetzten
mit MPEG kompatiblen Datenstrom, der paketisierte Inhalts-Daten
des ausgewählten
Programms und zugeordnete 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 Bit-Raten-Änderungen
in den Daten zu vermindern. Die resultierenden gepufferten Daten
werden durch die Speichervorrichtung 90 verarbeitet, damit
sie für die
Speicherung auf dem Medium 105 geeignet sind. Die Speichervorrichtung 90 kodiert
den gepufferten Datenstrom aus der Schnittstelle 95 unter
Verwendung bekannter Fehler- Kodierverfahren,
z. B. 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, der die verdichteten programmspezifischen
Informationen auf dem Medium 105 enthält.
-
Die Architektur von 13 ist nicht ausschließlich. Andere
Architekturen können
gemäß den Prinzipien
der Erfindung abgeleitet werden, um die gleichen Ziele zu erreichen.
Ferner können
die Funktionen der Elemente des Dekodierers 100 in 13 und die Verfahrensschritte
von 12 insgesamt oder
zum Teil innerhalb der programmierten Instruktionen eines Mikroprozessors
ausgeführt
werden. Außerdem
gelten die Prinzipien der Erfindung für jede Form eines von mit MPEG
oder nicht mit MPEG kompatiblen elektronischen Programm-Führers. Ein gemäß den erfindungsgemäßen Prinzipien
gebildeter Datenstrom kann in zahlreichen Anwendungen benutzt werden,
einschließlich
zum Beispiel Video-Server oder P-Typ-Kommunikation über Telefonleitungen.
Ein Programm-Datenstrom mit einer oder mehreren Komponenten von
Video-, Audio- und Daten, die zur Einbeziehung von programmspezifischen Informationen
gemäß den erfindungsgemäßen Prinzipien
gebildet werden, kann auf einem Speichermedium aufgezeichnet und übertragen
oder neu zu anderen Diensten, PCs oder Empfängern gesendet werden. Die
Schlüssel-Elemente der hier
beschriebenen Datenstruktur können
vorteilhafterweise zur Übermittlung
von zusätzlichen
Programm-Informationen
in einer breiten Vielfalt von Daten-Transport-Strukturen verwendet werden, die dazu
benutzt werden können,
um einen Programminhalt oder Programm-Führer-Informationen zu liefern.
Solche Transport-Strukturen können
zum Beispiel MPEG-PSI,
Internet-TCP/IP (Transport Control Protocol/Internet Protocol),
DSS (Digital Satellite System), ATM (Asynchronous Transfer Mode)
usw. enthalten.