-
Hintergrund
-
Diese
Erfindung betrifft das Aufzeichnen und Abspielen eines Videostroms
(engl.: Videostream). Ein Videostream umfasst eine Kombination von
Audio- und/oder Videodatenstreams.
-
Videostreams
sind typischerweise auf einem analogen Medium, wie zum Beispiel
einer Videokassette, aufgezeichnet worden. Ein Videokassetterekorder
(VCR) wird verwendet, um den Videostream auf der Videokassette aufzuzeichnen.
Der Videostream kann über
ein Broadcastsignal, über
Kabel, über
ein Satellitensignal oder von einer anderen Videoabspielvorrichtung
kommen. Sobald der Videostream aufgezeichnet worden ist, wird der
VCR verwendet, um das Aufzeichnungsmedium zurückzuspulen und das abzuspielen,
was aufgezeichnet wurde. Auf Grund der Beschaffenheit des analogen
Mediums ist es jedoch nicht möglich,
sobald der VCR begonnen hat, aufzuzeichnen, den Teil des Videostreams
abzuspielen, der bereits aufgezeichnet wurde, bis die Aufzeichnungssitzungen
beendet ist.
-
Zusatzinformationen,
wie zum Beispiel Programmuntertitel, Notfallnachrichten, eingeschränkte Titelnachrichten
und Programminformationen, können
zusammen mit normalem Fernsehinhalt übertragen werden. In letzter
Zeit umfassen andere Typen von Zusatzinformationen, die mit Fernsehinhalt
gesendet werden können,
angereicherte Daten, wie z. B. Web-Seiten, Multimedia-Informationen oder
andere digitale Datendateien. Zusatzinformationen können in
der vertikalen Austastlücke
(VBI; engl.: Vertical Blanking Interval) eines analogen Fernsehübertragungssignals
gesendet werden oder können
mit digitalem Fernsehinhalt über
ein digitales Übertragungstransportmedium
gesendet werden.
-
Es
gibt verschiedene Standards, die für eine Übertragung von Zusatzinformationen
zusammen mit Fernsehinhalt sorgen. Ein Standard ist die Advanced
Television Enhancement Forum (ATVEF) Specification, Entwurf Version
1.1r26 vom 26. Februar 1999. Die ATVEF-Spezifikation sorgt für eine Übertragung
von ange reicherten Daten zusammen mit Fernsehinhalt sowohl in analogen
als auch in digitalen Systemen, wie zum Beispiel Kabelsysteme, Satellitensysteme,
terrestrische Systeme und so weiter.
-
WO-A-98
48566 betrifft ein Verfahren und ein System zur Zeitverschiebung
(engl.: time-shifting) von Video und Text in einem mit Text angereicherten
Fernsehprogramm. Fernsehprogrammbezogene Information (PRI; engl.:
Program Related Information) wird in die vertikale Austastlücke (VBI)
eines Fernsehsignals zur Ausgabe auf dem Fernsehbildschirm eines
Sehers zur gleichen Zeit wie das Fernsehprogramm eingebettet. Die
programmbezogene Information ist in einer Internet-Web-Seite enthalten,
deren Web-Adressen in dem Fernsehsignal eingebettet sind. Insbesondere
umfasst das Verfahren die Schritte, ein Fernsehsignal mit eingebetteten
Web-Adress-Daten für
eine Internet-Seite
einschließlich
programmbezogener Information zu empfangen, das Fernsehsignal zu
speichern, die eingebettete Web-Adresse
zu extrahieren und in einem Speicher zu speichern und in Antwort
auf einen Steuerbefehl eines Sehers einen Internet-Modus zu wählen und
mit einem Internet-Dienstleistungsanbieter zu kommunizieren, um
Information von der Internet-Seite abzurufen.
-
In
EP-A-0 808 072 ist ein Aufzeichnungsmedium vorgeschlagen, in dem
Videodaten gespeichert sind, die ein Teilbild gemäß einem
gespeicherten Wiedergabezustand erzwingend wiederzugeben vermögen. Ein entsprechendes
Wiedergabeverfahren und Wiedergabevorrichtung zum Wiedergeben eines
Teilbildes von dem Aufzeichnungsmedium ist ebenfalls offenbart.
-
Es
besteht Bedarf nach einem verbesserten Weg, Teile einer Videoübertragung
aufzuzeichnen, die angereicherten Inhalt enthält.
-
Zusammenfassung
-
Gemäß einem
Aspekt stellt die vorliegende Erfindung ein Verfahren zum Aufzeichnen
von Videoinformation gemäß dem Gegen stand
von Anspruch 1 bereit. Gemäß einem
anderen Aspekt stellt die vorliegende Erfindung ein Computerprogramm
gemäß dem Gegenstand
von Anspruch 9 bereit. Gemäß einem
anderen Aspekt stellt die vorliegende Erfindung ein System gemäß dem Gegenstand
von Anspruch 17 bereit.
-
Weitere
Aspekte sind in den abhängigen
Ansprüchen,
der folgenden Beschreibung und Zeichnungen ausgeführt.
-
Kurze Beschreibung
der Zeichnungen
-
1 ist
ein Blockdiagramm eines Videoaufzeichnungs- und -abspielsystems gemäß einer
Ausführungsform
der Erfindung;
-
2 ist
ein Flussdiagramm einer Ausführungsform
des Verfahrens, einen zeitversetzten Videostream gemäß der Erfindung
bereitzustellen;
-
3 zeigt
eine Ausführungsform
einer Vorrichtung zum Speichern des Videostreams auf einer Festplatte
gemäß der Erfindung;
-
4 ist
ein Flussdiagramm, das eine Ausführungsform
eines Systems zum Aufzeichnen und Abspielen eines Videostreams gemäß der Erfindung
zeigt;
-
5 ist
ein Blockdiagramm eines Computersystems, das zur Implementierung
einer Ausführungsform
der vorliegenden Erfindung verwendbar ist;
-
6 ist
ein beispielhaftes TV-Display zur Implementierung einer Ausführungsform
der vorliegenden Erfindung;
-
7 ist
ein Blockdiagramm, das zeigt, wie Daten zu und von einer Speichervorrichtung
gemäß einer Ausführungsform
der vorliegenden Erfindung übertragen
werden;
-
8 ist
ein Flussdiagramm, das den Fluss von Videoeingangsinformation in
eine Speichervorrichtung gemäß einer
Ausführungsform
der vorliegenden Erfindung zeigt;
-
9 ist
ein Flussdiagramm, das den Fluss von Daten von der Speichervorrichtung
gemäß einer
Ausführungsform
der vorliegenden Erfindung;
-
10 ist
eine schematische Darstellung einer Ausführungsform der vorliegenden
Erfindung;
-
11 ist
eine schematische Darstellung einer Ausführungsform der vorliegenden
Erfindung mit synchronisierten Video und Daten gemäß einer
Ausführungsform
der vorliegenden Erfindung;
-
12 ist
eine schematische Darstellung einer Ausführungsform der vorliegenden
Erfindung, die einen Software-Schlüsselframe implementiert;
-
13 ist
ein Flussdiagramm für
eine Software zur Implementierung einer Ausführungsform der vorliegenden
Erfindung;
-
14 ist
eine schematische Darstellung eines Datenformats, das bei der in 11 gezeigten
Ausführungsform
verwendet werden kann; und
-
15 ist
eine schematische Darstellung eines anderen Datenformats, das bei
der Ausführungsform von 11 verwendet
werden kann.
-
Detaillierte Beschreibung
-
Eine
in 1 gezeigtes Videoaufzeichnungs- und -abspielsystem 100 gemäß einer
Ausführungsform der
Erfindung empfängt
einen Videostream an dem Videoeingangsanschluss 102. Der
Videostream kann von einer Kamera, einem Fernsehsignal, Broadcast-,
Kabel- oder Satellitensignalen oder einer anderen Videoabspielvorrichtung
bereitgestellt sein. Bei einer Ausführungsform kann eine Analog-Digital-Wandlung
hinsichtlich eines analogen Videostreams durchgeführt werden,
um einen digitalen Videobitstream zu bilden. Bei einer anderen Ausführungsform
ist das Video bereits in digitaler Form. Das Videoaufzeichnungs-
und -abspielsystem 100 kann ein Teil eines Systems sein,
wie zum Beispiel ein Computersystem oder eine Set-Top-Box, so dass der
Videoeingangsanschluss 102 ein Teil einer Videoerfassungskarte
in dem Computersystem oder der Set-Top-Box sein kann.
-
Der
digitale Videostream von dem Videoeingangsanschluss 102 wird
optional bei einer Komprimierungseinheit 104 komprimiert.
Bei einer Ausführungsform
ist das Video bereits komprimiert und es wird keine weitere Komprimierung
benötigt.
Der Videostream wird dann in der Speichereinheit 108 gespeichert.
Eine Puffereinheit 106 kann als temporärer Speicher verwendet werden,
um der Speichereinheit 108 größere aufeinanderfolgende Blöcke von
Videodaten bereitzustellen. Bei einer Ausführungsform umfasst die Puffereinheit 106 einen
Speicher mit wahlfreiem Zugriff (engl.: Random Access Memory), der
einen relativ schnellen Zugriff auf jeden Teil des gespeicherten
Videostreams erlaubt.
-
Der
Videostream wird abgespielt, indem der Videostream von der Speichereinheit 108 ausgelesen wird.
Wenn der Videostream in der Komprimierungseinheit 104 komprimiert
worden ist, dann dekomprimiert eine Dekomprimierungseinheit 110 den
abgerufenen Videostream. Der Videostream wird ausgehend von einem
Videoausgangsanschluss 120 einem Monitor oder einer anderen
Wiedergabevorrichtung, wie zum Beispiel ein TV, bereitgestellt,
um einen Benutzer mit Ton und/oder Video zu versorgen.
-
Eine
entfernbare Speichereinheit 122 kann ebenfalls in dem Videoaufzeichnungs-
und -abspielsystem 100 enthalten sein. Beispiele für entfernbare
Speichereinheiten umfassen eine beschreibbare Compact Disk, die
nur gelesen werden kann (CD-ROM), eine beschreibbare digitale Videodisk
(DVD), einen Flash-Speicher oder
eine andere Festplatte. Die Verfügbarkeit
einer entfernbaren Speichereinheit 122 ermöglicht dem
Benutzer, eine Aufzeichnung eines Videostreams, der in der Speichereinheit 108 gespeichert
ist, zu der entfernbaren Speichereinheit 122 zu übertragen,
und dann die Einheit 122 zu einem anderen System an einem
anderen Ort zu schaffen.
-
Bei
einer Ausführungsform
steuert ein Prozessor 130 die Operationen des Videoaufzeichnungs-
und -abspielsystems 100. Die Komprimierungseinheit 104 und
die Dekomprimierungseinheit 110 können als Hardware implementiert
sein, oder die Komprimierungs- und Dekomprimierungsfunktionen der
Einheiten 104 und 110 können von dem Prozessor 130 ausgeführt werden.
Der Prozessor 130 empfängt
unter Verwendung von Technologie, die gut bekannt ist, Anweisungen
von einer Firmware/Speicher 140.
-
2 zeigt
ein Flussdiagramm einer Ausführungsform
eines Verfahrens, einen zeitversetzten Videostream gemäß einer
Ausführungsform
der vorliegenden Erfindung bereitzustellen. Das Flussdiagramm beginnt bei
Block 200 und geht bei Block 202 weiter, wo der
Videostream empfangen wird. Das Aufzeichnen des Videostreams beginnt
bei Block 204. Bei Block 206 wird das Abspielen
des Videostreams durchgeführt,
indem ein Teil des Videostreams von der Speichereinheit mit wahlfreiem
Zugriff abgerufen wird, während
das Aufzeichnen des eingehenden Videostreams weitergeht. Der abgerufene
Teil des Videostreams kann gegenüber
dem eingehenden Videostream durch eine Zeitverzögerung zeitversetzt sein. Bei
Block 208 wird der von der Speichereinheit mit wahlfreiem
Zugriff abgerufene Teil des Videostreams zur Widergabe durch ein
Fernsehgerät oder
eine andere Wiedergabevorrichtung abgerufen.
-
Auf
diese Weise werden die Aufzeichnungs- und Abspielfunktionen von
einander entkoppelt. Der Benutzer kann nun anfangen, eine aufgezeichnete
TV-Show von Anfang an anzuschauen, z. B. bevor die Show vollständig aufgezeichnet
ist.
-
3 zeigt
eine Ausführungsform
einer Vorrichtung zum Speichern des Videostreams in der Speichereinheit 108 gemäß einer
Ausführungsform
der Erfindung. Wiederum ist die Erfindung nicht auf den Umfang der
veranschaulichten Ausführungsformen
beschränkt.
Bei dieser Ausführungsform
wird der Videostream zum Beispiel als getrennte Dateien 001 und
009 auf einer Festplatte gespeichert. Der Prozessor 130 hält sich über die
Datei und den Versatz in die Datei der Daten, die abgespielt werden,
sowie die Datei und den Versatz in die Datei der Daten, die aufgezeichnet
werden, auf dem Laufenden. Wenn die Speichereinheit mit wahlfreiem Zugriff
schnell genug ist, kann mehr als ein Videostream gleichzeitig aufgezeichnet
und abgespielt werden.
-
Bezugnehmend
auf die in 4 gezeigte Ausführungsform,
beginnt ein Flussdiagramm 400 zum digitalen Aufzeichnen
eines Videostreams gemäß einer
Ausführungsform
der Erfindung durch Empfangen des Videostreams, wie in Block 402 angegeben.
Wenn der Stream ein analoger Stream (Diamond 403) ist,
kann er, wie bei Block 404 angegeben, in einem Analog-Digital-Umwandlungsprozess
digitalisiert werden. Als Nächstes
kann der digitale Stream kodiert und komprimiert werden, beispielsweise
unter Verwendung eines Kompressionsschemas, wie in Block 406 angegeben.
Der Stream wird, wie bei Block 410 angegeben, abwechselnd
ausgelesen, und, wie in Block 408 angegeben, in einer herkömmlichen
Speichervorrichtung gespeichert, wie zum Beispiel ein Festplattenlaufwerk,
eine digitale Videodisk oder ein Flash-Speicher. Daten, die von
der Speichervorrichtung gelesen werden, können zum Beispiel unter Verwendung
herkömmlicher
Technologie, wie in Block 412 angegeben, zur Wiedergabe,
wie in Block 414 angegeben, dekodiert und dekomprimiert
werden.
-
Ein
System 500 gemäß einer
Ausführungsform
der vorliegenden Erfindung, das in 5 gezeigt
ist, weist einen Prozessor 502 auf. Bei einer Ausführungsform
kann der Prozessor mit einem beschleunigten Grafikanschluss-(AGP)-Chipsatz 504 gekoppelt
sein, um eine Ausführungsform
mit beschleunigtem Grafikanschluss zu implementieren. Der Chipsatz 504 kommuniziert
mit dem AGP-Anschluss 505 und dem Grafikbeschleuniger 506.
Das Fernsehgerät 510 kann
mit dem Videoausgang des Grafikbeschleunigers 506 verbunden sein.
Der Chipsatz 504 beinhaltet den Systemspeicher 508.
Der Chipsatz 504 ist auch mit einem Bus 512 verbunden,
der z. B. ein Bus zur Verbindung peripherer Komponenten (PCI; engl.:
Peripheral Component Interconnect) (PCI Local Bus Specification,
Version 2.2 vom 1. Juni 1898) sein kann. Der Bus 512 stellt
eine Verbindung mit einer TV-Tuner/Erfassungskarte 512 her,
die mit einer Antenne 515 oder einem anderen Videoeingangsanschluss,
wie zum Beispiel ein Kabeleingangsanschluss, ein Satelliten-Empfänger/Antenne
oder dergleichen verbunden ist. Die TV-Tuner- und -Erfassungskarte 514 wählt einen
gewünschten
Fernsehkanal aus und führt
auch die Videoerfassungsfunktionen (Block 402, 4)
aus. Ein Beispiel einer Videoerfassungskarte ist die von Intel Corporation
verfügbare
ISVR-III-Videoerfassungskarte.
-
Der
Bus 512 ist auch mit einer Brücke 516 gekoppelt,
die eine Verbindung mit einem Festplattenlaufwerk 518 herstellt.
Die Software 200, 400, 900,1206 und 1300 kann
auf der Festplatte 518 gespeichert sein. Die Brücke 516 ist
auch mit einem weiteren Bus 532 verbunden. Der Bus 532 kann
mit einer seriellen Eingangs/Ausgangs-(SIO; engl.: Serial Input/Output)-Vorrichtung 534 verbunden
sein. Die Vorrichtung 534 ist wiederum mit herkömmlichen
Komponenten verbunden, wie zum Beispiel eine Maus 536,
eine Tastatur 538 und eine Infrarotschnittstelle 540.
Mit dem Bus 532 ist ebenfalls ein Basis-Eingangs/Ausgang-System (BIOS; engl.: Basic
Input/Output System) 542 verbunden.
-
Ein
Beispiel einer in 6 gezeigten Darstellung 600 für das Fernsehgerät 510 kann
ein herkömmliches
Fernsehbild oder -programm 601 wiedergeben und kann zusätzlich dem
Bildschirm in diskreter Weise überlagert
eine mit einer Maus auswählbare
Reihe von Icons, wie zum Beispiel die Icons 602 bis 614,
aufweisen. Wenn der Mauskursor 616 das geeignete der Icons
auswählt,
kann ein entsprechendes Merkmal implementiert werden. Die Merkmale,
die auf diese Weise implementiert werden können, umfassen eine Pause- oder
Stopp-Funktion 602, eine Beginn-Aufzeichnungs-Funktion 604,
eine Schnell-Vorwärts-Funktion 606,
eine Zurückspul-Funktion 608 und
eine Zehn-Sekunden-Erneute Wiedergabe-Funktion 610, die
um zehn Sekunden (oder einen anderen Wert) zurückspult und erneut abspielt,
und eine Aufhol-Funktion 612,
die beginnt, aufgezeichneten Inhalt mit einer Rate schneller als
normal abzuspielen, bis die Wiedergabe eine Lifeübertragung einholt, und eine
elektronische Programmführung 614.
Die oben beschriebenen Funktionen 602, 604, 608, 610 und 612 können auch
einzelne Knöpfe
an einer Fernsteuerungseinheit sein.
-
Verfahren
zum Speichern des Videostream auf der Speichervorrichtung 710 und
zum Auslesen der Information von der Speichervorrichtung sind in
Tabelle 1 unten zusammengefasst und in den 7, 8 und 9 veranschaulicht.
In 7 weist eine schematische Abbildung des Speichersystems 700,
eine digitale Speichervorrichtung, wie zum Beispiel ein Festplattenlaufwerk 710,
auf. Das digitalisierte Video 702 wird anfänglich in
einem Puffer gespeichert, der als aktuell an dem oberen Ende des
Speicherstack befindlich festgelegt ist. Die Übertragung von Information
zwischen den Puffern und der Speichervorrichtung 710 kann
in diskreten Zeitperioden durchgeführt werden, die hier als Zeitschritte
bezeichnet werden.
-
-
Tabelle
1 (X = keine Aktion)
-
In
einem ersten, in 8 gezeigten Zeitschritt wird
das digitalisierte Video 702 (7) in einem
Speicherpuffer 704 gespeichert, weil, wie in Block 802 in 8 angegeben,
sich dieser Puffer derzeit an dem oberen Ende des Speicherstacks
befindet.
-
So
wie sich der Puffer 704 füllt, bewegt sich der Puffer 708 zu
dem oberen Ende des Stacks (wie durch den gestrichelten Pfeil angegeben)
und ein eingehendes Video wird in dem Puffer 708 gespeichert.
Wie in Block 804 in 8 im Zeitschritt
2 angegeben, ersetzt der Puffer 708 den Puffer 704 als
festgelegtes oberes Ende des Stackpuffers. Das nächste Eingangsvideo wird dann
in dem neuen Puffer (708), wie in Block 806 angegeben,
gespeichert.
-
Im
Zeitschritt 3 hat sich der Puffer 708 gefüllt und
die Inhalte der Puffer 704 und 708 werden in einer einzelnen
Schreiboperation zu der Speichervorrichtung 710 geschrieben.
Während
des gleichen Zeitschritts bewegt sich der Puffer 708 zu
dem oberen Ende des Stacks und wird zum Speicherpuffer für ein eingehendes Video.
Dies ist in den Blöcken 808, 810 und 812 in 8 veranschaulicht.
-
Im
Zeitschritt 4 bewegt sich der Puffer 704 zurück zu dem
oberen Ende des Stacks, um ein eingehendes Video zu speichern, da
sein vorheriger Inhalt bereits in der Speichervorrichtung 710 gespeichert
worden ist. Dies ist in Block 814 von 8 angegeben.
Zusätzlich
wird im Zeitschritt 4 der Inhalt des Puffers 708, wie in
Block 815 veranschaulicht, zu der Speicher vorrichtung 710 geschrieben.
Das Speichern eingehender Information geht dann, wie in 8 veranschaulicht,
zu dem oberen Ende des Flusses in 8 zurück und setzt sich
danach in gleicher Weise fort.
-
Der
Inhalt der Speichervorrichtung 710 wird dann im Zeitschritt
4 und Block 802 in Puffer 712 und 714 gelesen.
-
Im
Zeitschritt 5 bewegt sich der Puffer 708 zu dem oberen
Ende des Stacks, um ein eingehendes Video zu speichern, und der
Puffer 714 bewegt sich zu dem oberen Ende des Ausgabestacks
und überträgt Daten
zu dem Videoausgang 718. Die Inhalte der Puffer 704 und 706 werden
dann zu der Speichervorrichtung 710 geschrieben.
-
Die
Zeitschritte 1 bis 5 veranschaulichen einen vollständigen Zyklus
vom Eingang bis zur Ausgabe. Die übrige Folge von Schritten wiederholt
sich beginnend bei Schritt 1 bis Schritt 4 für die Eingabe von Daten und
die Zeitschritte 4 bis 9 wiederholen sich für die Ausgabe von Daten.
-
Nur
auf die 7 und 9 bezugnehmend
wird eine im Zeitschritt 6 in der Speichervorrichtung gespeicherte
Information zu den sechsten und vierten Puffern (d. h. Puffer 714 und 716),
wie in Block 906 angegeben, gelesen. Die Inhalte des fünften Puffers
(712) werden zu dem Ausgangsanschluss 718 gesendet.
-
Im
Zeitschritt 7 werden die Inhalte des sechsten Puffers (der der Puffer 716 ist)
zu dem Ausgangsanschluss 718 gesendet. Es finden keine
weiteren Ausgabeoperationen statt.
-
Im
Zeitschritt 8 werden die Inhalte von der Speichervorrichtung 710 in
die fünften
und sechsten Puffer (Puffer 712 und 716), wie
in Block 912 angegeben, gelesen. Auch die Inhalte des vierten
Puffers (Puffer 714) werden, wie in Block 914 angegeben,
zu dem Ausgangsanschluss 718 weitergeleitet.
-
Schließlich werden
während
des Zeitschritts 9 die Inhalte des fünften Puffers (Puffer 712)
zu dem Ausgangsanschluss 718 weitergeleitet, was den Zyklus
abschließt.
-
Unter
Verwendung dieser Verfahren wird der Speichervorrichtung aufgrund
des Betriebs der Puffer genügend
Zeit zur Verfügung
gestellt, das eingehende Video zu schreiben, während gleichzeitig dem Ausgabedisplay
genügend
Daten zugeführt
werden. Da der Speicher verwendet wird, um sicherzustellen, dass
kein Inhalt am Eingangsende verworfen wird und die Wiedergabe am
Ausgangsende niemals unterversorgt ist, kann ohne Information zu
verlieren für
eine kontinuierliche Wiedergabe gesorgt werden. Zusätzlich reduziert
ein Lesen und Schreiben größerer Datenblöcke zur
gleichen Zeit das Ausmaß an
Speichervorrichtungskopfbewegung, wodurch es ermöglicht wird, dass die Speichervorrichtung
mit den Lese- und Schreibanforderungen Schritt hält.
-
Die
Größe der einzelnen
Puffer 704 bis 708 und 712 bis 716 ("B") in Megabyte hängt wenigstens teilweise von
einer Anzahl von Faktoren ab, einschließlich der Eingabe/Ausgabe-Datenrate "D", beispielsweise in Megabyte pro Sekunde,
die effektive Bandbreite der Speichervorrichtung beim Lesen oder
Schreiben "S", beispielsweise
in Megabyte pro Sekunde, und die durchschnittliche Suchzeit für Datenzugriff
für die
Speichervorrichtung pro Transaktion "t" in
Mikrosekunden. Die Zeit, die es braucht, einen Speicherpuffer zu
füllen
(B geteilt durch D), ist vorteilhafterweise größer als die Zeit, die es benötigt, zwei
Speicherpuffer (2B geteilt durch S) zu lesen oder zu schreiben zuzüglich der
durchschnittlichen Suchzeit für
Datenzugriff (t):
-
-
Ein
Auflösen
nach der minimalen Puffergröße in der
obigen Gleichung ergibt die folgende Gleichung, die die minimale
Puffergröße angibt:
-
-
Bezugnehmend
auf 10 umfasst ein Informationsübertragungssystem 1000 gemäß einer
Ausführungsform
einen in Inhaltserzeuger 1012, ein Transportbetriebssystem 1014 und
eine Mehrzahl von Empfängern 1016.
Die Empfänger 1016 können an
verschiedenen Empfangsstellen angeordnet sein, beispielsweise Wohnungen,
Büros,
Unterhaltungseinrichtungen oder andere Orte. Der Inhaltserzeuger 1012 erzeugt
angereicherte Daten (oder andere Typen von Zusatzinformation) und
Fernsehinhalt (oder andere Typen von Inhalt einschließlich A/V-Inhalt),
die über
eine Verbindung 1024 zu dem Transportbetriebssystem 1014 übertragen
werden. Die angereicherten Daten können Grafiken (z. B. Web-Seiten,
Multimedia-Information oder andere digitale Datendateien), ein Präsentationslayout
und Synchronisationsinformation aufweisen. Andere Typen von Zusatzinformation
können
Programmuntertitel, eingeschränkte
Titelnachrichten, Notfallnachrichten und Programminformation umfassen.
Die Kombination der angereichteren Daten oder Zusatzinformation
und A/V-Inhalt kann als angereicherter Inhalt bezeichnet werden.
-
Das
Transportbetriebssystem 1014 stellt eine Versorgungsinfrastruktur
für angereicherten
Inhalt bereit, die terrestrische, Kabel-, Satelliten- oder andere
Typen von Übertragungseinrichtungen
(entweder analog oder digital) umfassen kann. Der A/V-Inhalt und angereicherte
Daten können über ein
Transportmedium 1022, das eine terrestrische, eine Kabel-,
eine Satelliten- oder
ein anderer Typ von Verbindung sein kann, zu den Empfängern 1016 übertragen. 10 stellt
das Übertragungsmedium 1022 als
Satellitenverbindung dar. Die Empfänger 1016 können Fernesehgeräte, Set-Top-Boxen,
Personalcomputer oder andere Typen von Systemen aufweisen, die ausgelegt
sind, A/V-Inhalt und zugeordneten anreicherten Inhalt zu empfangen.
-
Ein
Sender 1112 überträgt Video
und angereicherten Inhalt zu einem Empfänger 1114 gemäß einer Ausführungsform
der vorliegenden Erfindung, wie in 11 gezeigt.
Das Video und der angereichtere Inhalt können dann auf dem Display 1116 wiedergegeben
werden. Alternativ kann eine Synchronisation zwischen dem angereicherten
Inhalt und dem Video, wie bei 1118 angegeben, vorgesehen
sein, und sowohl der angereicherte Inhalt als auch das Video können, wie
bei 1120 angegeben, gespeichert werden.
-
Bei
den Systemen, die angereicherten Inhalt aufweisen, können eine Übertragungspause
und -wiederaufnahme sowohl für
die Audio- und Videoinformationen als auch den angereicherten Inhalt
zum zeitversetzten Abspielen vorgesehen sein. Das kann bedeuten,
den angereicherten Inhalt erneut abzuspielen, wenn der angereicherte
Inhalt vorher während
des ursprünglichen
Abspielens aktiviert worden ist, oder es kann bedeuten, dass die
ursprüngliche
Videoinformation abgespielt und es dem Benutzer ermöglicht wird,
während des
erneuten Abspielens, den angereicherten Inhalt zum Betrachten auszuwählen.
-
Es
kann ein wahlfreier Zugriff auf ausgewählte Stellen in einem komprimierten
Videostream über
einen Schlüsselframe-Mechanismus bei einer
Ausführungsform
der vorliegenden Erfindung vorgesehen sein. Ein Schlüsselframe
oder ein intrakodierter (I) Frame ist ein vollständiges Standbild eines Videos.
Andere Frames, wie zum Beispiel die bidirektionalen (B) oder vorhergesagte
(P; engl.: predicted) Frames, in einem komprimierten Video sind
als Unterschiede gegenüber
umgebende Frames in einem Motion Pictures Experts Group (MPEG) System
wiedergegeben. MPEG-2 bezeiht sich auf die Standards 13812-1 (Systeme),
13812-2 (Video), 13818-3 (Audio) und 13818-4 (Compliance) der International
Organization for Standardization (ISO) und der International Electrotechnical
Commission (IEC) (1994). Da Schlüsselframes in sich abgeschlossen
sind, ist es möglich,
das Abspielen ausgehend von einem beliebigen Schlüs selframe
in dem Stream ohne zusätzliche
Verarbeitung wieder aufzunehmen.
-
Ein
wahlfreier Zugriff in einem willkürlichen Stream von Hypertext
Mark up Language (HTML) Steuerbefehlen ist schwierig. Daher können Schlüsselframes
bereitgestellt sein, um die HTML-Daten
und anderen anreicherten Inhalt einzuschließen. Eine Instanz der Web-Browser-Software
kann einen empfangenen Datenstream lesen, die Steuerbefehle bearbeiten
und die Daten zu einem Off-Screen-Puffer übertragen. Wie in 12 gezeigt,
wird in spezifizierten Zeitabständen
ein Schnappschuss 1202 von dem Off-Screen-Web-Browser-Puffer 1200 gemacht.
Der Schnappschuss 1202 kann optional komprimiert und mit
den internen Zustandsvariablen 1204 der Browser-Software
gespeichert werden, um einen Software-Schlüsselframe 1206 zu
erzeugen. Der Software-Schlüsselframe 1206 kann
dann beispielsweise auf einer Festplatte 1208 synchronisiert
mit dem A/V-Inhalt gespeichert werden.
-
Folglich
kann der angereicherte Inhalt von jeder Stelle in dem aufgezeichneten
Stream erneut abgespielt werden. Wenn das Abspielen wieder aufgenommen
wird, werden die Zustandsvariablen erneut in die Instanz des Browsers
geladen und On-Screen-Browser-Fenster
werden ausgehend von dem Software-Schlüsselframe
aktualisiert. Ein Verarbeiten des angereicherten Videostreams kann
dann von der angegebenen Stelle in dem Videostream wieder aufgenommen
werden.
-
Im
Betrieb kann die Software 1300 bewirken, dass der eingehende
Stream einschließlich
angereichertem Inhalt und Videoinformation, so wie er empfangen
wird, wie bei Block 1302 in 13 gezeigt,
durch den Browser gelesen wird. Der Inhalt wird gelesen (Block 1306).
Der innere Zustand des Browser ist das Ergebnis eines Lesens des
angereicherten Inhalts-Stream bis zu einer bestimmten Stelle. Um
den Zustand des Streams zu einem speziellen Zeitpunkt wieder herzustellen,
erlaubt ein Software-Schlüsselframe
eine Rekonstruktion des Frames ohne Abhängigkeiten davon, was in dem
Fluss vorher oder nachher kommt (Block 1308). Der Browser
weist basierend auf Verarbeitungssteuerbefehlen, wie empfangen,
einen internen Zustand auf. Daher kann eine vorher definierte Stelle
des Browserzustands bei Anweisung von dem Benutzer erneut geladen
werden.
-
Wenn
der Stream erneut abgespielt wird, werden die anreicherten Merkmale,
die aktiviert wurden, als der angereicherte Inhalt ursprünglich wiedergegeben
wurde, als Teil des Audio-Video-Streams
wiedergegeben. Wenn kein angereicherter Inhalt ursprünglich wiedergegeben
wurde, werden die Hotspots oder Links zu dem angereicherten Inhalt
freigegeben, um dem Betrachter zu ermöglichen, den anreicherten Inhalt
während eines
erneuten Abspielens, wenn erwünscht,
auszuwählen.
Bei einigen Ausführungsformen
der vorliegenden Erfindung kann ein sogenannter Transport Typ B
Mechanismus verwendet werden, bei dem die angereicherten Daten mit
dem Video synchronisiert werden. Siehe Enhanced Content Specification,
Advanced Television Enhancement Forum (verfügbar unter www.atvef.com).
Die vorliegende Erfindung kann jedoch auch für ein Transport Typ A Szenario
verwendet werden, bei dem Uniform Resource Locators (URLs; Adressen
von Internet-Seiten) bereitgestellt sind, um ausgehend von der Videoinformation
eine Verbindung zu den angereicherten Daten herzustellen.
-
In
einigen Fällen
der vorliegenden Erfindung kann eine Synchronisation zwischen dem
angereicherten Inhalt und der Videoinformation bei der Übertragung
vorgesehen sein. Eine Zeitkodespur kann verwendet werden, um Identifizierungen
bereitzustellen, um Video und angereicherten Inhalt zu synchronisieren.
Der Zeitkode kann in jedem der Pakete des Videos und der anreicherten
Inhaltsdaten bereitgestellt sein, um für eine Synchronisation in einem
vorgegebenen Paket zu sorgen. Der Zeitkode kann dann verwendet werden,
um das separate Multiplexen von Video und angereichertem Inhalt
und dessen erneute Kombination, wie benötigt, beispielsweise zur Wiedergabe,
zu steuern. Alternativ können
die Videopakete und die Pakete mit angereichertem Inhalt analysiert
und getrennt werden, aber die Zielkodes können verwendet werden, um diese
zur Wiedergabe wieder zusammen zu bringen.
-
Web-Browser
pflegen typischerweise einen Speicher oder einen festplattenbasierten
Cache der jüngst wiedergegebenen
Web-Seiten und -Grafiken.
Daher können
Schlüsselframes
sehr groß werden,
wenn jeder Software-Schlüsselframe
die gesamten Inhalte des Browser-Cache enthält. Der Web-Browser muss jedoch keine
separate Kopie des anreicherten Inhalts oder HTML-Objekts in den
Cache kopieren. Da das ursprüngliche
Video zuzüglich
des Streams mit anreicherten Inhalt aufgezeichnet worden ist, kann
der Web-Browser stattdessen nur eine Referenz zu der Stelle des
HTML-Objekts oder der angereicherten Daten in dem zuvor aufgezeichneten
Stream in den Cache kopieren. Dann ist e nicht notwendig, den Cache
des Web-Browser zu leeren, bis das gesamte aufgezeichnete Programm
von diesem Speicher entfernt ist.
-
Der
Software-Schlüsselframe
kann bei einer Ausführungsform
der Erfindung vielmehr ein Schnappschuss der lokalen Zustandsvariablen
des Browser sein, als die gesamten Inhalte des Browser-Cache. Der Browserzustand
umfasst Bildschirmpuffer, einen Stack und einen Heap. Objekte des
Browser-Cache werden daher nicht erfasst, aber stattdessen werden
Referenzen erfasst, beispielsweise auf Zeitkodes, um in dem Datenstream
Zeitversätze
bereitzustellen, um die aufgezeichnete Information zu finden.
-
Die
Videodaten können
einen Videoframe oder eine Mehrzahl von Videoframes definieren.
Jeder Videoframe kann (wenn mehr als ein Videoframe betroffen ist)
durch eine Frame-Identifizierung identifiziert sein. Die Frame-Identifizierung
identifiziert jeden Frame unter einer Mehrzahl von Videoframes,
die beispielsweise eine Videopräsentation,
wie zum Beispiel ein Film, ein Fernsehprogramm oder eine Web-Site,
darstellen können.
-
Eine
geeignete Frame-Identifizierung ist der Zeitkode gemäß einem
einer Vielzahl von Industriestandards einschließlich des Society of Motion
Picture and Television Engineers (SMPTE). Herkömmlicherweise werden Zeitkodes
verwendet, um eine Synchronisation zwischen Audio- und Videospuren
zu ermöglichen.
Ein anderer Zeitcode ist der vertikale Intervallzeitcode (VITC;
engl.: Vertical Interval Time Code). Der VITC kann bei einigen Anwendungen
vorteilhaft sein, da er gelesen werden kann, auch wenn das das Video
speichernde Medium angehalten wird.
-
Der
SMPTE-Zeitcode ist ein Broadcast-Standardtakt, der in dem Format
HH:MM:SS:FF aufgezeichnet werden kann, wobei FF eine Frame-Nummer
zwischen 00 und 29 ist, HH ein zweistelliger Kode für Stunden ist,
MM eine zweistelliger Kode für
Minuten ist und SS ein zweistelliger Kode für Sekunden ist. Unter der Annahme
einer Frame-Rate von 30 Frames pro Sekunde kann der SMPTE-Zeitcode
jeden Frame einer Videosequenz, wie zum Beispiel ein Film, ein Fernsehprogramm
oder andere Videoinformation, identifizieren.
-
Bei
dem obigen herkömmlichen
Verfahren ist der Zeitkode ein geeigneter Weg, einen einer Mehrzahl von
Videoframes zu identifizieren. Andere Verfahren könne auch
verwendet werden, um jeden der Videoframes zu identifizieren, einschließlich jeden
Videoframe mit einer sequenziellen Identifizierung zu versehen.
-
Daher
kann, bezugnehmend auf 14, ein Paket 1422 mit
einem Video-Schlüsselframe 1444 und einem
Software-Schlüsselframe 1426 gemäß einer
Ausführungsform
der vorliegenden Erfindung einen einzelnen Zeitkode 1428 aufweisen.
Der Video-Schlüsselframe 1424 kann,
wie bei 1430 angegeben, verwendet werden, um auf den Videospeicher 1432 zuzugreifen.
Auf vergleichbare Weise kann, wie bei 1434 angegeben, der Software-Schlüsselframe
vorgesehen sein, um auf den Browser-Cache 1436 zu verweisen,
ohne dass es dabei erforderlich ist, den gesamten Browser-Cache
zu speichern. Dies spart unnotwendige Verarbeitung und spart Speicherplatz.
-
Gemäß einer
anderen Ausführungsform
der vorliegenden Erfindung, die in 15 gezeigt
ist, kann der Zeitkode 1428a einem Video-Schlüsselframe 1424 als
einzelnes Paket 1500 zugeordnet sein. Gleichzeitig kann
ein Zeitkode 1428b als separates Paket 1502 einem
Software-Schlüsselframe 1426 zugeordnet
sein. Der Video-Schlüsselframe
kann dann verwendet werden, um auf den Videospeicher 1432 zuzugreifen.
Der Software-Schlüsselframe 1426 kann
verwendet werden, um auf den Browser-Cache 1436 zuzugreifen. Die
Zeitkodes 1428a und 1428b können gemäß einer Ausführungsform
der vorliegenden Erfindung gleich sein, um es zu ermöglichen,
den entsprechenden Video-Schlüsselframe 1424 mit
dem entsprechenden Software-Schlüsselframe 1426,
beispielsweise zum erneuten Abspielen, zu verknüpfen. Im Ergebnis können sowohl
der angereicherte Inhalt als auch die Videoinformation unter Verwendung
eines Speichers mit wahlfreiem Zugriff erneut abgespielt werden.
-
Auch
wenn die vorliegende Erfindung hinsichtlich einer begrenzten Anzahl
von Ausführungsformen beschrieben
worden ist, werden diejenigen, die auf dem Gebiet erfahren sind,
vielerlei Modifikationen und Variationen davon erkennen. Es ist
beabsichtigt, dass die beigefügten
Ansprüche
alle derartigen Modifikationen und Variationen abdecken, die in
den Umfang dieser vorliegenden Erfindung fallen.
-
Was
beansprucht wird, ist: