-
HINTERGRUND DER ERFINDUNG
-
1. Bereich der Erfindung
-
Die Erfindung betrifft allgemein
Broadcast-Fernsehsysteme und insbesondere ein System und ein Verfahren
zum Aufzeichnen von gepushtem Dateninhalt, der in einem interaktiven
Fernsehsystem rundgesendet wird.
-
2. Beschreibung der verwandten
Technik
-
Interaktive Fernsehsysteme bieten
ein Mittel zum Weiterleiten von interaktivem Inhalt sowie von gewöhnlichen
Audio- und Videofernsehsignalen zu einer großen Zahl von Teilnehmern. Von
diesen Systemen rundgestrahlte Programme können Fernsehton- und -bild,
Festbilder, Text, interaktive Graphik sowie Anwendungen und viele
andere Komponenten beinhalten. Der interaktive Inhalt des interaktiven Fernsehsignals
kann somit Anwendungscode, Daten in Verbindung mit den Audio- und
Videosignalen, Steuersignale, Rohdaten und viele andere Informationstypen
enthalten. Sowohl der interaktive Inhalt als auch die Audio- und
Videodaten werden Teilnehmern als "gepushte" Daten zugeführt. Das heißt, die
Daten werden den Teilnehmern unabhängig davon zugeführt, ob
sie die Daten angefordert haben oder nicht.
-
Interaktiver Inhalt wie z.B. Anwendungscode oder
Informationen über
Fernsehprogramme werden gewöhnlich
in einem Wiederholungsformat ausgestrahlt. Mit anderen Worten, jede
Information wird ein erstes Mal ausgestrahlt, dann wird jede ein
zweites Mal gesendet usw. Der Zyklus wird wiederholt, so dass jedes
interaktive Datenelement beispielsweise alle zehn Sekunden gesendet
wird. Die Informationen, die auf diese Weise rundgesendet werden,
bilden ein so genanntes "Karussell". Die Sequenz von Informationen,
die das Karussell bilden, kann im Voraus vorbereitet oder "im Vorbeigehen" ermittelt werden.
In einer Ausgestaltung bezieht sich ein Karussell auf ein Bündel von
Datenobjekten, die von einer einzelnen Datenerzeugerquelle kommen.
Es ist zu bemerken, dass sich der Inhalt eines Karussells mit der Zeit ändern kann.
So können
beispielsweise Änderungen
des Karussellinhalts von Updates durch eine Datenerzeugerquelle
herrühren.
Ein einzelnes Karussell wird häufig
als aneinander hängender
Datenstrom transportiert. Es ist jedoch auch möglich, zwei oder mehrere Karussells
in einem einzigen Datenstrom zu multiplexieren.
-
Rundfunksysteme (z.B. interaktive
Fernsehsysteme) übertragen
Informationen in einem Karussellformat, so dass Empfänger in
dem System selektiv bestimmte Informationen in dem Karussell erhalten
können,
ohne dass ein Rückweg
von den Empfängern
zum Server notwendig wäre.
Wenn ein bestimmter Empfänger
eine bestinmte Information benötigt,
dann kann er einfach warten, bis diese Information das nächste Mal
ausgestrahlt wird, und die Informationen dann aus dem rundgesendeten
Datenstrom extrahieren. (Würden
die Informationen nicht zyklisch rundgesendet, dann müsste der
Empfänger die
Informationen beim Server anfordern, was einen Rückweg erfordert.) Andere Empfänger in
dem System können
auf dieselbe Weise arbeiten, wobei jeder Empfänger auf die benötigten Informationen
wartet und dann nur diese Informationen benutzt. Aufgrund der Verwendung
von Karussells zum Rundsenden von Informationen entfällt in dem
System die Notwendigkeit, jeden der Empfänger mit dem Server zu verbinden,
und ferner entfällt
die Notwendigkeit, dass der Server individuelle Informationsanforderungen verarbeitet.
Im Allgemeinen kann ein Rundsendesignal eine Reihe von Programmen
beinhalten, die wiederum eine Reihe von Audio/Video- und/oder Datenströmen beinhalten
können.
Datenströme
können zum Übertragen
von Daten wie z.B. interaktiven Anwendungsdaten, Untertitelinformationen
oder anderen Daten verwendet werden.
-
Die Informationen oder Datenobjekte
in einem Karussell sollen häufig
zu einem einzigen Objektdatenstrom zur Bildung eines Programms kombiniert
werden. Dieses Programm kann auch Streaming-Daten wie Audio oder
Video beinhalten. So kann beispielsweise eine interaktive TV-Spieleshow Fernsehton
und -bild mit interaktivem Inhalt wie z.B. Anwendungscode kombinieren, über den
Benutzer Fragen beantworten können.
Ein weiteres Beispiel wäre
ein Nachrichtenprogramm, das Ton und Bild mit Anwendungscode kombiniert,
der aktuelle Aktienpreise in ein Banner am Fuß des Bildschirms einsetzt.
(Es ist zu bemerken, dass viele Programmtypen möglich sind, und es ist nicht
notwendig, dass in einem bestimmten Programm Audio, Video oder interaktiver
Inhalt enthalten ist. Ein Programm könnte beispielsweise nur Audio
und interaktiven Inhalt (z.B. ein interaktives Radioprogramm) oder
nur interaktive Daten (z.B. ein interaktives Wetterprogramm, das keine
Audio- oder Videoströme
enthält}
enthalten. Jedes Programm ist typischerweise mit einem entsprechenden
Kanal assoziiert, und wenn ein ein bestimmtes Programm enthaltender
Kanal vom interaktiven Fernsehempfänger gewählt wird, dann werden die auf
diesem Kanal rundgesendeten Daten heruntergeladen und das Programm
wird gestartet.
-
Die von dem interaktiven Fernsehsystem ausgestrahlten
Programme können
Komponenten (Datenobjekte) enthalten, die einander ähnlich wie DVD-Programme
oder SMIL-Seiten referenzieren und miteinander interagieren. DVD-Programme
können
z.B. auf verschiedene Datenobjekte zugreifen, die eine kundenspezifische
Wiedergabe eines Programms zulassen. Das Programm kann kundenspezifisch
angepasst werden, so dass es spezifische Sprachen verwendet, bestimmte
Teile des Programms überspringt
(z.B. Videoszenen aufgrund eines elterlichen Eingriffs überspringt),
spezifische Menüs
anzeigt usw. SMIL ist eine Dokumentenauszeichnungssprache, mit der
verschiedene Multimedia-Objekte in eine einzige Darstellung integriert
werden können.
SMIL-Seiten können Objekte
in Datenströmen
referenzieren, diese Objekte manipulieren, Datenströme synchronisieren
usw.
-
In einem Rundfunksystem empfangener
Programminhalt soll normalerweise sofort konsumiert werden. Es ist
jedoch möglich,
diesen Inhalt für
eine spätere
Wiedergabe aufzuzeichnen. Die Aufzeichnung der rundgesendeten Informationen
ist jedoch im Allgemeinen auf die Aufzeichnungen desjenigen Teils
des gepushten Datenstroms begrenzt, der für die sofortige Konsumierung
bestimmt war. Die empfangenen Informationen können zwar umformatiert oder
unpaketiert werden, aber sie werden genauso gespeichert, wie sie
empfangen werden – als
Strom von Daten. Da das Programm aus Datenobjekten bestehen kann,
die miteinander interagieren, kann das Aufzeichnen des Programms
als ein Strom von Daten eine Reihe von Nachteilen haben. Wenn das
Programm beispielsweise "aktuelle" Daten wie Aktiennotierungen
referenziert, dann können
diese Daten veraltet sein, wenn das Programm abgespielt wird. Ferner
kann es, wenn der Programmdatenstrom so aufgezeichnet wird, wie
er ist, schwierig oder sogar unmöglich
sein, Synchronität
und Interaktivität
zwischen den verschiedenen Komponenten des Programms zu bewahren.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Eines oder mehrere der oben umrissenen Probleme
kann können
mit verschiedenen Ausgestaltungen der Erfindung gelöst werden.
-
Gemäß einem Aspekt der vorliegenden
Erfindung wird ein Verfahren bereitgestellt, ausgeführt in einem
interaktiven Fernsehsystem zum Speichern eines gepushten Programms,
das aktuelle Datenobjekte enthält,
wobei das genannte Verfahren die folgenden Schritte umfasst:
Empfangen
eines ersten gepushten Datenstroms, wobei der genannte gepushte
Datenstrom ein Programm beinhaltet;
Konvertieren von wenigstens
einem Teil des genannten gepushten Datenstroms in ein oder mehrere
Datenobjekte;
als Reaktion auf die Erkennung, dass das genannte Projekt
sofort dargestellt werden soll:
Nutzen eines ersten Satzes
der genannten Datenobjekte, die dem genannten Programm entsprechen, um
das genannte Programm sofort darzustellen, wobei der genannte erste
Satz von Datenobjekten nicht-aktuelle Datenobjekte und ein oder
mehrere aktuelle Datenobjekte beinhaltet;
als Reaktion auf
die Erkennung, dass das genannte Programm für eine spätere Wiedergabe gespeichert werden
soll:
Speichern der genannten ersten Datenobjekte des genannten
ersten Satzes auf einem Massenspeichergerät als Reaktion auf die Erkennung,
dass die genannten ersten Datenobjekte nicht-aktuelle Datenobjekte
sind; und
Speichern einer Referenz auf ein zweites Datenobjekt
des genannten ersten Satzes auf dem genannten Massenspeichergerät als Reaktion
auf die Erkennung, dass das genannte zweite Datenobjekt ein aktuelles
Datenobjekt ist.
-
Gemäß einem zweiten Aspekt der
vorliegenden Erfindung wird ein System bereitgestellt, das Folgendes
umfasst:
einen interaktiven Fernsehempfänger, der so konfiguriert ist,
dass er einen ersten gepushten Datenstrom empfängt, wobei der genannte gepushte
Datenstrom ein Programm beinhaltet, und wenigstens einen Teil des
genannten gepushten Datenstroms in ein oder mehrere Datenobjekte
umwandelt;
ein Speichergerät,
das mit dem genannten interaktiven Fernsehempfänger gekoppelt ist;
wobei
der genannte Empfänger
so konfiguriert ist, dass er als Reaktion auf die Erkennung, dass
das genannte Programm sofort dargestellt werden soll, einen ersten
Satz der genannten Datenobjekte nutzt, die dem genannten Programm
entsprechen, um das genannte Programm sofort darzustellen, wobei
der genannte erste Satz von Datenobjekten nicht-aktuelle Datenobjekte
und ein oder mehrere aktuelle Datenobjekte beinhaltet; und
wobei
der genannte Empfänger
so konfiguriert ist, dass er als Reaktion darauf, dass das genannte
Programm für
eine spätere
Wiedergabe gespeichert werden soll, die ersten Datenobjekte des
genannten ersten Satzes auf dem genannten Speichergerät als Reaktion
auf die Erkennung speichert, dass die genannten ersten Datenobjekte
nicht-aktuelle Datenobjekte sind, und eine Referenz auf ein zweites
Datenobjekt des genannten ersten Satzes auf dem genannten Massenspeichergerät als Reaktion
auf die Erkennung speichert, dass das genannte zweite Datenobjekt
ein aktuelles Datenobjekt ist.
-
Eine Ausgestaltung umfasst einen
interaktiven Fernsehempfänger,
der mit einem Speichergerät gekoppelt
ist. Der Empfänger
ist mit einem Rundfunknetz verbunden und so konfiguriert, dass er
ein ein Programm enthaltendes Signal empfängt. Das Signal enthält gepushte
interaktive Fernsehanwendungsdaten. Der Empfänger ist so konfiguriert, dass
er die gepushten Daten in die separaten Datenobjekte parst, aus
denen sich der Datenstrom des Programms zusammensetzt, und die Datenobjekte
auf dem Speichergerät
speichert. Die Datenobjekte können
mit Objekteigenschaften wie zeitlichen Gültigkeitsbereichen, Kennungen,
Versionsnummern und dergleichen gespeichert werden. Datenobjekte,
die aktuelle Daten umfassen (d.h. Daten, die veralten, wenn sie nicht
sofort konsumiert werden), können
einfach als Referenzen auf die Daten gespeichert werden. Der Empfänger kann
so konfiguriert werden, dass er Referenzen auf Datenobjekte erfasst,
die nicht im selben Karussell übertragen
werden wie das Programm (z.B. Referenzen auf Datenobjekte, die im
Karussell eines anderen Programms übertragen werden), und diese
Datenobjekte erhalten und speichern.
-
Eine Ausgestaltung umfasst ein interaktives Fernsehsystem
mit einer Rundfunkstation sowie einem Empfänger wie oben beschrieben.
Die Rundfunkstation kann so konfiguriert werden, dass sie Daten
sendet, die einem Programm entsprechen, das gespeichert und wiedergegeben
werden soll. Diese Daten beinhalten Informationen, die beim Aufzeichnen
und Wiedergeben des Programms nützlich
sind. Die Informationen werden typischerweise nicht mit Programmen übertragen,
die für
die sofortige Konsumierung bestimmt sind. Die übertragenen Daten können eine
Dateitabelle oder ein Verzeichnis umfassen, das die Datenobjekte
identifiziert, die das Programm bilden. Die Dateitabelle kann vom
Empfänger
verwendet werden, um die Datenobjekte zu parsen und zu speichern,
und sie können
zum Abrufen der Datenobjekte verwendet werden, wenn das Programm abgespielt
wird. Die von der Rundfunkstation bereitgestellten zusätzlichen
Informationen können
auch Objekteigenschaften umfassen, die den Datenobjekten entsprechen.
Diese Objekteigenschaften können Versionsnummern,
Referenzen auf andere Datenobjekte sowie ähnliche Informationen in Verbindung
mit den übertragenen
Datenobjekten beinhalten. Die Empfangsstation kann die Objekteigenschaften
zur Zeit der Aufzeichnung nutzen oder die Objekteigenschaften für die spätere Verwendung
speichern, wenn das Programm abgespielt wird.
-
Eine Ausgestaltung umfasst ein Verfahren zum
Aufzeichnen eines Programms, das eine Mehrzahl von Datenobjekten
beinhaltet. Ein Strom von Daten, die Teil eines Programms sind,
werden zu einer Empfangsstation rundgesendet. Der Datenstrom beinhaltet
ein oder mehrere der Datenobjekte. Das Programm kann Datenobjekte
referenzieren, die zuvor von der Empfangsstation cache-gespeichert
wurden. Das Programm kann auch aktuelle Datenobjekte referenzieren,
die für
die sofortige Konsumierung bestimmt sind und danach sofort veralten.
Der Datenstrom kann eine Dateitabelle beinhalten, die den Datenobjekten
des Programms entspricht, sowie Objekteigenschaften, die den Datenobjekten
entsprechen. Wenn der Datenstrom von der Empfangsstation empfangen
wird, dann wird er in die individuellen Datenobjekte geparst. Die
Datenobjekte, begleitende Objekteigenschaften und die Dateitabelle
werden dann als Dateien auf einem Speichergerät gespeichert. Einige Datenobjekte,
die außerhalb
des Programms sind (z.B. Datenobjekte von anderen Karussells), werden
abgerufen und ebenfalls gespeichert. Aktuelle Datenobjekte werden
nicht gespeichert, sondern Referenzen auf diese Datenobjekte werden
gespeichert, so dass dann, wenn das Programm wiedergegeben wird,
aktuelle Versionen der referenzierten aktuellen Datenobjekte verwendet
werden können.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
Weitere Aufgaben und Vorteile der
Erfindung gehen aus einem Studium der nachfolgenden ausführlichen
Beschreibung und nach Bezugnahme auf die Begleitzeichnungen hervor.
Dabei zeigt:
-
1 ein
Funktionsblockdiagramm eines interaktiven Fernsehsystems;
-
2 ein
Diagramm, das die Struktur eines Karussells und eines entsprechenden
Datenstroms illustriert;
-
3 ein
Diagramm, das die Interrelation von Datenobjekten in einem Programm
illustriert;
-
4 ein
Ablaufdiagramm, das eine Ausgestaltung des vorliegenden Verfahrens
illustriert;
-
5 ein
Diagramm, das die Speicherung eines Karusselldatenobjektes und seiner
Eigenschaften in einer Ausgestaltung illustriert;
-
6 ein
Diagramm, das eine Ausgestaltung illustriert, in der Referenzen
auf Datenobjekte außerhalb
eines Programmkarussells erfasst und heruntergeladen werden;
-
7 ein
Diagramm, das eine Ausgestaltung illustriert, in der eine Referenz
auf ein aktuelles Datenobjekt, das eine Komponente eines Programms
ist, anstatt des aktuellen Datenobjekts selbst gespeichert wird;
-
8 ein
Diagramm, das das Cache-Speichern eines Datenobjektes vor dem Herunterladen eines
Programms illustriert, das das cache-gespeicherte Datenobjekt referenziert.
-
Die Erfindung kann zwar Gegenstand
verschiedener Modifikationen und alternativer Formen sein, aber
spezifische Ausgestaltungen davon sind lediglich beispielhaft in
den Zeichnungen zu verstehen und werden hierin ausführlicher
beschrieben. Es ist jedoch zu verstehen, dass die Zeichnungen und die
ausführliche
Beschreibung hierzu die Erfindung nicht auf die spezifische offenbarte
Form begrenzen sollen, sondern dass die Erfindung im Gegenteil alle Modifikationen, Äquivalente
und Alternativen abdeckt, die in den Umfang der vorliegenden Erfindung gemäß Definition
in den beiliegenden Ansprüchen fallen.
-
AUSFÜHRLICHE
BESCHREIBUNG DER BEVORZUGTEN AUSGESTALTUNG
-
Allgemein ausgedrückt, umfasst die Erfindung
ein verbessertes System und Verfahren zum Speichern von gepushtem
Dateninhalt, wobei die Daten als ein Satz von Dateien und nicht
als ein Datenstrom gespeichert sind. Es sind zwar viele Ausgestaltungen
der Erfindung möglich,
und das hier dargestellte System und Verfahren beziehen sich ebenso auf
die Speicherung von Programmen in anderen Gepushte-Daten-Systemen,
aber die nachfolgende Beschreibung konzentriert sich vornehmlich
auf eine Ausgestaltung, die in einem interaktiven Fernsehsystem
ausgeführt
ist. Die vorliegende Beschreibung soll illustrativ und nicht begrenzend
sein.
-
1 zeigt
ein Funktionsblockdiagramm eines interaktiven Fernsehsystems 10.
Das interaktive Fernsehsystem 10 umfasst allgemein eine
Rundfunkstation 12 und eine Empfangsstation 14,
die durch ein Rundfunkmedium 13 mit der Rundfunkstation
verbunden ist. In dieser Figur ist das Rundfunkmedium 13 als
Satellitenübertragungsnetz
dargestellt. Das Rundfunkmedium kann in anderen Ausgestaltungen
jedoch auch andere Übertragungsmittel wie
Kabel, Telco, MMDS (Richtfunk) und terrestrische Übertragungsmedien
umfassen. Die Rundfunkstation 12 ist mit einer Programmquelle 15 verbunden,
die so konfiguriert ist, dass sie die Datenobjekte bereitstellt,
die den Datenstrom eines Programms bilden. Die Empfangsstation 14 beinhaltet
einen Empfänger 18,
der mit einem Speichergerät 16 gekoppelt
ist. Das Speichergerät 16 ist
zum Speichern der Datenobjekte konfiguriert. Die Empfangsstation 14 beinhaltet
auch einen Fernseher 17, auf dem das Programm einem Benutzer
dargestellt wird.
-
In einer Ausgestaltung werden die
Datenobjekte eines Programmdatenstroms, der von der Rundfunkstation 12 zur
Empfangsstation 14 ausgestrahlt werden soll, in der Programmquelle 15 gespeichert.
Die Datenobjekte können
separat (z.B. als Dateien, auf die unabhängig zugegriffen werden kann) gespeichert
werden. Die Rundfunkstation 12 ruft die einzelnen Datenobjekte
von der Programmquelle 15 ab und wandelt sie in ein Format
um, dass für
die Übertragung über das
Rundfunkmedium 13 geeignet ist. Es ist zu bemerken, dass
das Programm auch Ströme
von Daten (z.B. Audio und Video) beinhalten kann, die nicht als
Datenobjekte übertragen
werden. In dieser besonderen Ausgestaltung werden die Daten zu Paketen
formatiert, die über
ein digitales Satellitennetz übertragen
werden können.
Diese Pakete können
mit anderen Paketen zur Übertragung
multiplexiert werden.
-
Die Rundfunkstation 12 sendet
die Datenobjekte des Programms zyklisch als Karussell zur Empfangsstation 14.
So entsteht ein Strom von Daten, in dem jedes Datenobjekt wiederholt
gesendet wird. Es ist zu bemerken, dass das Rundfunkmedium (in der vorliegenden
Ausgestaltung ein digitales Satellitennetz) eine Reihe verschiedener
Kanäle
unterstützen kann
und dass verschiedene Karussells (und entsprechende Datenströme) auf
diesen Kanälen
parallel rundgesendet werden können.
Wenn die Empfangsstation 14 den Datenstrom erhält, kann
das im Datenstrom enthaltene Programm entweder sofort wiedergegeben
oder aufgezeichnet werden. In beiden Fällen konvertiert die Empfangsstation 14 den Datenstrom
zurück
in die Datenobjekte. Wenn das Programm sofort wiedergegeben werden
soll, werden die Datenobjekte nach Bedarf in dem Programm verwendet.
Wenn das Programm gespeichert werden soll, werden die Datenobjekte
als ein Satz von Dateien auf dem Speichergerät 16 gespeichert.
Weitere Datenströme,
die in dem Programm enthalten sind (z.B. Audio- oder Videoströme), können ebenfalls
auf dem Speichergerät 16 gespeichert
werden. Das Programm kann unabhängig
davon gespeichert werden, ob es sofort wiedergegeben wird oder nicht.
-
Der Empfänger 18 wird typischerweise
in einer Set-Top-Box implementiert, die am Fernseher 17 angeschlossen
ist. Die Set-Top-Box beinhaltet ein Steuergerät (z.B. einen Mikroprozessor),
einen Speicher sowie weitere Komponenten, die zum Wählen und
Decodieren der empfangenen interaktiven Fernsehsignale nötig sind.
Da die Grundkomponenten und -funktionen von Set-Top-Boxen bekannt
sind, werden sie hier nicht ausführlich
erörtert. Set-Top-Boxen
sind gewöhnlich
so ausgelegt, dass sie die notwendige interaktive Funktionalität zu minimalen
Kosten bereitstellen. Demzufolge haben sie normalerweise nur eine
begrenzte Speicherkapazität und
keine Massenspeichergeräte
(z.B. Festplattenlaufwerke). Der Speicher reicht zwar zur Ausführung interaktiver
Anwendungen, aber nicht zum dauerhaften Speichern der Anwendungen
aus. Daher bleiben die Anwendungen gewöhnlich nicht im Speicher, wenn
sie nicht mehr ausgeführt
werden.
-
Selbst dann, wenn der Speicher der Set-Top-Box
groß genug
wäre, um
einige interaktive Anwendungen zu speichern, wäre er möglicherweise doch zu klein,
um ein Programm aufzunehmen, das große Mengen an Audio- oder Videodaten,
Anwendungscode oder andere Informationen beinhaltet. Das Speichergerät 16 ist
mit der Set-Top-Box verbunden, um genügend Speicherkapazität bereitzustellen,
um Programme aufzuzeichnen, die nicht auf den begrenzten Speicherplatz
in der Set-Top-Box passen. Das Speichergerät 16 kann ein beliebiges
geeignetes Speichergerät
wie z.B. ein Festplattenlaufwerk, ein aufzeichnungsfähiges DVD-Laufwerk
oder ein Bildplattenlaufwerk umfassen. Es kann sich in der Set-Top-Box
befinden oder es kann extern angeschlossen sein. Das Speichergerät 16 kann
permanent oder entfernbar mit der Set-Top-Box verbunden sein.
-
2 illustriert
den Aufbau eines Karussells (und eines entsprechenden Datenstroms),
das zum Empfänger übertragen
wird. Das Karussell 24 umfasst Datenobjekte 21-23 und
Karussellinformationen 20. Datenobjekte 21-23 werden
wie oben beschrieben von einer Programmquelle abgerufen. Karussellinformationen 20 werden
von der Rundfunkstation bereitgestellt und können z.B. die Karussell-ID
und Versionsnummer, eine Dateitabelle oder ein Verzeichnis für das Karussell
sowie verschiedene andere Informationen beinhalten. (Teile dieser
Informationen, wie z.B. eine Dateitabelle, sind in Programmen nicht
notwendig, die für
den sofortigen Konsum beabsichtigt sind.) Die Rundfunkstation überträgt Karussellinformationen 20 und
Datenobjekte 21-23 sequentiell. Die erste Übertragung
des Karussells 24 ist bei 25 angedeutet. Wenn
die Rundfunkstation die erste Übertragung
des Karussells 24 beendet hat, dann wird es erneut überfragen,
wie bei 26 angedeutet ist. Die nachfolgenden, zyklischen Übertragungen von
Karussell 25, bei 25-29 angedeutet, bilden den Datenstrom 30.
Die Übertragung
des Karussells kann unbegrenzt oft wiederholt werden.
-
Das Karussell kann der Rundfunkstation
als vorkonstruierter Datenstrom zugeführt werden, oder das Karussell
kann "im Vorbeigehen" zusammengesetzt
werden. Ebenso können
Objekteigenschaften in einen Datenstrom eingebaut werden, der zur Rundfunkstation
gesendet wird, oder sie können
vor der Rundsendung in den Datenstrom eingefügt werden. So können z.B.
Versionsnummern eingefügt werden,
um anzuzeigen, dass an bestimmten Datenobjekten Updates vorgenommen
wurden, oder es können
Flags eingefügt
werden, um bestimmte Datenobjekte zu kennzeichnen, die vom Empfänger cache-gespeichert
werden sollen. Von der Rundfunkstation in den Datenstrom eingefügte Objekteigenschaften
können
vom Empfänger
beim Speichern, Wiedergeben, Filtern oder anderweitigen Benutzen der
Datenobjekte in dem Datenstrom verwendet werden.
-
Wie oben erwähnt, können die einen Datenstrom eines
Programms umfassenden Datenobjekte Anwendungscode und Daten, Audio-
und Videoclips, Steuersignale, Trigger, Rohdaten und andere Informationstypen
beinhalten. Wenn das Programm sofort konsumiert (d.h. dem Benutzer
dargestellt) werden soll, dann müssen
die Daten geparst werden, um die Datenobjekte aus dem Strom zu extrahieren.
Nach dem Extrahieren der notwendigen Datenobjekte wird der Datenstrom
wiedergegeben. Die Datenobjekte werden wie in dem Programm definiert
verwendet. So werden beispielsweise evtl. auszuführende Anwendungen gestartet,
Audio- oder Videodaten, die dem Benutzer dargestellt werden müssen, werden wiedergegeben
bzw. angezeigt, zu erzeugende Signale werden generiert usw. Das
Programm wird dem Benutzer dargestellt, gewöhnlich über einen Fernseher 17,
und konsumiert. Das Programm kann unabhängig davon, ob es dem Benutzer
sofort dargestellt wird oder nicht, auch gespeichert werden. Wenn
der Benutzer das Programm aufzeichnen möchte, dann werden die Datenobjekte
auf dieselbe Weise extrahiert, aber sie werden im Massenspeichergerät 16 gespeichert
und nicht sofort zum Darstellen des Programms benutzt. Das aufgezeichnete
Programm kann dann mit den gespeicherten Datenobjekten wiedergegeben
werden. Um die Vorteile des Systems und des Verfahrens zu illustrieren,
ist es möglicherweise
nützlich,
den Aufbau eines Programms zu untersuchen.
-
Die Datenobjekte eines Programms
können viele
verschiedene Typen von Daten enthalten und können auf verschiedene Weisen
aufeinander bezogen sein. 3 zeigt
ein Beispiel der Interrelation von Datenobjekten in einem Programm.
(Die Beziehungen der Datenobjekte in diesem besonderen Programm
sind beispielhaft, und andere Programmstrukturen können sehr
stark variieren.) In der Figur beinhaltet ein interaktives Fernsehprogramm
das Karussell 35. Das Karussell 35 besteht aus
Datenobjekten 32-34 und identifizierenden Informationen 31. Wie
oben erwähnt,
können
Datenobjekte 32-34 Anwendungscode sowie Daten, Audio- und
Videoclips sowie andere Informationen beinhalten. Die Datenobjekte
in Karussell 35 enthalten Referenzen (durch die gestrichelten
Pfeile angedeutet) auf Datenobjekte in anderen Karussells 36, 37.
In diesem Beispiel enthält
das Karussell 36 selbst eine Referenz auf ein Datenobjekt
im Karussell 37. Über
die Referenzen auf Karussell 36 und 37 hinaus
enthält
das Karussell 35 eine Referenz auf ein Datenobjekt 41,
das beim Rundsenden des das Karussell enthaltenden Datenstroms zufällig im
Massenspeichergerät 40 gespeichert
wurde. (Es ist zu bemerken, dass aufgezeichnete Ströme von Daten
auf dieselbe Weise referenziert werden können wie Datenobjekte.)
-
Jedes der Programme wird typischerweise auf
einem anderen Kanal von der Rundfunkstation zur Empfangsstation übertragen.
Wenn das Programm wiedergegeben werden soll, dann wählt die Empfangsstation
den Kanal, auf dem der entsprechende Karusselldatenstrom übertragen
wird, um die entsprechenden Datenobjekte zu empfangen. Wenn das
Programm wiedergegeben wird und eines dieser Datenobjekte referenziert
ein Datenobjekt in einem anderen Karussell, dann wählt die
Empfangsstation den entsprechenden Kanal und holt die notwendigen Datenobjekte.
Ebenso, wenn eines der Datenobjekte ein Datenobjekt referenziert,
das zufällig
im Massenspeichergerät 40 gespeichert
wurde (das mit der Empfangsstation gekoppelt ist), dann wird auf
das Gerät
zugegriffen, um das Datenobjekt abzurufen. Die Empfangsstation ist
dadurch in der Lage, auf die notwendigen Datenobjekte von den Datenströmen verschiedener
Karussells zuzugreifen und das vollständige Programm wiederzugeben.
-
Wie oben angedeutet, kann das Massenspeichergerät zum Speichern
von Programmen im gesendeten Format ("as is") verwendet werden (d.h. als der empfangene
Datenstrom). Einer der Nachteile des Speicherns der Datenobjekte
eines Programms als Datenstrom ist, dass, wenn das Programm erneut
laufen soll, der Datenstrom zurückgespielt
werden muss, und die Set-Top-Box muss den Datenstrom wieder in die
Datenobjekte parsen, die das Programm bilden. Das Zurückspielen
des Datenstroms und das Neuparsen verlangen, dass die Verarbeitungsressourcen der
Set-Top-Box benutzt werden, um Arbeiten zu wiederholen, die bereits
einmal ausgeführt
wurden (wenn das Programm bereits abgespielt wurde). Diese Ressourcen
könnten
sonst für andere
Aufgaben verwendet werden. Ein weiterer Nachteil ist der, dass,
wenn das Programm zurückgespielt
wird, einige Informationen in dem Programm möglicherweise veraltet sind.
Wenn sich das Programm beispielsweise auf Investitionen bezieht, dann
ist es möglicherweise
so ausgelegt, dass dem Benutzer die aktuellsten Aktiennotierungen
gegeben werden. Da der Datenstrom nur zu dem Zeitpunkt aktuell ist,
an dem er aufgezeichnet wurde, sind die Aktiennotierungen möglicherweise
nicht mehr aktuell. Wenn das Programm veraltete Informationen beinhaltet,
dann sind die Informationen möglicherweise nicht
nützlich
und können
sogar irreführend
sein. Noch ein weiterer Nachteil besteht darin, dass, wenn zyklisch
rundgesendete Daten als ein Strom gespeichert werden, mehrere Exemplare
eines einzigen Datenobjekts gespeichert werden können, obwohl nur ein einziges
Exemplar benötigt
wird.
-
Das Massenspeichergerät kann auch
zum Aufzeichnen der Datenobjekte eines Programms in einem Dateiformat
verwendet werden. Mit anderen Worten, die einzelnen Datenobjekte,
die das Programm bilden, können
als Dateien gespeichert werden, auf die individuell zugegriffen
werden kann oder die individuell aktualisiert werden können. Um
die Nachteile des Aufzeichnens eines Programms auf diese Weise zu
illustrieren, ist es möglicherweise nützlich,
den Aufbau eines Programms zu untersuchen.
-
Wenn ein Benutzer ein Programm aufzeichnen
möchte,
dann kann dieses als ein Strom von Daten oder als ein Satz von Dateien
gespeichert werden. Wenn die Empfangsstation so konfiguriert ist, dass
sie einfach einen bestimmten Datenstrom speichert, dann sind Datenobjekte,
die normalerweise von anderen aktuellen Datenströmen abgerufen worden wären, möglicherweise
nicht verfügbar.
Außerdem
bleiben Datenobjekte, die möglicherweise
in einem Massenspeichergerät
cache-gespeichert werden mussten, möglicherweise nicht in diesem
Gerät oder
wurden überhaupt
nicht cache-gespeichert. Wenn die Empfangsstation so konfiguriert
ist, dass sie das Programm als einen Satz von Dateien speichert,
dann können
jedoch die notwendigen Datenobjekte identifiziert, abgerufen und
in dem Satz von Dateien gespeichert werden. Ferner können aktuelle Datenobjekte
durch Referenzen auf diese Objekte ersetzt werden, so dass bei jedem
Abspielen des Programms aktuelle Daten abgerufen werden können.
-
4 zeigt
das von dem oben beschriebenen interaktiven Fernsehsystem angewendete
Verfahren. Die Rundfunkstation ruft die Datenobjekte von den entsprechenden
Datenquellen ab. Die Karussells werden von den Datenobjekten erzeugt
und auf normale Weise zu den Empfangsstationen übertragen. Beim Empfangen der
Daten werden diese jedoch in die einzelnen Datenobjekte des/der
Karussells) geparst, so als würde
das Programm sofort konsumiert. Die Empfangsstation bestimmt die
Eigenschaften in Verbindung mit den jeweiligen Datenobjekten und
speichert die Datenobjekte dann als Dateien anstatt als Strom von
Daten.
-
In der Tat wandelt das System die
von der Rundfunkstation übertragenen
gepushten Daten in gepullte Daten um (d.h. Daten, die auf Anforderung des
Benutzers abgerufen werden können).
Die die Datenobjekte enthaltenden Dateien haben Eigenschaften in
Verbindung mit den Datenobjekten, wie z.B. Kennungen, Gültigkeitsbereiche,
Referenzlisten und dergleichen. Auch eine Dateitabelle wird gespeichert,
so dass auf die Dateien nach Bedarf zugegriffen werden kann. Es
ist zu bemerken, dass die Dateitabelle und andere Eigenschaften
möglicherweise nicht
für die
sofortige Konsumierung des Programms benötigt und möglicherweise nicht in einem
interaktiven Fernsehsystem übertragen
werden.
-
Wie oben erwähnt, können die Datenobjekte "aktuelle" Daten beinhalten,
die veralten, wenn sie nicht sofort konsumiert werden. Wenn diese
Daten gespeichert und beim Abspielen des Programms benutzt werden,
dann ist das Programm in diesem Sinne veraltet. Daher werden, während die
meisten der Datenobjekte als Dateien gespeichert werden, aktuelle
Datenobjekte nur als Referenzen in dem Programm gespeichert. Mit
anderen Worten, es werden nicht die aktuellen Daten selbst, sondern
es wird ein Hinweis auf die Daten (z.B. die Länge und wo sie sich befinden)
gespeichert. Beim Abspielen des Programms werden dann neue aktuelle
Daten, die der Referenz entsprechen, erhalten und anstelle der Daten
benutzt, die zur Zeit des Aufzeichnens des Programms aktuell waren.
Das Programm wird dadurch automatisch aktualisiert, wenn es wieder
abgespielt wird.
-
In einer Ausgestaltung ist das System
so konfiguriert, dass es Dateikennungen, Versionsnummern und Gültigkeitsbereiche
für entsprechende
Datenobjekte mit ihren jeweiligen Dateien auf dem Massenspeichergerät speichert. 5 zeigt die Speicherung
der Datenobjekte und entsprechenden Objekteigenschaften. Karussell 60 wird
von der Rundfunkstation zur Empfangsstation auf einem Kanal übertragen.
Karussell 60 wird mit einer Kennung (m) und einer Versionsnummer übertragen.
Die Übertragung des
Karussells beginnt zum Zeitpunkt t1 und wird bis zum Zeitpunkt t2
wiederholt. Zum Zeitpunkt t2 wird eine neue Version des Karussells,
durch die Bezugsziffer 61 angedeutet, verfügbar und
wird anstelle der früheren
Version übertragen.
Die Übertragung
des Karussells 61 wird bis zum Zeitpunkt t3 wiederholt.
-
Der von der Empfangsstation empfangene Datenstrom
besteht aus mehreren aufeinander folgenden Übertragungen von Karussell 60,
gefolgt von mehreren aufeinander folgenden Übertragungen von Karussell 61.
Die Empfangsstation beginnt mit dem Parsen des Datenstroms und holt
die Datenobjekte, aus denen sich das Karussell 60 zusammensetzt. Diese
Datenobjekte werden als Dateien auf dem Massenspeichergerät gespeichert.
(Der Einfachheit halber wird das Karussell hier als eine einzelne
Datei dargestellt, aber es ist zu bemerken, dass die einzelnen Datenobjekte,
die das Karussell bilden, auch als separate Dateien gespeichert
werden können.
Es ist auch zu bemerken, dass das Karussell selbst Eigenschaften
hat und als Datenobjekt angesehen werden kann.) Wenn die Empfangsstation
den die neuere Version des Karussells enthaltenden Teil des Datenstroms
empfängt,
dann erkennt sie die neue Version und extrahiert die neue Version
des Karussells aus dem Datenstrom. Die neue Version des Karussells wird
dann in dem Massenspeichergerät
gespeichert. (Wenn nur besondere Datenobjekte in dem Karussell neuere
Versionen sind, dann können
einige Ausgestaltungen nur die neuen Datenobjekte anstatt des gesamten
Karussells speichern.)
-
In einer Ausgestaltung ist die Empfangsstation
so konfiguriert, dass sie die Zeitpunkte erkennt, an denen die Übertragung
jedes Karussells beginnt und endet. In anderen Ausgestaltungen können die
Anfangs- und Endzeiten explizit mit jedem Karussell übertragen
werden. Die Anfangs- und Endzeiten definieren einen zeitlichen Gültigkeitsbereich,
der dem Karussell entspricht. Innerhalb dieses Gültigkeitsbereiches steht das
Karussell zur Verfügung
(d.h. ist gültig).
Außerhalb
dieses Bereiches ist das Karussell unverfügbar (d.h. ungültig). In
einer Ausgestaltung wird der Gültigkeitsbereich
im Sinne der Zeit ab dem Beginn der Aufzeichnung definiert. Diese
Informationen sind bei der Wiedergabe von Programmen nützlich,
die die Karussells oder deren Datenobjekte verwenden, wie nachfolgend
ausführlicher
erläutert wird.
Es ist zu bemerken, dass einige Datenobjekte, wie z.B. Signale oder
Trigger, momentan sind und so angesehen werden, dass sie dieselbe
Anfangs- und Endzeit haben. Sie haben zwar keinen Gültigkeitsbereich
wie oben beschrieben, aber streng genommen können sie trotzdem gültig sein.
Der zeitliche Gültigkeitsbereich
jedes Datenobjekts wird mit den anderen Objekteigenschaften in Verbindung
mit dem jeweiligen Datenobjekt gespeichert.
-
In einer Ausgestaltung beinhaltet
der zu speichernde Datenstrom Referenzen auf Datenobjekte, die Bestandteile
von Karussells sind, die in anderen Datenströmen geführt werden (die möglicherweise zu
anderen Programmen auf anderen Kanälen gehören). Wenn das Programm beim
Rundsenden konsumiert wird, dann lassen sich diese externen Datenobjekte
leicht einfach dadurch holen, dass das Programm ausgeführt wird,
und wenn die Referenz auf das externe Datenobjekt auftritt, der
Kanal gewählt wird,
auf dem das Datenobjekt rundgesendet wird, und das Datenobjekt aus
dem entsprechenden Datenstrom geholt wird. Wenn das Programm von
seinem entsprechenden Datenstrom aufgezeichnet wird, um zu einem
späteren
Zeitpunkt abgespielt zu werden, dann ist das Holen des externen
Datenobjektes nicht so einfach. Das System muss daher so konfiguriert
werden, dass es Referenzen auf Datenobjekte erkennt, die sich außerhalb
des Karussells des Programms befinden, und automatisch den richtigen
Kanal wählt
und das Datenobjekt aus dem Datenstrom auf diesem Kanal holt. Dies
ist in 6 illustriert.
-
6 zeigt
zwei Karussells 70, 71, die von der Rundfunkstation
zur Empfangsstation übertragen werden.
Ein erster Datenstrom wird durch wiederholtes Übertragen von Karussell 70 gebildet.
Der erste Datenstrom wird auf einem ersten Kanal übertragen. Ein
zweiter Datenstrom wird durch wiederholtes Übertragen von Karussell 71 gebildet
und auf einem zweiten Kanal geführt.
Das Karussell 70, das die Datenobjekte des aufzuzeichnenden
Programms enthält, referenziert
eines der im Karussell 71 enthaltenen Datenobjekte (wie
durch den gestrichelten Pfeil angedeutet). Ein Benutzer leitet die
Aufzeichnung des Programms aus dem auf dem ersten Kanal empfangenen
Datenstrom ein. Die Empfangsstation parst den Datenstrom und speichert
die extrahierten Datenobjekte als Dateien auf dem Massenspeichergerät. Wenn
eine Referenz auf das im Karussell 71 enthaltene externe
Datenobjekt auftritt, dann wählt
die Empfangsstation den zweiten Kanal und parst den zweiten Datenstrom,
um das referenzierte Datenobjekt zu erhalten. Dieses Datenobjekt
wird ebenfalls als eine Datei auf dem Massenspeichergerät gespeichert.
Wenn das Programm vom Massenspeichergerät abgespielt werden soll, dann
kann das Datenobjekt vom Karussell 71 vom Massenspeichergerät abgerufen
und in dem Programm verwendet werden.
-
In einer Ausgestaltung beinhaltet
das zu speichernde Programm Referenzen auf aktuellen Inhalt. Da
aktueller Inhalt veraltet, wenn er nicht sofort konsumiert wird,
speichert das System das aktuelle Datenobjekt nicht, das wiedergegeben
worden wäre, wenn
das Programm sofort konsumiert worden wäre. Das System speichert stattdessen
eine Referenz auf die aktuellen Daten, so dass, wenn das aufgezeichnete
Programm abgespielt wird, momentan aktuelle Daten von der referenzierten
Stelle geholt und in das Programm eingebaut werden.
-
Ein Beispiel, bei dem aktuelle Daten
referenziert werden, ist in 7 illustriert.
In dieser Figur ist ein erstes Karussell 80 so dargestellt,
dass es ein zweites Karussell 81 referenziert. Beide Karussells werden
von der Rundfunkstation zur Empfangsstation übertragen. Die Empfangsstation
speichert jedoch nur Karussell 80. Karussell 81 wird
nicht gespeichert, sondern ist in den Eigenschaften in Verbindung
mit Karussell 80 als aktuelle Referenz aufgeführt. Wenn das
Programm von Karussell 80 von der Anwendungsausführungsmaschine
der Empfangsstation abgespielt wird, dann zeigt die Referenz an,
dass momentan aktueller Inhalt von der in der Referenz angegebenen
Stelle erhalten werden soll. Wenn also das Programm zu einer Zeit
abgespielt wird, an der die ursprünglichen aktuellen Daten bereits
veraltet wären,
dann werden die aktuellen Informationen in das Programm eingebaut.
-
In einer Ausgestaltung beinhaltet
das zu speichernde Programm Referenzen auf zuvor cache-gespeicherte
Daten. Einige Informationen werden möglicherweise nicht als Teil
eines Programms rundgesendet, sondern müssen weiterhin in ein Programm
eingebaut werden. Diese Informationen können mit einem Flag markiert
werden, so dass, wenn sie rundgesendet werden, der Flag erkannt
wird und die Informationen auf dem Massenspeichergerät des Empfängers unabhängig davon
gespeichert werden, ob der entsprechende Datenstrom gerade aufgezeichnet
wird oder nicht. Später
können
dann, wenn ein Programm, das die cache-gespeicherten Informationen
referenziert, abgespielt wird, die Informationen vom Massenspeichergerät abgerufen
werden. Dies ist möglicherweise
dann nützlich,
wenn beispielsweise die Menge der cache-gespeicherten Informationen
so groß ist,
dass ihr Einbau in das Karussell die Häufigkeit, mit der die Datenobjekte
rundgesendet werden, stärker
als gewünscht
verringern würde.
In dieser Situation können
die cache-gespeicherten Informationen einmal zu Beginn eines Programms
rundgesendet, gespeichert und dann nach Bedarf während des Programms referenziert
werden.
-
8 illustriert
ein System, das Informationen für
die spätere
Verwendung durch ein Programm cache-speichert. 8 veranschaulicht einen Datenstrom, in
dem Informationen 90 einmal rundgesendet werden, dann wird
das Karussell 91 zyklisch rundgesendet. (Es ist zu bemerken,
dass Informationen 90 nicht Teil desselben Datenstroms
zu sein brauchen wie das Karussell 91 und auf einem separaten
Kanal rundgesendet werden können.)
Wenn die Empfangsstation den Datenstrom empfängt, werden Informationen 90 erfasst.
Die Informationen 90 beinhalten einen Flag, der anzeigt,
dass die Informationen auf dem Massenspeichergerät der Empfangsstation cache-gespeichert
werden sollen. Die Empfangsstation speichert daher die Informationen 90.
Zu irgendeinem Zeitpunkt nach dem Speichern der Informationen 90 wird
das Karussell 91 empfangen. Wenn das in diesem Karussell
enthaltene Programm wiedergegeben wird, können die Informationen 90 sofort
vom Cache-Speicher abgerufen werden, wenn eine Referenz auf die
Informationen in dem Programm auftritt. (Die cache-gespeicherten
Daten sind zwar in der Figur als im Massenspeichergerät gespeichert
angezeigt, aber sie könnten
auch in einem kleineren Cache-Speicher gespeichert sein.)
-
Es ist zu bemerken, dass dieses Merkmal unabhängig davon
genutzt werden kann, ob das Programm nach dem Empfang des Datenstroms
konsumiert oder für
eine Wiedergabe zu einem späteren Zeitpunkt
aufgezeichnet wird. Wenn das Programm für eine spätere Wiedergabe gespeichert
wird, dann bleiben die cache-gespeicherten Daten im Speicher erhalten,
so dass während
der Wiedergabe auf sie zugegriffen werden kann. Die cache-gespeicherten Daten
können
im Massenspeichergerät
oder in einem kleineren Cache-Speicher gespeichert werden. Wenn
die Daten in einem kleinen Cache-Speicher gespeichert werden, dann
müssen
sie möglicherweise
nach dem Erkennen der Referenz auf die Daten in dem aufgezeichneten
Programm auf das Massenspeichergerät kopiert werden. Ansonsten
könnten die
Daten in dem Cache-Speicher vor der Wiedergabe des Programms überschrieben
werden.
-
Die vorliegende Erfindung wurde zwar
mit Bezug auf bestimmte Ausgestaltungen beschrieben, aber es ist
zu verstehen, dass die Ausgestaltungen illustrativ sind und dass
der Umfang der Erfindung nicht auf diese Ausgestaltungen begrenzt
ist. Es sind zahlreiche Variationen, Modifikationen, Zusätze und Verbesserungen
an den beschriebenen Ausgestaltungen möglich. Solche Variationen,
Modifikationen, Zusätze
und Verbesserungen fallen in den Umfang der Erfindung gemäß Ausführung in
den nachfolgenden Ansprüchen.