DE69812338T2 - Video auf anfrage mit videorecorderähnlichen funktionen - Google Patents

Video auf anfrage mit videorecorderähnlichen funktionen Download PDF

Info

Publication number
DE69812338T2
DE69812338T2 DE69812338T DE69812338T DE69812338T2 DE 69812338 T2 DE69812338 T2 DE 69812338T2 DE 69812338 T DE69812338 T DE 69812338T DE 69812338 T DE69812338 T DE 69812338T DE 69812338 T2 DE69812338 T2 DE 69812338T2
Authority
DE
Germany
Prior art keywords
video
information
client
video information
buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69812338T
Other languages
English (en)
Other versions
DE69812338D1 (de
Inventor
Nathaniel Polish
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Democrasoft Inc
Original Assignee
Burst com Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Burst com Inc filed Critical Burst com Inc
Publication of DE69812338D1 publication Critical patent/DE69812338D1/de
Application granted granted Critical
Publication of DE69812338T2 publication Critical patent/DE69812338T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17336Handling of requests in head-ends
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies

Description

  • 1. Gebiet der Erfindung
  • Diese Erfindung bezieht sich im Allgemeinen auf digitales Video, und im Besonderen auf ein System und ein Verfahren zum Verteilen und Verwalten digitaler Videoinformationen in einem Videoverteilungsnetzwerk.
  • 2. Beschreibung des Standes der Technik
  • Konventionelle Netzwerk-digitale-Video-Server werden in einer Multithread-Umgebung betrieben, um digitale Video- (und entsprechende Audio-)-Information an vielfache Klienten-Computer zu verteilen. Die Klienten-Computer wiederum bieten einem Benutzer VCR-ähnliche Steuerung der digitalen Videoinformation an, einschließlich Vorspulen, Zurückspulen, Pause, Stopp und Wiedergabe. In einigen Ausführungsformen wartet der anfordernde Klienten-Computer darauf, das gesamte digitale Videowerk zu empfangen vor Beginnen mit der Wiedergabe, so dass der Benutzer nahtlose Wiedergabe genießen kann. Jedoch werden, um ein gesamtes digitales Videowerk zu speichern, signifikanter lokaler Plattenplatz und andere Speicherressourcen benötigt.
  • In anderen Ausführungsformen fordert der Klienten-Computer geeignete Teile des digitalen Videowerks an und präsentiert die Teile auf einer Anzeigevonichtung so wie sie empfangen werden. Falls die Anwendungssoftware geeignet entworfen ist und der Netzwerk-Kommunikationskanal, über den der Klienten-Computer und der Server betrieben werden, vorhersagbar ist, dann können diese Anforderungen total transparent für den Benutzer sein und nahtlose Wiedergabe wird erreicht.
  • Jedoch, falls die digitalen Videodaten nicht innerhalb eines eher engen Zeitfensters geliefert werden, bleibt der Klienten-Computer dann stehen und die Wiedergabe wird bemerkbar beeinträchtigt. Im besten Fall kann dieses zu einer ruckartigen Wiedergabe von oder bemerkbaren Pausen in dem digitalen Videowerk führen. Im schlimmsten Fall kann die Anwendungssoftware nicht dazu entworfen sein, einen Netzwerk-Kommunikationsfehler überhaupt zu behandeln, was zu verschiedenen Systemfehlern konsequenter führen könnte als eine Störung in der Wiedergabe des digitalen Videowerks.
  • Eine typische Lösung für dieses Problem ist es, das System für das Worst-case-Szenario entwerfen, um zu verhindern, dass das Problem jemals auftritt. Dementsprechend wird der Gesamtvideoserverdurchsatz berechnet für eine Worst-case-Bitrate, welche, basierend auf aktuellen digitalen Videokompressionstechniken, über fünf Mal die durchschnittlich benötigte Bitrate sein kann. Das Worst-case-Szenario stellt ein System bereit, welches Netzwerkbandbreite ineffizient verwendet. Ferner funktioniert dieser Ansatz nicht gut in einer Umgebung, wie das Internet, welche keine dedizierten Mechanismen für Garantieren von vorhandener Netzwerkbandbreite hat. Die traditionelle Methodik skaliert nicht jenseits einer einfachen Local Area Networt-(LAN)-Umgebung. Deshalb werden ein System und ein Verfahren benötigt, um digitale Videoinformation in einer Videoverteilungsnetzwerk-Umgebung jenseits eines LANs zu verteilen und zu verwalten.
  • US-A-5,371,532 beschreibt ein System, in welchem ein zentraler Dienst zwischen Videoservern und Kundenanlagen angeordnet ist. Der zentrale Dienst verwaltet Anforderungen für Dienste von Teilnehmern und puffert Segmente von Informationsprogrammen für die Zustellung an Teilnehmer in Echtzeit unter der interaktiven Steuerung der Teilnehmer.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung stellt ein System und ein Verfahren bereit zum Verteilen und Verwalten digitaler Videoinformation in einem Video-Verteilungsnetzwerk, wie in den angefügten Ansprüchen dargelegt. Das Videoverteilungsnetzwerk-System enthält Klientenkonfigurationsdaten, einen Klientenvideopuffer zum Speichern von Videoinformationen, einen Klientenvideotreiber, welcher mit dem Klientenvideopuffer gekoppelt ist, zum Darstellen eines Teils der Videoinformation auf einem Anzeigegerät, einen Manager für den aktuellen Status zum Bestimmen der aktuellen Klientenstatusinformation, welche auf den Teil der präsentierten Videoinformation hinweist, ein Rechenwerk, welches gekoppelt ist mit dem Klientenvideopuffer und mit dem Manager für den aktuellen Status zum Weiterleiten eines Bursts von Videoinformation an den Klientenvideopuffer, basierend auf den Klientenkonfigurationsdaten und auf der Klientenstatusinformation, und eine Videopuffersteuerung, welche mit dem Klientenvideopuffer gekoppelt ist, zum Steuern des Speicherns des Bursts in dem Klientenvideopuffer.
  • Das Verfahren umfasst die Schritte des Speicherns von Videoinformation in einem Klientenvideopuffer, des Steuerns der Präsentation eines ersten Teils der Videoinformation auf einem Anzeigegerät, des Weiterleitens von Klientenstatusinformation, basierend auf der Präsentation des ersten Teils der Videoinformation an das Rechenwerk, des Weiterleitens eines Bursts von Videoinformation, basierend auf Klientenkonfigurationsdaten und auf der Klientenstatusinformation an den Klientenvideopuffer, und des Speicherns des Bursts einer Videoinformation in Speicherstellen in dem Klientenvideopuffer, basierend auf der Klientenstatusinformation.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm, welches ein Burst-Video-Verteilungsnetzwerk zum Verwalten von digitaler Videoinformation gemäß der vorliegenden Erfindung zeigt;
  • 2 ist ein Blockdiagramm, welches den Klienten-Computer zum Steuern des Klientensystems der 1 zeigt;
  • 3 ist ein Blockdiagramm, welches den Videoserver zum Steuern des Videoserversystems der 1 zeigt;
  • 4 ist ein Blockdiagramm, welches den Videopuffer der 1 in einem Anfangszustand zeigt;
  • 5 ist ein Blockdiagramm, welches den Videopuffer der 1 nach drei Sekunden der Wiedergabe zeigt;
  • 6 ist ein Blockdiagramm, welches den Videopuffer der 1 nach zwei Sekunden der erneuten Ansicht zeigt;
  • 7 ist ein Blockdiagramm, welches den Videopuffer der 1 nach drei Sekunden der Wiedergabe und zwei Sekunden der erneuten Ansicht zeigt; und
  • 8 ist ein Flussdiagramm, welches ein bevorzugtes Verfahren zum Verwalten digitaler Videoinformation in einem ausgedehnten Video-Verteilungsnetzwerk zeigt.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • 1 ist ein Blockdiagramm eines Burst-Video-Verteilungsnetzwerks 100, welches ein Videoserversystem 105 einschließt, welches via eines Signalbusses 110 mit einem Klientensystem 115 gekoppelt ist. Das Klientensystem 115 ist gekoppelt via eines Kommunikationskanals 120 mit einer Eingabevorrichtung 125 und gekoppelt via eines Kommunikationskanals 130 mit einer Anzeigevorrichtung 135. Das Klientensystem 115 empfängt Eingabesteuersignale von einem Benutzer via der Eingabevorrichtung 125 und leitete dementsprechend passende Videoinformation an eine Anzeigevorrichtung 135 weiter.
  • Das Videoserversystem 105 speichert ein Videowerk 140, wie ein Musikvideo, und enthält ein Rechenwerk 145 zum Bemessen und Selektieren eines Bursts von Videoinformation von dem Videowerk 140 zum Weiterleiten an das Klientensystem 115. Das Rechenwerk 145 selektiert und leitet den Burst an ein Kommunikationswerk 150 weiter, welches den Burst komprimiert (z. B. unter Verwendung von MPEG-Kompression), zusammenpackt, adressiert und weiterleitet via des Kommunikationskanals 110 an das Klientensystem 115. Operationen des Rechenwerks 145, einschließend Bestimmen, einem Klientensystem 115 zu erlauben, auf das Videoserversystem 105 zuzugreifen, und Selektieren des geeignetsten Klientensystems 115 in einer Umgebung, welche mehrfache Klientensysteme 115 hat, werden detaillierter in der quer-verwiesenen Patentanmeldung beschrieben, welche her durch eine Referenz inkorporiert ist.
  • Das Klientensystem 115 umfasst ein Kommunikationswerk 155 zum Dekomprimieren von Bursts von dem Videoserversystem 105 und zum Komprimieren, Packen, Adressieren und Übertragen von Information an das Kommunikationswerk 150, wie hier beschrieben. Ein Klientenkonfigurationswerk 160 leitet Klientenkonfigurationsdaten 162 an das Kommunikationswerk 155 weiter, welches die Daten 162 via des Kommunikationswerks 150 an das Rechenwerk 145 weiterlei tet. Das Rechenwerk 145 benutzt dann die Daten 162, um zu bestimmen, ob dem Klientensystem 115 erlaubt wird, auf das Videoserversystem 105 zuzugreifen. Dies bedeutet, dass das Rechenwerk 145 die Bedürfnisse des Klientensystems 115 untersuchen kann, um zu bestimmen, ob das Videoserversystem 105 genügend Kapazität verfügbar hat, um Zugriff zu gewähren. Falls Zugriff gewährt wird, nutzt das Rechenwerk 145 dann die Klientenkonfigurationsdaten 162, um die Größe des Bursts von Videoinformation, welche an das Klientensystem 115 weiter zu leiten sind, zu bestimmen.
  • Nach Empfang eines Bursts von Videoinformation leitet das Kommunikationswerk 155 den Burst an einen Videopuffer 165 zum Speichern weiter. Eine Videopuffersteuerung 175 verwaltet den Videopuffer 165, d. h., verfolgt, welche Teile des Videopuffers 165 verfügbar sind zum Speichern. Die Verwaltung des Videopuffers 165 wird unten mit Bezug auf 4-7 detaillierter beschrieben. Ein Videotreiber 170 extrahiert Videoinformation von dem Videopuffer 165, welche auf der Anzeigevorrichtung 135 zu präsentieren ist. Nach Präsentieren der Videoinformation informiert der Videotreiber 170 die Videopuffersteuerung 175, welche den Videopuffer 165 demgemäß aktualisiert.
  • Ein Benutzer, welcher eine Eingabevorrichtung 125 betreibt, kann die Präsentation von Videoinformation steuern durch tatsächliches Steuern des Videotreibers 170. Dies bedeutet, der Benutzer kann ein Eingabesteuersignal selektieren aus Optionen einschließlich Rückspulen 182, Vorspulen 184, Wiedergabe 186, Pause 188 und Stopp 190. Die Eingabevorrichtung 125 leitet das selektierte Benutzersteuersignal an eine Eingabeschnittstelle 195 weiter, welche das Benutzersteuersignal an den Videotreiber 170 sendet. Basierend auf dem selektierten Steuersignal reguliert der Videotreiber 170 die Videoinformation, welche von dem Videopuffer 165 extrahiert wird. Zum Beispiel, wenn Wiedergabe 186 selektiert ist, dann extrahiert der Videotreiber 170 Videoinformation von dem Videopuffer 165, um eine Echtzeit-Videopräsentation zu erzeugen. Wenn Rückspulen 182 selektiert ist, dann selektiert der Videotreiber 170 relevante Teile, wie jeden dritten Rah men, der Videoinformation von dem Videopuffer 165 in der umgekehrten Richtung, um eine schnell zurückspulende Videopräsentation zu erzeugen.
  • Die Videopuffersteuerung 175 informiert einen Manager für den aktuellen Status 180 über den aktuellen Status der Videoinformation, welche in dem Videopuffer 165 gespeichert ist. Der aktuelle Status enthält die Mengenangabe der zukünftigen Videoinformation und die Mengenangabe der vergangenen Videoinformation. Zum Beispiel kann die aktuelle Statusinformation anzeigen, dass ungefähr zwei Sekunden einer zukünftigen Videoinformation (oder ungefähr zwei Megabytes einer Videoinformation) und ungefähr acht Sekunden einer vergangenen Videoinformation (oder ungefähr acht Megabytes einer Videoinformation) in dem Videopuffer 165 verbleibt. Basierend auf entweder dem aktuellen Status oder auf vorbestimmten Intervallen, z. B. jede drei Sekunden, leitet der Manager für den aktuellen Status 180 aktuelle Statusinformation an das Rechenwerk 145 des Videoservers 105 weiter. Das Rechenwerk 145 benutzt die aktuelle Statusinformation, wie beschrieben in der quer-verwiesenen Patentanmeldung, um einen Burst einer Videoinformation zu bemessen und für eine Übertragung an den Klienten 115 zu selektieren.
  • Ein Netzwerk 100 kann ferner ein Plattenpuffersystem 195 umfassen zur Verwendung durch einen Produktionsmanager zum Speichern einer Kopie des Videowerks 140. Wenn das Videoserversystem 105 Videoinformation an das Klientensystem 115 weiterleitet, kopiert das Plattenpuffersystem 195 die Videoinformation in den Speicher (nicht gezeigt). Das Plattenpuffersystem 195 umfasst größtenteils die gleichen Komponenten wie das Klientensystem 115. Jedoch wird der Videopuffer 165 durch Plattenspeicher (nicht gezeigt) ersetzt, welcher genügend groß ist, um das komplette Videowerk 140 zu halten. Die Videopuffersteuerung 175 wird ersetzt durch eine Plattenspeichersteuerung (nicht gezeigt), welche die Videoinformation untersucht und diese chronologisch speichert. Alternativ kann das Plattenpuffersystem 195 innerhalb des Klientensystems 115 an das Kommu nikationswerk 155 und an den Videotreiber 170 gekoppelt sein zum Speichern einer Kopie des Videowerks, wie auf der Anzeige 135 präsentiert.
  • 2 ist ein Blockdiagramm eines Computersystems 200, welches eine zentrale Prozessoreinheit (Central Processing Unit – CPU) 205, wie einen Motorola Power PC®-Mikroprozessor oder einen Intel Pentium®-Mikroprozessor, enthält. Ein Eingabeport 210 zum Anschließen einer Eingabevorrichtung, wie ein Keyboard und eine Maus, und ein Ausgangsport 215 zum Anschließen einer Ausgabevorrichtung, wie eine Kathodenstrahlröhren-(Cathode Ray Tube – CRT)-Anzeige, sind via eines Signalbusses 220 mit der CPU 205 verbunden. Eine Kommunikationsschnittstelle 225, eine Datenspeichervorrichtung 230, wie ein Nur-Lese-Speicher (Read Only Memory – ROM) und eine magnetische Platte und ein Speicher mit wahlfreiem Zugriff (Random Access Memory – RAM) 235 sind ferner via des Signalbusses 220 mit der CPU 205 verbunden. Die Kommunikationsschnittstelle 250 ist konventionell via des Kommunikationskanals 110, wie ein Internet, mit der Kommunikationsschnittstelle 310 (3) des Videoservers 300 verbunden.
  • Ein Betriebssystem 240 enthält ein Programm, welches das Verarbeiten durch die CPU 205 steuert, und wird typischerweise in einer Datenspeichervorrichtung 230 gespeichert und in das RAM 235 für die Ausführung geladen. Das Klientensystem 115 ist ein Programm, welches wie beschrieben in 1 arbeitet, und kann auch in der Datenspeichervorrichtung 230 gespeichert werden und in das RAM 235 für die Ausführung durch die CPU 205 geladen werden.
  • 3 ist ein Blockdiagramm eines Videoservers 300, welcher enthält eine CPU 305, eine Kommunikationsschnittstelle 310, eine Datenspeichervorrichtung 320 und RAM 325, welches mit einem Signalbus 315 verbunden ist. Die Kommunikationsschnittstelle 310 ist konventionell via des Kommunikationskanals 110 mit der Kommunikationsschnittstelle 225 des Klientencomputers 200 verbunden.
  • Ein Betriebssystem 330 steuert die Verarbeitung durch die CPU 305 und wird typischerweise in der Datenspeichervorrichtung 320 gespeichert und in das RAM 325 für die Ausführung geladen. Das Videoserversystem 105 ist ein Programm, welches wie in 1 beschrieben arbeitet, und kann ebenso in die Datenspeichervorrichtung 320 gespeichert werden und in das RAM 325 für die Ausführung durch die CPU 305 geladen werden.
  • 4 ist ein Blockdiagramm, welches den Videopuffer 165 in einem Anfangszustand zeigt. Der Videopuffer 165 wird gezeigt als elf sequentielle Sekunden digitaler Videoinformation enthaltend, einschließlich der aktuellen Sekunde einer Videoinformation (d. h., die Sekunde einer Videoinformation, welche unmittelbar auf der Anzeige 135 basierend auf der Benutzeranforderung, via der Eingabevorrichtung 125 wiederzugeben ist), fünf vorherige Sekunden einer Videoinformation und fünf zukünftige Sekunden einer Videoinformation. Dies bedeutet, dass das Rechenwerk 145 des Videoserversystems 105 entscheidet, basierend auf den Klientenkonfigurationsdaten 165 und auf dem aktuellen Status des Klientensystems 115, elf Sekunden des Videowerks 140 an das Klientensystem 115 zu senden. Die elf Sekunden von Information werden in dem Videopuffer 165 des Klientensystems 115 gespeichert und durch die Videopuffersteuerung 175 verwaltet.
  • Die Videopuffersteuerung 175 hält einen Zeiger auf die aktuelle Sekunde einer Videoinformation (bezeichnet als "t = 0") und kann einfach Positionen der anderen Sekunden einer Information relativ zu der Position des aktuellen Zeigers berechnen. Daher weiß die Videopuffersteuerung 175 aktuell, dass die fünf Sekunden einer Information, welche der aktuellen Sekunde einer Information vorausgehen [bezeichnet als "(–5)", "(4)", "(–3)", "(–2)" und "(–1)"] mit den fünf vorherigen Sekunden einer Information korrespondieren und dass die fünf Sekunden einer Information, welche der aktuellen Sekunde einer Information folgen [bezeichnet als "(+1)", "(+2)", "(+3)", "(+4)" und "(+5)"] mit den fünf zukünftigen Sekunden einer Information korrespondieren. Obwohl die Videopuffersteuerung 175 gezeigt ist und beschrieben ist als nur einen Zeiger auf den Videopuffer 165 verwendend, kann die Videopuffersteuerung 175 zusätzliche Zeiger verwenden, um die zeitliche Organisation der Videoinformation aufrecht zu erhalten, ohne zu erfordern, dass die physikalische Organisation mit der zeitlichen Organisation korrespondiert.
  • 5 ist ein Blockdiagramm, welches den Videopuffer 165 der 4 nach drei Sekunden der Wiedergabe zeigt, relativ zu dem Status des Videopuffers 165 in 4. Die Videopuffersteuerung 175 aktualisiert den Zeiger, um die aktuelle Sekunde einer Videoinformation zu referenzieren, welche drei Sekunden einer Information über der aktuellen Sekunde hinaus sind, welche in 4 behandelt wurde. Dementsprechend bestimmt die Videopuffersteuerung 175, dass der Videopuffer 165 zu dieser Zeit zwei zukünftige Sekunden enthält und acht vorherige Sekunden einer Videoinformation.
  • Da die Videopuffersteuerung 175 der beispielhaften Ausführungsform, welche hier beschrieben ist, fünf zukünftige Sekunden und fünf vorherige Sekunden einer Information enthält, bestimmt die Videopuffersteuerung 175, dass die drei ältesten Sekunden [bezeichnet in 4 als "(–3)", "(4)" und "(–5)"] entbehrlich sind. Der Manager des aktuellen Status 180 des Klientensystems 115 sendet aktuelle Statusinformation an das Rechenwerk 145 des Videoserversystems 105, welches dementsprechend drei zukünftige Sekunden von Information an das Klientensystem 115 sendet. Nach Empfangen der drei zukünftigen Sekunden von Information speichert die Videopuffersteuerung 175 die drei zukünftigen Sekunden von Information [bezeichnet in 5 als "(+3", "(+4)" und "(+5)"] in dem Platz der drei ältesten Sekunden von Information. Die Videopuffersteuerung 175 kann die Chronologie der elf Sekunden von Information erhalten durch Verfolgen aller Änderungen, welche an dem Videopuffer 165 gemacht werden.
  • 6 ist ein Blockdiagramm, welches den Videopuffer 165 der 4 zeigt nach Rückspulen von zwei Sekunden von Information, relativ zu dem Zustand des Vi deopuffers 165 in 4. Die Videopuffersteuerung 175 aktualisiert den aktuellen Zeiger, um die aktuelle Sekunde von Videoinformation zu referenzieren, welche zwei Sekunden vor der aktuellen Sekunde von Information ist, welche in 4 behandelt wurde. Dementsprechend bestimmt die Videopuffersteuerung 175, dass der Videopuffer 165 drei frühere Sekunden von Information und sieben zukünftige Sekunden von Information enthält.
  • Wie oben gesagt, erhält die Videopuffersteuerung 175 der Ausführungsform, welche hier beschrieben ist, fünf zukünftige Sekunden und fünf frühere Sekunden von Information. Daher bestimmt die Videopuffersteuerung 175, dass die sechste zukünftige Sekunde [bezeichnet in 4 als "(+4)") und die siebte zukünftige Sekunde von Information [bezeichnet in 4 als "(+5)"] entbehrlich sind und wird diese ersetzen nach Empfang von zwei früheren Sekunden von Information [bezeichnet in 6 als "(–4)" und "(–5)") von dem Videoserversystem 105.
  • 7 ist ein Blockdiagramm, welches den Videopuffer 165 der 4 zeigt nach Wiedergabe von drei Sekunden von Information und dann nach Zurückspulen von zwei Sekunden von Information. 5 zeigt den Videopuffer 165 nach drei Sekunden der Wiedergabe. Daher ist Aktualisieren des Videopuffers 165, wie gezeigt in 5, für die zwei Sekunden des Zurückspulens angemessen.
  • Die Videopuffersteuerung 175 aktualisiert den aktuellen Zeiger der 5, um die aktuelle Sekunde von Information zu referenzieren, welche zwei Sekunden von Information in die Vergangenheit ist. Dementsprechend enthält der Videopuffer 165 sieben zukünftige Sekunden von Information und drei frühere Sekunden von Information und die Videopuffersteuerung 175 bestimmt, dass die zwei am weitesten in der Zukunft liegenden Sekunden von Information [bezeichnet in 5 als "(+4)" und "(+5)"] entbehrlich sind. Daher wird die Videopuffersteuerung 175, nach Empfang von zwei früheren Sekunden von dem Videoserversystem 105, die zwei am weitesten in der Zukunft liegenden Sekunden von Information mit den zwei früheren Sekunden von Information [bezeichnet in 7 als "(–4)" und " (–5)"] ersetzen.
  • 8 ist ein Flussdiagramm, welches ein bevorzugtes Verfahren 800 für Verwalten digitaler Videoinformation in einem Video-Verteilungsnetzwerk 100 zeigt. Verfahren 800 beginnt damit, dass das Videoserversystem 105 in Schritt 805 das komplette Videowerk 140 im Speicher 320 oder 325 speichert. Das Videowerk 140 kann in dem Videoserversystem 105 gespeichert werden durch Übertragen desselben von einer Compact Disk, von einer Live-Aufnahme oder via Internet von einem anderen Computer (nicht gezeigt).
  • In Schritt 810 wird der Videotransferdurchsatz ausgehandelt, wie in der ebenfalls anhängigen, quer-verwiesenen Patentanmeldung beschrieben. Kurz gesagt, fordert das Klientensystem 115 Zugriff auf das Videowerk 140 und leitet Klientenkonfigurationsinformation 162 an das Videoserversystem 105 weiter. Das Rechenwerk 145 untersucht die Klientenkonfigurationsinformation 162, um zu bestimmen, ob das Serversystem 105 geeignete Transferkapazität verfügbar hat, um die Verbindung zu erlauben. Falls geeignete Kapazität nicht erhältlich ist, dann handeln das Videoserversystem 105 und das Klientensystem 115 entweder reduzierte Konfigurationsdaten aus oder beenden die Verbindung.
  • Unter der Annahme, dass eine akzeptable Videotransferkapazität ausgehandelt wurde, leitet das Rechenwerk 145 in Schritt 815 einen ersten Burst des Videowerks 140 an das Klientensystem 115 weiter, welches den ersten Burst in dem Videopuffer 165 speichert.
  • Das Klientensystem 115 in Schritt 820 pollt für ein Eingangssignal, wie Wiedergabe 186, Rückspulen 182, Vorspulen 184, Pause 188 und Stopp 190. Basierend auf dem Eingangssignal ruft der Videotreiber 170 in Schritt 825 die geeignete Videoinformation ab, d. h. die aktuelle Sekunde von Information, von dem Videopuffer 165 und leitete diese an die Anzeige 135 für die Darstellung weiter. Zum Beispiel, wenn Wiedergabe 186 ausgewählt ist, dann leitet der Videotreiber 170 Videoinformation an die Anzeige 135 zum Darstellen der Bilder in Echtzeit weiter. Wenn Vorspulen 184 ausgewählt ist, dann ruft der Videotreiber 170 ausgewählte Teile der Videoinformation, wie jeden dritten zukünftigen Frame, von dem Videopuffer 165 ab und leitete diese an die Anzeige 135 zum Simulieren von VCR-ähnlichem Vorlauf weiter. Wenn Rückspulen 182 ausgewählt ist, dann ruft der Videotreiber 170 ausgewählte Teile der Videoinformation, wie jeden dritten früheren Frame, von dem Videopuffer 165 ab und leitete diese an die Anzeige 135 zum Simulieren von VCR-ähnlichem Rückspulen weiter. Wenn Pause 188 ausgewählt ist, dann ruft der Videotreiber 170 die Videoinformation, welche den aktuellen Frame repräsentiert, ab und leitet diese an die Anzeige 135 zum Erhalten einer VCR-ähnlichen Pause weiter. Zuletzt, wenn Stopp 190 ausgewählt ist, dann kann der Videotreiber 170 vorherbestimmte "blue screen"-Videoinformation abrufen und diese an die Anzeige 135 zur Darstellung weiterleiten. Andere mögliche Eingangssignale enthalten Strobe, Wiedergabe mit halber Geschwindigkeit, doppelt schnelles Vorspulen, etc..
  • Die Videopuffersteuerung 175 empfängt in Schritt 830 von dem Videotreiber 170 Anzeigestatusinformation, welche angibt, was auf der Anzeige 135 dargestellt wurde, und verwaltet dementsprechend den Videopuffer 165. Die Videopuffersteuerung 175 erhält den Status des Videopuffers 165 und leitet den Status an den Manager für den aktuellen Status 180 weiter. Der Manager für den aktuellen Status 180 bestimmt in Schritt 835, ob vorherbestimmte Kriterien, welche angeben, dass es Zeit ist, die Klientenstatusinformation an das Rechenwerk 145 weiter zu leiten, erreicht wurden. Die vorherbestimmten Kriterien können basieren auf der Anzahl von Sekunden, welche in jeder Richtung verbleiben. Zum Beispiel, falls nur drei zukünftige Sekunden von Videoinformation in dem Videopuffer 165 verbleiben, dann kann der Manager für den aktuellen Status 180 bestimmen, dass es Zeit ist, das Rechenwerk 145 von dem Klientenstatus zu informieren. Falls die vorherbestimmten Kriterien erreicht wurden, leitet der Manager für den aktuellen Status 180 in Schritt 840 die aktuelle Statusinformation an das Rechenwerk 145 weiter. Verfahren 800 fährt dann mit Schritt 845 fort. Andernfalls, wenn die vorherbestimmten Kriterien nicht erreicht wurden, springt Verfahren 800 über Schritt 840 und fährt bei Schritt 845 fort.
  • In Schritt 845 bestimmt das Rechenwerk 145, ob vorherbestimmte Kriterien des Serversystems, welche angeben, dass es Zeit ist, mehr des Videowerks 140 an das Klientensystem 115 weiter zu leiten, erreicht wurden. In diesem Fall können die vorherbestimmten Kriterien des Serversystems auf Klientenkonfigurationsdaten 162 basieren, welche enthalten die erwartete Klientenvideoinformations-Verbrauchsrate, die erwartete Videoinformations-Übertragungslatenz, das aktuell gewählte Eingangssignal, etc. Falls die vorherbestimmten Kriterien erhalten wurden, dann berechnet und leitet weiter das Rechenwerk 145 in Schritt 850 einen Burst des Videowerks 140 an das Klientensystem 115 und Verfahren 800 fährt mit Schritt 855 fort. Andernfalls, wenn die vorherbestimmten Kriterien nicht erreicht wurden, dann springt das Rechenwerk 145 über Schritt 850 und fährt bei Schritt 855 fort. In Schritt 855 wird eine Entscheidung getroffen, ob die Kommunikation zwischen dem Serversystem 105 und dem Klientensystem 115 beendet wird. Falls so, dann endet Verfahren 800. Andernfalls kehrt das Verfahren zu Schritt 820 zurück.
  • Die vorhergehende Beschreibung der bevorzugten Ausführungsformen der Erfindung sind nur beispielhaft und andere Variationen der oben beschriebenen Ausführungsformen und Verfahren werden durch die vorliegende Erfindung bereit gestellt. Komponenten dieser Erfindung können implementiert werden durch Verwenden eines programmierbaren universalen Digitalcomputers unter Verwendung von applikationsspezifischen integrierten Schaltkreisen oder unter Verwendung eines Netzwerks von verbundenen konventionellen Komponenten und Schaltkreisen. Die Ausführungsformen, welche hier beschrieben wurden, wurden für den Zweck der Darstellung präsentiert und sind nicht gedacht, erschöpfend oder beschränkend zu sein. Das System wird nur durch die folgenden Ansprüche beschränkt.

Claims (34)

  1. Verfahren für das Verwalten digitaler Videoinformationen in einem Video-Verteilungsnetzwerk, welches die Schritte aufweist: Empfangen eines Eingangssteuersignals für das Auswählen eines ersten Teils einer Videoinformation von einem Videopuffer (165) für die Ausgabe; Auswählen des ersten Teils der Videoinformation von dem Videopuffer (165) für die Ausgabe, als Antwort auf das Eingangssteuersignal; Anfordern eines Videoinformations-Bursts von einem Videoserver (105), wobei der Anforderungsschritt einen Weiterleitungsschritt der Klientenstatusinformation an den Videoserver (105) einschließt, wobei die Klientenstatusinformation den aktuellen Status der Videoinformationsdaten angibt, welche in dem Videopuffer (165) verbleiben und wobei die Klientenstatusinformation dazu dient, die Größe des Videoinformations-Bursts festzulegen und diesen auszuwählen; und Ersetzen eines zweiten Teils der Videoinformation in dem Videopuffer (165) mit dem angeforderten Videoinformations-Burst.
  2. Verfahren gemäß Anspruch 1, wobei die Klientenstatusinformation die Menge der zukünftigen Videoinformation und die Menge der vorhergehenden Videoinformation, welche in dem Videopuffer (165) verbleibt, angibt.
  3. Verfahren gemäß einem der Ansprüche 1 oder 2, wobei die Klientenstatusinformation weiter die Klientenvideoinformations-Verbrauchsrate als Klientenkonfigurationsdaten angibt.
  4. Verfahren gemäß einem der Ansprüche 1 oder 2, wobei die Klientenstatusinformation weiter die Videoinformationsübertragungslatenz als Klientenkonfigurationsdaten angibt.
  5. Verfahren gemäß einem der Ansprüche 1 oder 2, wobei die Klientenstatusinformation weiter den Eingangssteuer-Signalstatus als Klientenkonfigurationsdaten angibt.
  6. Verfahren gemäß einem der Ansprüche 1 oder 2, wobei die Klientenstatusinformation weiter die Größe des Videopuffers als Klientenkonfigurationsdaten angibt.
  7. Verfahren gemäß irgendeinem der vorhergehenden Ansprüche, welches weiter aufweist, nach Anforderung des Videoinformations-Bursts, den Empfangsschritt des Videoinformations-Bursts, als Antwort auf die Klientenstatusinformation, von dem Videoserver (105).
  8. Verfahren gemäß Anspruch 7, welches weiter den Auswahlschritt des zweiten Teils der Videoinformation, basierend auf der Klientenstatusinformation, aufweist.
  9. Verfahren gemäß Anspruch 8, wobei der Auswahlschritt das Auswählen der entbehrlichsten Speicherstellen in dem Videopuffer (165) als den zweiten Teil der Videoinformation einschließt.
  10. Verfahren gemäß irgendeinem der vorhergehenden Ansprüche, wobei die Größe des Videopuffers (165) festgelegt wird, um nur eine vorher bestimmte Menge einer Videoinformation zu speichern.
  11. Verfahren gemäß irgendeinem der vorhergehenden Ansprüche, wobei die Videoinformation in einem Videopuffer (165) eines Klientensystems (115) gespeichert ist, wobei der erste Teil der Videoinformation auf einem Anzeigegerät (135) überwacht und dargestellt wird, wobei die Klientenstatusinformation an ein Rechenwerk (145) in dem Videoserver (105) weitergeleitet wird, basierend auf der Darstellung des ersten Teils der Videoinformation, wobei eine Videoinformation, welche auf Klientenkonfigurationsdaten und auf der Klientenstatusinformation basiert, an den Klientenvideopuffer (165) weitergeleitet wird; und wobei der Videoinformations-Burst in Speicherstellen in dem Klientenvideopuffer (165) gespeichert wird, basierend auf der Klientenstatusinformation.
  12. Verfahren gemäß Anspruch 11, welches weiter aufweist, vor der Überwachungsdarstellung des ersten Teils, den Empfangsschritt eines Eingangssteuersignals, und wobei der Darstellungsüberwachungsschritt auf das Eingangssteuersignal reagiert.
  13. Verfahren gemäß irgendeinem der vorhergehenden Ansprüche, wobei das Eingangssteuersignal eine Wiedergabeanforderung (186) ist.
  14. Verfahren gemäß irgendeinem der Ansprüche 1 bis 12, wobei das Eingangssteuersignal eine Rückspulanforderung (182) ist.
  15. Verfahren gemäß irgendeinem der Ansprüche 1 bis 12, wobei das Eingangssteuersignal eine Vorspulanforderung (184) ist.
  16. Verfahren gemäß irgendeinem der Ansprüche 1 bis 12, wobei das Eingangssteuersignal eine Pausenanforderung (188) ist.
  17. Verfahren gemäß irgendeinem der Ansprüche 1 bis 12, wobei das Eingangssteuersignal eine Stoppanforderung (190) ist.
  18. Ein System, welches aufweist: Mittel (165) für das Speichern von Videoinformation; Mittel (195) für das Empfangen eines Eingangssteuersignals; Mittel (130) für das Darstellen eines ersten Teils einer Videoinformation auf einem Anzeigegerät (135) als Antwort auf ein Eingangssteuersignal; Mittel (155) für das Weiterleiten einer aktuellen Statusinformation, bezeichnend für den ersten dargestellten Teil, an ein Videoserversystem (105); Mittel für das Empfangen eines Videoinformations-Bursts, als Antwort auf die aktuelle Statusinformation, von dem Videoserversystem (105), wobei die aktuelle Statusinformation den aktuellen Status der Videoinformationsdaten angibt, welche in dem Speichermittel (165) verbleiben, und wobei die Statusinformation dazu dient, die Größe des Videoinformations-Bursts festzulegen und diesen auszuwählen; und Mittel (175) für das Ersetzen eines zweiten Teils einer Videoinformation in dem Videopuffer, basierend auf der aktuellen Statusinformation, mit dem Videoinformations-Burst.
  19. System gemäß Anspruch 18, wobei: das Mittel für das Speichern einer Videoinformation ein Videopuffer (165) ist; das Mittel für das Darstellen eines ersten Teils einer Videoinformation auf einem Anzeigegerät (135) ein Videotreiber (170) ist, welcher an den Videopuffer (165) gekoppelt ist; das Mittel (195) für das Empfangen eines Eingangssteuersignals eine Eingangsschnittstelle (195) ist; welche an den Videotreiber (170) gekoppelt ist und den Videotreiber (170) steuert; das Mittel für die Weiterleitung aktueller Statusinformation, welche . für den ersten dargestellten Teil bezeichnend ist, an ein Videoserversystem (105) ein Manager (180) für den aktuellen Status ist; das Mittel für das Empfangen eines Videoinformations-Bursts von dem Videoserversystem (105) ein Kommunikationsapparat (155) ist, welcher mit dem Videopuffer (165) gekoppelt ist; und das Mittel für das Ersetzen eines zweiten Teils einer Videoinformation in dem Videopuffer mit dem Videoinformations-Burst eine Videopuffersteuerung (175) ist, welche mit dem Videopuffer (165) gekoppelt ist für die Speichersteuerung des Videoinformations-Bursts in dem Videopuffer (165), basierend auf der aktuellen Statusinformation.
  20. System gemäß Anspruch 18 oder 19, wobei die aktuelle Statusinformation die Menge der zukünftigen Videoinformation und die Menge der vorherigen Videoinformation, welche in dem Videopuffer (165) verbleibt, angibt.
  21. System gemäß irgendeinem der vorhergehenden Ansprüche 18 bis 20, wobei die aktuelle Statusinformation weiter die Klientenvideoinformations-Verbrauchsrate als Klientenkonfigurationsdaten angibt.
  22. System gemäß irgendeinem der vorhergehenden Ansprüche 18 bis 20, wobei die aktuelle Statusinformation weiter die Videoinformationsübertragungslatenz als Klientenkonfigurationsdaten angibt.
  23. System gemäß irgendeinem der vorhergehenden Ansprüche 18 bis 20, wobei die aktuelle Statusinformation weiter den Eingangssteuersignalstatus als Klientenkonfigurationsdaten angibt.
  24. System gemäß irgendeinem der vorhergehenden Ansprüche 18 bis 20, wobei die aktuelle Statusinformation weiter die Größe des Videopuffers als Klientenkonfigurationsdaten angibt.
  25. System gemäß irgendeinem der vorhergehenden Ansprüche 19 bis 24, wobei die Videopuffersteuerung (175) den Videoinformations-Burst in den entbehrlichsten Speicherstellen in dem Videopuffer (165) speichert.
  26. System gemäß irgendeinem der vorhergehenden Ansprüche 18 bis 25, wobei die Größe des Speichermittels (165) festgelegt ist, um nur eine vorherbestimmte Menge einer Videoinformation zu speichern.
  27. System gemäß irgendeinem der vorhergehenden Ansprüche 18 bis 26, wobei das Eingangssteuersignal eine Wiedergabeanforderung ist.
  28. System gemäß irgendeinem der vorhergehenden Ansprüche 18 bis 26, wobei das Eingangssteuersignal eine Rückspulanforderung ist.
  29. System gemäß irgendeinem der vorhergehenden Ansprüche 18 bis 26, wobei das Eingangssteuersignal eine Vorspulanforderung ist.
  30. System gemäß irgendeinem der vorhergehenden Ansprüche 18 bis 26, wobei das Eingangssteuersignal eine Pausenanforderung ist.
  31. System gemäß irgendeinem der vorhergehenden Ansprüche 18 bis 26, wobei das Eingangssteuersignal eine Stoppanforderung ist.
  32. Ein Computerprogrammprodukt, welches Programmcodemittel aufweist, welche in einem Computer-lesbaren Speichermedium gespeichert sind, um einen Computer zu befähigen, die Schritte von irgendeinem der Ansprüche 1 bis 17 auszuführen, falls das Programmprodukt auf dem Computer ausgeführt wird.
  33. Computerprogramm, welches Programmcodemittel aufweist für das Ausführen der Schritte von irgendeinem der Ansprüche 1 bis 17, falls das Programm auf einem Computer ausgeführt wird.
  34. System gemäß irgendeinem der Ansprüche 18 bis 31, dadurch gekennzeichnet, dass es ein Computernetzwerksystem ist.
DE69812338T 1997-04-14 1998-04-13 Video auf anfrage mit videorecorderähnlichen funktionen Expired - Lifetime DE69812338T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/837,202 US5963202A (en) 1997-04-14 1997-04-14 System and method for distributing and managing digital video information in a video distribution network
PCT/US1998/007382 WO1998047290A1 (en) 1997-04-14 1998-04-13 Video on demand with vcr like functions
US837202 2004-04-30

Publications (2)

Publication Number Publication Date
DE69812338D1 DE69812338D1 (de) 2003-04-24
DE69812338T2 true DE69812338T2 (de) 2004-03-04

Family

ID=25273804

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69812338T Expired - Lifetime DE69812338T2 (de) 1997-04-14 1998-04-13 Video auf anfrage mit videorecorderähnlichen funktionen

Country Status (9)

Country Link
US (1) US5963202A (de)
EP (1) EP0976249B1 (de)
JP (1) JP2001520829A (de)
KR (1) KR20010006324A (de)
AT (1) ATE235131T1 (de)
AU (1) AU748338B2 (de)
DE (1) DE69812338T2 (de)
IL (1) IL132231A0 (de)
WO (1) WO1998047290A1 (de)

Families Citing this family (168)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6769128B1 (en) 1995-06-07 2004-07-27 United Video Properties, Inc. Electronic television program guide schedule system and method with data feed access
US10011247B2 (en) 1996-03-27 2018-07-03 Gtj Ventures, Llc Control, monitoring and/or security apparatus and method
US10152876B2 (en) 1996-03-27 2018-12-11 Gtj Ventures, Llc Control, monitoring, and/or security apparatus and method
US7253731B2 (en) 2001-01-23 2007-08-07 Raymond Anthony Joao Apparatus and method for providing shipment information
US6469753B1 (en) 1996-05-03 2002-10-22 Starsight Telecast, Inc. Information system
US7657835B2 (en) * 1997-01-31 2010-02-02 Making Everlasting Memories, L.L.C. Method and system for creating a commemorative presentation
US6340978B1 (en) 1997-01-31 2002-01-22 Making Everlasting Memories, Ltd. Method and apparatus for recording and presenting life stories
US9113122B2 (en) 1997-04-21 2015-08-18 Rovi Guides, Inc. Method and apparatus for time-shifting video and text in a text-enhanced television program
US6362856B1 (en) * 1997-06-30 2002-03-26 Sun Microsystems, Inc. Play to air control workstation system in a distributed object television broadcast studio
ES2475242T3 (es) 1997-07-21 2014-07-10 Gemstar Development Corporation Sistemas y métodos para mostrar y grabar interfaces de control
US9075136B1 (en) 1998-03-04 2015-07-07 Gtj Ventures, Llc Vehicle operator and/or occupant information apparatus and method
US7272298B1 (en) 1998-05-06 2007-09-18 Burst.Com, Inc. System and method for time-shifted program viewing
JPH11353790A (ja) * 1998-06-08 1999-12-24 Yamaha Corp ディジタルビデオ信号送信装置及び受信装置
CN1867068A (zh) 1998-07-14 2006-11-22 联合视频制品公司 交互式电视节目导视系统及其方法
AR020608A1 (es) 1998-07-17 2002-05-22 United Video Properties Inc Un metodo y una disposicion para suministrar a un usuario acceso remoto a una guia de programacion interactiva por un enlace de acceso remoto
US7558472B2 (en) 2000-08-22 2009-07-07 Tivo Inc. Multimedia signal processing system
US8380041B2 (en) 1998-07-30 2013-02-19 Tivo Inc. Transportable digital video recorder system
US6233389B1 (en) 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system
US8577205B2 (en) 1998-07-30 2013-11-05 Tivo Inc. Digital video recording system
US6898762B2 (en) 1998-08-21 2005-05-24 United Video Properties, Inc. Client-server electronic program guide
AU1330600A (en) * 1998-10-29 2000-05-22 Matsushita Electric Industrial Co., Ltd. Providing vcr functionality for data-centered video multicast
US6993787B1 (en) 1998-10-29 2006-01-31 Matsushita Electric Industrial Co., Ltd. Providing VCR functionality for data-centered video multicast
US6859799B1 (en) 1998-11-30 2005-02-22 Gemstar Development Corporation Search engine for video and graphics
US7305695B1 (en) * 1999-01-20 2007-12-04 Intel Corporation System for providing video on demand with pause feature
US6223165B1 (en) 1999-03-22 2001-04-24 Keen.Com, Incorporated Method and apparatus to connect consumer to expert
JP2001036423A (ja) 1999-05-20 2001-02-09 Yamaha Corp 番組再生システム及び番組再生方法
JP4209126B2 (ja) * 1999-05-20 2009-01-14 ヤマハ株式会社 番組供給用のサーバ装置及び再生用のクライアント装置並びに方法
JP2003521851A (ja) 1999-09-20 2003-07-15 ティヴォ インク クローズド・キャプション・タグ付けシステム
US20010047401A1 (en) * 2000-01-21 2001-11-29 Mcternan Brennan J. System and method for managing connections to servers delivering multimedia content
US20020013948A1 (en) * 2000-03-13 2002-01-31 Erwin Aguayo Video data management, transmission, and control system and method emloying distributed video segments microcasting
US7237254B1 (en) * 2000-03-29 2007-06-26 Microsoft Corporation Seamless switching between different playback speeds of time-scale modified data streams
ES2264978T3 (es) 2000-03-31 2007-02-01 United Video Properties, Inc. Sistemas y metodos para reducir cortes en la grabacion de programas.
US7185082B1 (en) 2000-08-09 2007-02-27 Microsoft Corporation Fast dynamic measurement of connection bandwidth using at least a pair of non-compressible packets having measurable characteristics
US7266613B1 (en) * 2000-08-09 2007-09-04 Microsoft Corporation Fast dynamic measurement of bandwidth in a TCP network environment
CN100420211C (zh) * 2000-08-23 2008-09-17 皇家菲利浦电子有限公司 通信系统和设备
US6766376B2 (en) 2000-09-12 2004-07-20 Sn Acquisition, L.L.C Streaming media buffering system
US8595372B2 (en) * 2000-09-12 2013-11-26 Wag Acquisition, Llc Streaming media buffering system
US7716358B2 (en) * 2000-09-12 2010-05-11 Wag Acquisition, Llc Streaming media buffering system
US7103906B1 (en) 2000-09-29 2006-09-05 International Business Machines Corporation User controlled multi-device media-on-demand system
US6763392B1 (en) * 2000-09-29 2004-07-13 Microsoft Corporation Media streaming methods and arrangements
US20020039148A1 (en) * 2000-09-29 2002-04-04 Mitsuru Yamamoto Multimedia on-demand system, information transmission method, and storage medium
CA2860962C (en) 2000-10-11 2016-09-20 United Video Properties, Inc. Systems and methods for caching data in media-on-demand systems
CN101707693B (zh) * 2000-10-11 2017-04-26 乐威指南公司 提供数据存储到点播媒体传递系统中服务器上的系统和方法
US8711217B2 (en) 2000-10-24 2014-04-29 Objectvideo, Inc. Video surveillance system employing video primitives
US7868912B2 (en) * 2000-10-24 2011-01-11 Objectvideo, Inc. Video surveillance system employing video primitives
US9892606B2 (en) * 2001-11-15 2018-02-13 Avigilon Fortress Corporation Video surveillance system employing video primitives
US20050146605A1 (en) 2000-10-24 2005-07-07 Lipton Alan J. Video surveillance system employing video primitives
US8564661B2 (en) 2000-10-24 2013-10-22 Objectvideo, Inc. Video analytic rule detection system and method
US8554617B2 (en) 2007-10-02 2013-10-08 Ingenio Llc Systems and methods to provide alternative connections for real time communications
US8458754B2 (en) * 2001-01-22 2013-06-04 Sony Computer Entertainment Inc. Method and system for providing instant start multimedia content
US20020162112A1 (en) * 2001-02-21 2002-10-31 Vesta Broadband Services, Inc. PC-based virtual set-top box for internet-based distribution of video and other data
KR101548473B1 (ko) 2001-02-21 2015-08-28 로비 가이드스, 인크. 개인용 비디오 녹화 특징을 갖는 대화식 프로그램 가이드를 위한 시스템 및 방법
JP2002259282A (ja) * 2001-02-27 2002-09-13 Matsushita Electric Ind Co Ltd データ放送スケジュールシステムおよび、それに関する、装置または方法または記録媒体またはプログラム
DE60216571T2 (de) * 2001-03-09 2007-09-20 Koninklijke Philips Electronics N.V. System von vorrichtungen die mittels einer bus-struktur kommunizieren
US20020133402A1 (en) 2001-03-13 2002-09-19 Scott Faber Apparatus and method for recruiting, communicating with, and paying participants of interactive advertising
KR100410973B1 (ko) * 2001-04-18 2003-12-18 엘지전자 주식회사 주문형 비디오 시스템에서 동영상의 스트리밍 방법
US7260827B1 (en) * 2001-04-23 2007-08-21 Unisys Corporation Manual mode method of testing a video server for a video-on-demand system
US8776153B2 (en) 2001-04-25 2014-07-08 At&T Intellectual Property I, Lp Method and system for transferring content to a networked unit
US20020194609A1 (en) * 2001-06-18 2002-12-19 Tran Thanh T. Video client with dynamically allocable video buffer for efficiently streaming video
US20020199205A1 (en) * 2001-06-25 2002-12-26 Narad Networks, Inc Method and apparatus for delivering consumer entertainment services using virtual devices accessed over a high-speed quality-of-service-enabled communications network
US6792449B2 (en) * 2001-06-28 2004-09-14 Microsoft Corporation Startup methods and apparatuses for use in streaming content
US6704403B2 (en) 2001-09-05 2004-03-09 Ingenio, Inc. Apparatus and method for ensuring a real-time connection between users and selected service provider using voice mail
US20030048808A1 (en) 2001-09-12 2003-03-13 Stahl Thomas Anthony Method and apparatus for changing received streaming content channels
US6996624B1 (en) 2001-09-27 2006-02-07 Apple Computer, Inc. Reliable real-time transport protocol
AU2003230868A1 (en) 2002-04-10 2003-10-27 Akamai Technologies, Inc. Method and system for enhancing live stream delivery quality using prebursting
US10562492B2 (en) 2002-05-01 2020-02-18 Gtj Ventures, Llc Control, monitoring and/or security apparatus and method
US7725557B2 (en) * 2002-06-24 2010-05-25 Microsoft Corporation Client-side caching of streaming media content
US20040057446A1 (en) * 2002-07-16 2004-03-25 Nokia Corporation Method for enabling packet transfer delay compensation in multimedia streaming
US8397269B2 (en) * 2002-08-13 2013-03-12 Microsoft Corporation Fast digital channel changing
US7523482B2 (en) * 2002-08-13 2009-04-21 Microsoft Corporation Seamless digital channel changing
US8468570B2 (en) 2002-09-05 2013-06-18 Thomson Licensing Method and system for memory PVR functions in a broadcast environment
JP4174296B2 (ja) * 2002-11-06 2008-10-29 株式会社日立製作所 映像再生装置及びそのプログラム
US7650421B2 (en) * 2002-12-30 2010-01-19 Microsoft Corporation Adaptable accelerated content streaming
US7493646B2 (en) 2003-01-30 2009-02-17 United Video Properties, Inc. Interactive television systems with digital video recording and adjustable reminders
US20040210949A1 (en) * 2003-04-21 2004-10-21 Matsushita Electric Industrial Co., Ltd. Data reception and playback apparatus, data reception and playback method, and data reception and playback processing program
US20060051059A1 (en) 2004-09-08 2006-03-09 Krakirian Haig H Video recorder having user extended and automatically extended time slots
US7603689B2 (en) 2003-06-13 2009-10-13 Microsoft Corporation Fast start-up for digital video streams
US20040268400A1 (en) * 2003-06-26 2004-12-30 Microsoft Corporation Quick starting video content
US7054774B2 (en) 2003-06-27 2006-05-30 Microsoft Corporation Midstream determination of varying bandwidth availability
US7391717B2 (en) * 2003-06-30 2008-06-24 Microsoft Corporation Streaming of variable bit rate multimedia content
US9202217B2 (en) * 2003-10-06 2015-12-01 Yellowpages.Com Llc Methods and apparatuses to manage multiple advertisements
US9984377B2 (en) 2003-10-06 2018-05-29 Yellowpages.Com Llc System and method for providing advertisement
US9208496B2 (en) * 2003-10-06 2015-12-08 Yellowpages.Com Llc Systems and methods to provide a communication reference in a representation of a geographical region
US7366683B2 (en) 2003-10-06 2008-04-29 Utbk, Inc. Methods and apparatuses for offline selection of pay-per-call advertisers
US7424442B2 (en) 2004-05-04 2008-09-09 Utbk, Inc. Method and apparatus to allocate and recycle telephone numbers in a call-tracking system
US8837698B2 (en) * 2003-10-06 2014-09-16 Yp Interactive Llc Systems and methods to collect information just in time for connecting people for real time communications
US8140392B2 (en) * 2003-10-06 2012-03-20 Utbk, Inc. Methods and apparatuses for pay for lead advertisements
US8140389B2 (en) 2003-10-06 2012-03-20 Utbk, Inc. Methods and apparatuses for pay for deal advertisements
US20070124207A1 (en) * 2003-10-06 2007-05-31 Utbk, Inc. Methods and Apparatuses to Provide Prompts in Connecting Customers to Advertisers
US7428497B2 (en) 2003-10-06 2008-09-23 Utbk, Inc. Methods and apparatuses for pay-per-call advertising in mobile/wireless applications
US8069082B2 (en) * 2003-10-06 2011-11-29 Utbk, Inc. Methods and apparatuses to determine prices of communication leads
US7444419B2 (en) * 2003-10-10 2008-10-28 Microsoft Corporation Media stream scheduling for hiccup-free fast-channel-change in the presence of network chokepoints
US7562375B2 (en) * 2003-10-10 2009-07-14 Microsoft Corporation Fast channel change
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
KR100606060B1 (ko) 2004-02-21 2006-07-26 삼성전자주식회사 휴대단말기의 데이터를 외부장치로 출력하는 장치 및 방법
US7430222B2 (en) * 2004-02-27 2008-09-30 Microsoft Corporation Media stream splicer
US8683535B2 (en) * 2004-03-26 2014-03-25 Broadcom Corporation Fast channel change
US7162533B2 (en) 2004-04-30 2007-01-09 Microsoft Corporation Session description message extensions
US8086575B2 (en) 2004-09-23 2011-12-27 Rovi Solutions Corporation Methods and apparatus for integrating disparate media formats in a networked media system
US7640352B2 (en) * 2004-09-24 2009-12-29 Microsoft Corporation Methods and systems for presentation of media obtained from a media stream
ES2630168T3 (es) 2004-11-19 2017-08-18 Tivo Solutions Inc Procedimiento y aparato para la transferencia segura y la reproducción de contenido multimedia
US7477653B2 (en) * 2004-12-10 2009-01-13 Microsoft Corporation Accelerated channel change in rate-limited environments
US7954128B2 (en) 2005-02-11 2011-05-31 Time Warner Cable Inc. Methods and apparatus for variable delay compensation in networks
US7979308B2 (en) 2005-03-03 2011-07-12 Utbk, Inc. Methods and apparatuses for sorting lists for presentation
US9973817B1 (en) 2005-04-08 2018-05-15 Rovi Guides, Inc. System and method for providing a list of video-on-demand programs
US20070011710A1 (en) * 2005-07-05 2007-01-11 Fu-Sheng Chiu Interactive news gathering and media production control system
WO2007008841A2 (en) 2005-07-07 2007-01-18 Burst.Com, Inc. System and method for digital content retrieval
US8599832B2 (en) 2005-09-28 2013-12-03 Ingenio Llc Methods and apparatuses to connect people for real time communications via voice over internet protocol (VOIP)
US20070079342A1 (en) 2005-09-30 2007-04-05 Guideworks, Llc Systems and methods for managing local storage of on-demand content
US8135040B2 (en) 2005-11-30 2012-03-13 Microsoft Corporation Accelerated channel change
US20070133405A1 (en) * 2005-12-08 2007-06-14 Microsoft Corporation Congestion controller for network transmissions
US8607287B2 (en) 2005-12-29 2013-12-10 United Video Properties, Inc. Interactive media guidance system having multiple devices
US9681105B2 (en) 2005-12-29 2017-06-13 Rovi Guides, Inc. Interactive media guidance system having multiple devices
US8185437B2 (en) 2007-07-12 2012-05-22 Utbk, Inc. Systems and methods to provide communication connections via partners
US7774341B2 (en) 2006-03-06 2010-08-10 Veveo, Inc. Methods and systems for selecting and presenting content based on dynamically identifying microgenres associated with the content
WO2007106844A2 (en) 2006-03-14 2007-09-20 Divx, Inc. Federated digital rights management scheme including trusted systems
US8316394B2 (en) 2006-03-24 2012-11-20 United Video Properties, Inc. Interactive media guidance application with intelligent navigation and display features
US9317855B2 (en) 2006-10-24 2016-04-19 Yellowpages.Com Llc Systems and methods to provide voice connections via local telephone numbers
US7962637B2 (en) 2006-11-03 2011-06-14 Apple Computer, Inc. Dynamic adjustments of video streams
EP3901779B1 (de) 2007-01-05 2022-10-26 DivX, LLC Videoverteilungssystem mit progressiver wiedergabe
US8451825B2 (en) 2007-02-22 2013-05-28 Utbk, Llc Systems and methods to confirm initiation of a callback
US8843107B2 (en) * 2007-02-08 2014-09-23 Yp Interactive Llc Methods and apparatuses to connect users of mobile devices to advertisers
US8578045B2 (en) * 2007-02-14 2013-11-05 Microsoft Corporation Adaptive bandwidth utilization
US7801888B2 (en) 2007-03-09 2010-09-21 Microsoft Corporation Media content search results ranked by popularity
US8452655B2 (en) 2007-04-10 2013-05-28 Utbk, Llc Systems and methods to facilitate real time communications and commerce via a social network
US20080263446A1 (en) * 2007-04-20 2008-10-23 Utbk, Inc. Methods and Systems to Connect People to Services via Virtual Reality
US20080262911A1 (en) * 2007-04-20 2008-10-23 Utbk, Inc. Methods and Systems to Search in Virtual Reality for Real Time Communications
US20080263459A1 (en) * 2007-04-20 2008-10-23 Utbk, Inc. Methods and Systems to Determine Availability for Real Time Communications via Virtual Reality
US8601386B2 (en) 2007-04-20 2013-12-03 Ingenio Llc Methods and systems to facilitate real time communications in virtual reality
US8681952B2 (en) * 2007-06-18 2014-03-25 Ingenio Llc Systems and methods to selectively provide telephonic connections
US20080313083A1 (en) * 2007-06-18 2008-12-18 Utbk, Inc. Systems and Methods To Manage Presentations of Advertisements
US8320368B2 (en) 2007-06-18 2012-11-27 Utbk, Inc. Systems and methods to provide communication references based on recommendations to connect people for real time communications
US8532276B2 (en) 2007-06-26 2013-09-10 Ingenio Llc Systems and methods to provide telephonic connections via concurrent calls
US8280018B2 (en) 2007-07-06 2012-10-02 Utbk, Inc. Systems and methods to provide information via connections for real time communications between people
US20090019492A1 (en) 2007-07-11 2009-01-15 United Video Properties, Inc. Systems and methods for mirroring and transcoding media content
US8724789B2 (en) 2007-08-06 2014-05-13 Yellow Pages Systems and methods to connect people for real time communications via directory assistance
TWI335423B (en) * 2007-08-30 2011-01-01 Mitac Int Corp Navigation apparatus using image map and method thereof
US9483405B2 (en) 2007-09-20 2016-11-01 Sony Interactive Entertainment Inc. Simplified run-time program translation for emulating complex processor pipelines
US8295465B2 (en) 2007-09-25 2012-10-23 Utbk, Inc. Systems and methods to connect members of a social network for real time communication
JP5513400B2 (ja) 2007-11-16 2014-06-04 ソニック アイピー, インコーポレイテッド マルチメディアファイルのための階層的で簡略なインデックス構造体
US20090144068A1 (en) * 2007-11-30 2009-06-04 Utbk, Inc. Methods and Apparatuses to Provide Connections for Real Time Communications
EP2129130A1 (de) 2008-05-26 2009-12-02 THOMSON Licensing Vereinfachtes Übertragungsverfahren eines Signalflusses zwischen einem Sender und einem elektronischen Gerät
US8194756B2 (en) * 2008-05-28 2012-06-05 Broadcom Corporation Using program clock references to assist in transport of video stream to wireless device
US9100585B2 (en) * 2008-10-28 2015-08-04 Sony Computer Entertainment Inc. Combined broadcast and backchannel delivery of streaming content
US10063934B2 (en) 2008-11-25 2018-08-28 Rovi Technologies Corporation Reducing unicast session duration with restart TV
US20100299621A1 (en) * 2009-05-20 2010-11-25 Making Everlasting Memories, L.L.C. System and Method for Extracting a Plurality of Images from a Single Scan
US9166714B2 (en) 2009-09-11 2015-10-20 Veveo, Inc. Method of and system for presenting enriched video viewing analytics
US9014546B2 (en) 2009-09-23 2015-04-21 Rovi Guides, Inc. Systems and methods for automatically detecting users within detection regions of media devices
US20110118858A1 (en) * 2009-11-13 2011-05-19 Apple Inc. Local storage of a portion of streamed media items
US8781122B2 (en) 2009-12-04 2014-07-15 Sonic Ip, Inc. Elementary bitstream cryptographic material transport systems and methods
US8433759B2 (en) 2010-05-24 2013-04-30 Sony Computer Entertainment America Llc Direction-conscious information sharing
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
US9736524B2 (en) 2011-01-06 2017-08-15 Veveo, Inc. Methods of and systems for content search based on environment sampling
US9609370B2 (en) * 2011-05-31 2017-03-28 Alcatel Lucent Video delivery modification based on network availability
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8787570B2 (en) 2011-08-31 2014-07-22 Sonic Ip, Inc. Systems and methods for automatically genenrating top level index files
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US8805418B2 (en) 2011-12-23 2014-08-12 United Video Properties, Inc. Methods and systems for performing actions based on location-based rules
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US10546441B2 (en) 2013-06-04 2020-01-28 Raymond Anthony Joao Control, monitoring, and/or security, apparatus and method for premises, vehicles, and/or articles
US9674563B2 (en) 2013-11-04 2017-06-06 Rovi Guides, Inc. Systems and methods for recommending content
WO2015076694A1 (en) * 2013-11-25 2015-05-28 Nptv Soft Ltd Method for delivering personalized interactive video stream
JP2015136059A (ja) * 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
WO2016112112A1 (en) 2015-01-06 2016-07-14 Sonic Ip, Inc. Systems and methods for encoding and sharing content between devices
US10687115B2 (en) 2016-06-01 2020-06-16 Time Warner Cable Enterprises Llc Cloud-based digital content recorder apparatus and methods
US10447619B2 (en) * 2017-03-15 2019-10-15 Verizon Patent And Licensing Inc. Dynamic application buffer adaptation for proxy based communication
US11109290B2 (en) 2017-08-04 2021-08-31 Charter Communications Operating, Llc Switching connections over frequency bands of a wireless network

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371532A (en) * 1992-05-15 1994-12-06 Bell Communications Research, Inc. Communications architecture and method for distributing information services
US5440334A (en) * 1993-02-01 1995-08-08 Explore Technology, Inc. Broadcast video burst transmission cyclic distribution apparatus and method
JPH0879685A (ja) * 1994-08-31 1996-03-22 Sony Corp ニア・ビデオ・オン・デマンドシステムにおけるプログラム再生装置
EP0702493A1 (de) * 1994-09-19 1996-03-20 International Business Machines Corporation Interaktive Video-Wiedergabe
JP2792454B2 (ja) * 1995-02-09 1998-09-03 日本電気株式会社 動画検索システム
US5721815A (en) * 1995-06-07 1998-02-24 International Business Machines Corporation Media-on-demand communication system and method employing direct access storage device
US5737009A (en) * 1996-04-04 1998-04-07 Hughes Electronics On-demand digital information delivery system and method using signal fragmentation and linear/fractal sequencing.

Also Published As

Publication number Publication date
EP0976249A4 (de) 2000-03-22
WO1998047290A1 (en) 1998-10-22
DE69812338D1 (de) 2003-04-24
KR20010006324A (ko) 2001-01-26
AU7112998A (en) 1998-11-11
AU748338B2 (en) 2002-06-06
IL132231A0 (en) 2001-03-19
US5963202A (en) 1999-10-05
EP0976249A1 (de) 2000-02-02
ATE235131T1 (de) 2003-04-15
EP0976249B1 (de) 2003-03-19
JP2001520829A (ja) 2001-10-30

Similar Documents

Publication Publication Date Title
DE69812338T2 (de) Video auf anfrage mit videorecorderähnlichen funktionen
DE69831801T2 (de) Kommunikationssystem für elektronische nachrichten
DE69630428T2 (de) Steuerung von Multicastdatensendungen
DE69433047T2 (de) Verfahren und Anordnung zur Zuteilung von Systembetriebsmitteln, um die Dienstqualität zu sichern
US7925689B2 (en) Method and system for providing on-line interactivity over a server-client network
DE19605093B4 (de) Verfahren und Vorrichtung zum Einrichten und Verwalten einer Verbindung zwischen einem Client-Computersystem und jedem einer Mehrzahl von Server-Computersystemen
DE60123396T2 (de) Diskzuordnungssystem mit umordnung einer begrenzten anzahl von anforderungen
DE69534861T2 (de) Netzwerkvideoanbietersystem
DE69631755T2 (de) Informationsverarbeitungsgerät, -system und verfahren für ein datenübertragungsnetzwerk
DE60038448T2 (de) Vorrichtung und verfahren zur hardware-ausführung oder hardware-beschleunigung von betriebssystemfunktionen
DE60213185T2 (de) Verfahren und Vorrichtung zur Datenübertragung
DE10085311B3 (de) Verteiltes Dateisystem mit Multicast-Wiedergewinnung
DE60316141T2 (de) Echtzeit-speicherbereichsnetzwerk
DE69819507T2 (de) Set-top-box gerätetreiber für die ieee1394 norm
DE602005003506T2 (de) Methode und Apparat zum Verbessern der Synchronisierung einer Verarbeitungseinheit für Multimedia-streams in einer multi-threaded Umgebung
DE69830226T2 (de) Netzwerkkommunikationsbenutzernachrichtenübertragungssystem
DE602004009176T2 (de) Dienstverwaltung durch verwendung mehrerer dienstort-manager
DE69733199T2 (de) Verfahren und audio-server-system für ein unzuverlässiges netzwerk
EP0895165A2 (de) Kommunikationssystem mit einer DMA-Einheit
US20020048043A1 (en) Apparatus and method for picture transmission and display
DE69833817T2 (de) Emulation und emulierte Bildschirmgeschichte
DE69737962T2 (de) Netzwerkvideoserver
EP1340352B1 (de) Verfahren und vorrichtung zum steuern der übertragung und wiedergabe von digitalen signalen
DE69918201T2 (de) Videodatenspeicherung und -übertragung sowie Verfahren dafür
EP0936815A2 (de) Virtuelle Audio- und/oder Videothek mit Fernzugriff

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: DEMOCRASOFT,INC. (N. D. GES. D. STAATES DELAWA, US