DE69634110T2 - Verfahren, Client und Server für Video-auf-Anfrage - Google Patents
Verfahren, Client und Server für Video-auf-Anfrage Download PDFInfo
- Publication number
- DE69634110T2 DE69634110T2 DE69634110T DE69634110T DE69634110T2 DE 69634110 T2 DE69634110 T2 DE 69634110T2 DE 69634110 T DE69634110 T DE 69634110T DE 69634110 T DE69634110 T DE 69634110T DE 69634110 T2 DE69634110 T2 DE 69634110T2
- Authority
- DE
- Germany
- Prior art keywords
- broadcast
- blocks
- program
- segment
- multimedia
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H20/00—Arrangements for broadcast or for distribution combined with broadcast
- H04H20/16—Arrangements for broadcast or for distribution of identical information repeatedly
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H20/00—Arrangements for broadcast or for distribution combined with broadcast
- H04H20/40—Arrangements for broadcast specially adapted for accumulation-type receivers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H40/00—Arrangements specially adapted for receiving broadcast information
- H04H40/09—Arrangements for receiving desired information automatically according to timetables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/02—Arrangements for generating broadcast information; Arrangements for generating broadcast-related information with a direct linking to broadcast information or to broadcast space-time; Arrangements for simultaneous generation of broadcast information and broadcast-related information
- H04H60/06—Arrangements for scheduling broadcast services or broadcast-related services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17318—Direct or substantially direct transmission and handling of requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17336—Handling of requests in head-ends
Description
- HINTERGRUND DER ERFINDUNG
- Die vorliegende Erfindung betrifft ein Video-auf-Anfrage-System und ein Verfahren zum Rundsenden von Audioprogrammen, Videoprogrammen, audiovisuellen Programmen oder Ähnlichem zur Verwendung in einem Video-auf-Anfrage-System.
- Bei herkömmlichen Video-auf-Anfrage-Systemen (Video on demand, VOD) sind die Benutzer sowohl bezüglich der Auswahl des gewünschten Films als auch bezüglich des Zeitpunktes flexibel, an dem sie den Film sehen möchten. Ein solches System beruht auf dem Modell einer Client-Server-Architektur, in welchem der Client aus einer Gruppe von Benutzer besteht, während der Videoserver eine Anzahl von Speicherplatten mit gespeicherten Videos enthält. Sobald ein Client ein Video anfordert, werden die entsprechenden Datenblöcke durch einen zentralen VOD-Server von den Platten abgerufen und gleichzeitig zum Client übertragen.
- Sollte das Video jedoch nicht auf den Platten zur Verfügung stehen, wird es üblicherweise von einem dritten Speicher abgerufen. Somit muss für jede Einzelanforderung eines Clients ein E/A-Datenstrom eingeplant werden. Für jeden eingeplanten E/A-Datenstrom muss normalerweise ein großer Teil der Netzbandbreite in Anspruch genommen werden. Mit zunehmender Anzahl von Clients kann deshalb die Bandbreite zu einem ernsten Problem werden. Eine Lösung dieses Problems besteht darin, die Bandbreite durch mehrere Benutzer gemeinsam zu nutzen. Diese Lösung wird als benutzerzentrierter Ansatz bezeichnet.
- Mit steigender Anzahl von Clients stellt das periodische Rundsenden einen alternativen Ansatz für Video-auf-Anfrage-Systeme dar.
- Beim Rundsendeansatz ist die Bandbreite nicht den Benutzern, sondern einzelnen Videoobjekten zugeordnet. Angenommen, es gibt N Filme (beispielsweise die N gefragtesten Filme des jeweiligen Jahres), die periodisch rundgesendet werden. In diesem Fall wird also die Bandbreite auf die N verschiedenen Filme aufgeteilt. Dadurch ist die Bandbreitenauslastung dieses Verfahrens von der Anzahl der Clients unabhängig. Dieser Ansatz ist ein datenzentrierter Ansatz, da die Bandbreite auf die einzelnen Videoobjekte aufgeteilt wird.
- Beim herkömmlichen Rundsendeverfahren ist die Zugriffszeit für jeden der N Filme durch die Rundsendefrequenz bestimmt. Die (auch als Latenzzeit oder als Wartezeit der Clients bezeichnete) Zugriffszeit für den Film ist einfach gleich der Zeit, die für den Zugriff auf das erste Segment benötigt wird. Somit nimmt die Zugriffszeit eines Films mit zunehmender Bandbreite linear ab. Einen alternativen Ansatz zur Verringerung der Bandbreitenanforderungen stellt das „Pyramidenschema" dar. Bei diesem Verfahren ist jedes Video in zahlreiche Segmente unterteilt, wobei die Anfangssegmente kleiner sind und öfter gesendet werden. Das Pyramidensystem wird in der Veröffentlichung „Pyramid Broadcasting for Video On Demand Service", von S. Vishwanathan und T. Imelinki, SPIE, Bd. 2417, S. 66 bis 77 (Februar 1995) erörtert. Im Folgenden wird dieses Schema als VI-Schema bezeichnet.
- Beim VI-Verfahren zeigt sich, dass die Zugriffszeit für einen Film mit der Bandbreite exponentiell kürzer wird. Das VI-Verfahren setzt jedoch auf der Seite des Clients beträchtliche Pufferkapazitäten voraus, die sich mit der Bandbreite nicht wesentlich ändern. Das VI-Verfahren erfordert normalerweise bei jedem Client ein Speichervolumen, das deutlich mehr als 50% der Länge des Films beträgt. In diesem Bereich der Speichervolumina kann es erforderlich werden, Plattenspeicher zum Puffern zu verwenden. Da die Übertragungsraten ziemlich hoch sein können, muss der Client außerdem möglicherweise über eine Platte mit großer Bandbreite verfügen, um sie so schnell zu beschreiben, wie der Film empfangen wird.
- Gemäß dem ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zum Rundsenden von Multimediaprogrammen zur Verwendung in einem System bereitgestellt, in welchem die Programme zu Empfangsstationen rundgesendet werden, wobei das Verfahren die folgenden Schritte umfasst: wiederholtes Rundsenden eines bestimmten Teils eines bestimmten Programms an die Empfangsstationen; und wiederholtes, aber seltener als bei diesem bestimmten Teil wiederholtes Rundsenden, eines nachfolgenden Teils des bestimmten Programms; wobei Datenblöcke mindestens dieses bestimmten Teils oder des nachfolgenden Teils in einer von einer zur nächsten Wiederholung wechselnden Reihenfolge rundgesendet werden.
- Gemäß dem zweiten Aspekt der vorliegenden Erfindung wird eine Client-Station zum Empfangen rundgesendeter Multimediaprogramme zur Verwendung in einem System bereitgestellt, in welchem die Multimediaprogramme in Form einer Vielzahl wiederholt rundgesendeter Segmente übertragen werden und jedes der Segmente eine Anzahl von Blöcken in einer von einer Rundsendung zur nächsten Rundsendung wechselnden Reihenfolge enthält, wobei die Station Folgendes umfasst: einen Empfänger mit einer Kanalwahleinheit und einer Blockwahleinheit; wobei die Kanalwahleinheit ein Mittel zum Auffinden von Kanälen, über welche ein bestimmtes Programm rundgesendet wird, und ein Mittel zum Empfangen von Blöcken über die Kanäle enthält; und wobei die mit der Kanalwahleinheit verbundene Blockwahleinheit ein Mittel zum Festlegen einer natürlichen Betrachtungsfolge der Blöcke innerhalb jedes rundgesendeten Segments enthält; einen mit der Blockwahleinheit verbundenen Pufferspeicher zum Speichern eines nächsten Datenblocks der natürlichen Reihenfolge aus jedem rundgesendeten Segment; und einen angeschlossenen Decoder zum Empfangen der im Pufferspeicher gespeicherten Datenblöcke.
- Ausgehend von einer Information, welche die durch den Server gewählte Reihenfolge anzeigt, wählt der Empfänger die (in einer Rundsendung vom Pyramidentyp) zu überspringenden Blöcke aus. Der Empfänger ermittelt die Anzahl der zu überspringenden Blöcke, bevor der nächste Block des betrachteten Videos gespeichert wird.
- Gemäß dem dritten Aspekt der vorliegenden Erfindung wird ein Multimediaserver bereitgestellt, welcher Folgendes umfasst: eine Vielzahl von Speicherplatten mit darauf gespeicherten Datenblöcken einer Multimediapräsentation; eine Blockwahleinheit zum Formatieren der Multimediapräsentation in eine Vielzahl von Segmenten, wobei jedes der Segmente einen zeitlich verschiedenen Teil der Multimediapräsentation enthält; und Rundsendemittel zum wiederholten Rundsenden einer Vielzahl von Teilen eines Multimediaprogramms an die Empfangsstationen, wobei jeder Teil seltener rundgesendet wird als diejenigen Teile des Multimediaprogramms, welche in der Betrachtungsreihenfolge zeitlich weiter vorn liegen, und wobei jeder der Teile eine Vielzahl von Datenblöcken umfasst, deren Reihenfolge von einer zur nächsten Rundsendung des Teils variiert, und jeder Teil eine längere Betrachtungsdauer aufweist als diejenigen Teile des Multimediaprogramms, die in der Betrachtungsreihenfolge zeitlich früher liegen.
- Der Multimedia-(Video-)Server teilt die Kanalbandbreite auf die rundzusendenden Videos auf. Jedes Video ist in nichtüberlappende Segmente und jedes Segment wiederum in Blöcke aufgeteilt, wobei ein Block eine Grundübertragungseinheit darstellt. Ebenso wie beim VI-Schema variieren die Größen und Übertragungshäufigkeit der verschiedenen Segmente eines Videos. Anstatt jedoch die Blöcke in jedem Segment in der normalen Reihenfolge zu senden, werden diese Blöcke in veränderlicher Reihenfolge gesendet.
- Ein Verfahren/System, welches die Erfindung realisiert, weist den Vorteil auf, dass es in Systemen vom Pyramidentyp die Speicheranforderungen beim Client verringert. Ferner weist ein Verfahren/System, welches die Erfindung realisiert, den Vorteil auf, dass es die Datenrate verringert, mit der Daten in den Clientspeicher zur Pufferung in Systemen vom Pyramidentyp geschrieben werden müssen.
- Im Folgenden wird die Erfindung beispielhaft unter Bezug auf die beiliegenden Zeichnungen beschrieben, in denen:
-
1 die Segmentaufteilung darstellt: -
2 die Blocksendefolge gemäß einer Ausführungsart der vorliegenden Erfindung darstellt; -
3 ein Blockschaltbild eines Video-(Multimedia-)Serversystems gemäß einer Ausführungsart der vorliegenden Erfindung ist; -
4 ein Flussdiagramm der Blockwahleinheit im Server von3 ist; und -
5 ein Flussdiagramm der Kanal-/Blockwahleinheit in den Clientstationen von3 ist; -
6 ein Blockschaltbild einer Clientstation gemäß einer Ausführungsart der vorliegenden Erfindung ist. -
3 ist ein Blockschaltbild eines Videoserversystems gemäß einer Ausführungsart der vorliegenden Erfindung. Das System enthält einen Videoserver100 , in welchem Videos (zum Beispiel Filme) auf Speicherplatten102 in Form einer Vielzahl von Blöcken104 gespeichert sind, die über die Platten verteilt sein können. Der Videoserver100 enthält einen Prozessor (CPU)106 , der durch einen im Hauptspeicher108 gespeicherten Programmcode (Programme) gesteuert wird. Der Videoserver100 enthält auch einen Speicherpuffer110 zum Zwischenspeichern abgerufener Videoblöcke104 und eine Netzwerkschnittstelle112 zum Verbinden des Videoservers100 mit einem Datenübertragungsnetzwerk114 . Die Netzwerkschnittstelle112 teilt das Datenübertragungsnetzwerk114 in eine Anzahl (R) von EDM-Kanälen auf, über welche die Videodaten rundgesendet werden. - Gemäß einer Ausführungsart der vorliegenden Erfindung ist eines der Programme zur Steuerung der Funktion des Videoservers
100 ein Fibonacci-Segmentplaner116 . Der Fibonacci-Segmentplaner116 enthält eine Blockwahleinheit118 , zu dessen Funktionen die Auswahl der von den Speicherplatten102 abzurufenden Videoblöcke und die Auswahl eines Netzwerkkanals zum Senden gehören. Die Blockwahleinheit118 arbeitet mit diversen herkömmlichen Steuerprozessen120 zusammen, um die ausgewählten Blöcke von den Speicherplatten abzurufen und das Rundsenden der ausgewählten Blöcke an die Clientstationen122 über das Datenübertragungsnetzwerk114 zu bewirken. Später wird genauer beschrieben, dass die Videoblöcke periodisch in Form von Segmenten unterschiedlicher Größe mit jeweils anderer Blockreihenfolge124 über das Netzwerk114 (rund-)gesendet werden. Der Videoserver100 sendet auch Filmkennungen126 , welche (den Clientstationen) anzeigen, welche Filme auf welchen Kanälen rundgesendet werden. - Jede der Clientstationen
122 enthält eine Kanal-/Blockwahleinheit128 (der durch einen Programmcode realisiert werden kann, der durch einen Mikroprozessor ausgeführt wird), welcher entsprechende Kanäle und darüber zu sendende Videoblöcke auswählt, die durch den Client decodiert und angeschaut werden sollen. Die ausgewählten Videoblöcke werden einem Puffer130 zugeleitet, wo sie zwischengespeichert und dann in der richtigen zeitlichen Abspielreihenfolge zu einem Decoder132 geleitet werden. - Der Videoserver
100 kann durch einen Prozessor realisiert werden, dessen Leistung für die zu unterstützende Anzahl von Videodatenströmen ausreicht. Zum Beispiel kann ein Videoserver mit niedriger Kapazität durch ein RISC-System/6000-TM-System und ein Videoserver mit großer Kapazität durch ein ES/9000-TM-System realisiert werden (beide erhältlich von International Business Machines Corporation, Armonk, New York). Bei den Speicherplatten102 kann es sich beispielsweise um ein herkömmliches RAID-5-Plattenarray handeln. Das Datenübertragungsnetzwerk114 kann zum Beispiel ein Lichtwellenleiternetz oder ein herkömmliches bidirektionales Kabelnetz sein. Die Clientstationen122 können als Set-Top-Box mit dem Pufferspeicher130 realisiert werden. Der Decoder132 sollte so beschaffen sein, dass er das Format der Videoblöcke verarbeiten (vom Pufferspeicher130 lesen) kann. Üblicherweise ist dies ein Decoder, der den Komprimierungsstandards MPED-1 oder MPEG-2 entspricht. - Jeder Film ist in Segmente S1, S2, ..., SR mit geometrisch zunehmender Größe eingeteilt, sodass Si = αSi–1 ist. Der geometrische Parameter α ist größer als 1. Alternativ kann diese Aufteilung mittels einer allgemeinen Fibonacci-Folge erfolgen, bei der sich die Segmentgrößen wie folgt verhalten:
- Das Netzwerk
120 ist in R Kanäle aufgeteilt. Jedes der Segmente der Größe Si wird nur über den Kanal i übertragen. -
1 stellt die Segmentaufteilung im herkömmlichen VI-Schema dar. Diese Figur stellt den Fall für 2 Filme dar. (Das lässt sich für eine beliebige Anzahl von Filmen verallgemeinern.) Jeder der Filme ist in der Weise in 4 Segmente aufgeteilt, dass das (i + 1)-te Segment doppelt so groß wie das i-te Segment ist. Gemäß der Figur ist also der Film1 in die 4 Segmente A1, B1, C1 und D1 und der Film2 in die 4 Segmente A2, B2, C2 und D2 aufgeteilt. - Über den ersten Kanal werden nur die Segmente mit der kleinsten Größe übertragen. Somit werden über den ersten Kanal nur die Segmente A1 und A2 übertragen. Über den zweiten Kanal werden die nächstgrößeren Segmente B1 und B2, die nächstgrößeren Segmente C1 und C2 über den dritten Kanal und die größten Segmente C1 und D2 über den vierten Kanal übertragen.
- Um mit dem Empfang des (beispielsweise) des übertragenen Films
1 zu beginnen, klinkt sich der Client in das erste Segment (A1) des Films ein. Die Übertragungsrate auf jedem Kanal ist größer als die Nutzungsrate. Folglich sammeln sich die Videodaten während der Übertragung eines bestimmten Segments auf der Clientseite an (werden gepuffert). Nach Beendigung der Übertragung des Segments A1 werden diese gepufferten Daten dazu verwendet, die ununterbrochene Übertragung zum Benutzer fortzusetzen, während der Client sich in das nächste Segment B1 einzuklinken versucht. Dieser Prozess wird bei jedem Segment so lange fortgesetzt, bis der ganze Film empfangen wurde. Die Übertragungs- und Empfangsparameter werden so gewählt, dass die Übertragung gleichmäßig ohne Unterbrechung erfolgen kann. - Bei der vorliegenden Ausführungsart ist jedes Segment in mehrere Blöcke aufgeteilt. Im Gegensatz zum VI-Schema werden die Blöcke jedoch nicht in ihrer natürlichen Reihenfolge übertragen. Vielmehr wird die Reihenfolge der Blöcke so variiert, dass die Anforderungen an das Speichervolumen stark verringert sind.
-
2 zeigt ein Beispiel der allgemeinen Reihenfolge bei der Übertragung von Blöcken nach dem VI-Schema im Vergleich zum vorliegenden Schema.2 zeigt den ersten Kanal von1 , über den die Segmente A1 und A2 übertragen werden. Das Segment A1 ist in 6 Blöcke aufgeteilt: a, b, c, d, e, f. Das Segment A2 ist in die 6 Blöcke p, q, r, s, t, u aufgeteilt. Die obere Hälfte von2 zeigt die Reihenfolge, in welcher die Blöcke nach dem VI-Schema übertragen werden. Die untere Hälfte von2 zeigt die Reihenfolge, in welcher die Blöcke nach dem vorliegenden Schema übertragen werden, das auf dem Verändern der Reihenfolge beruht. - Beim vorliegenden Schema staffelt und verschachtelt der Videoserver mehrere Kopien eines Segments. Jede Kopie wird als eine Übertragungsgruppe bezeichnet. Bei dem in
2 beispielhaft vorgestellten Schema gehört jeder sechste Block zu einer Folge und bildet eine Gruppe. Allgemein gehört jeder G-te Block zu einer Gruppe, wobei der Parameter G auf eine später beschriebene Art und Weise ermittelt wird. - In
2 sind drei Übertragungsgruppen gezeigt. Die Blöcke der ersten Gruppe a, b, c, d, e, f sind durch Kreise gekennzeichnet. Die Blöcke der zweiten Gruppe e, f, a, b, c, d sind mit der ersten Gruppe verschachtelt und um eine Position nach rechts versetzt. Die Blöcke der dritten Gruppe c, d, e, f, a, b sind ebenfalls mit der ersten Gruppe verschachtelt um gegenüber dieser um zwei Positionen nach rechts versetzt. Zyklisch zurückgerechnet beträgt der Staffelungsabstand der zweiten Gruppe zur ersten Gruppe 2, bei der dritten Gruppe hingegen 4. Die Verfahren zur Ermittlung der zu staffelnden Gruppen und des Staffelungsabstandes werden später angegeben. - Man beachte, dass in
2 alle zu einer bestimmten Gruppe gehörenden Blöcke durch Kreise gekennzeichnet sind. Alle diese Blöcke werden gemäß den Grundgedanken der vorliegenden Erfindung auf der Clientseite empfangen. Aus der Sicht des Clients muss also jeder G-te Block empfangen werden, der zu einer bestimmten Gruppe gehört. Wie bereits bei2 erörtert, wird eine Gruppe durch jeden sechsten Block des Diagramms gebildet. Somit gibt es insgesamt 6 Gruppen, d. h. 3 Gruppen für jedes Video. Außerdem ist jedes Paar aufeinander folgender Gruppen eines Segments (zyklisch) durch zwei Blöcke voneinander getrennt. Allgemein wiederholt sich jeder G-te Block, und der Client klinkt sich in das Zeitintervall ein, von dem aus er auf diese Blöcke zugreifen kann. -
2 zeigt, dass die Latenzzeit beim VI-Schema dieselbe ist wie beim vorliegenden Schema, wenn Si = αSi–1 ist. Das vorliegenden Schema berücksichtigt jedoch eine allgemeine Fibonacci-Folge, bei der sich die Segmentgrößen wie folgt verhalten: - Dadurch verkürzt sich die Latenzzeit, und die Anforderungen an den Pufferspeicher gehen weiter zurück.
- Das oben beschriebene Schema staffelt die verschiedenen Segmente in einer Weise, dass die Übertragungsrate stark verringert wird. Aufgrund dieser verringerten Übertragungsrate können die Anforderungen an den Pufferspeicher beim Client stark zurückgehen. Je größer die Anzahl der gestaffelten und verschachtelten Gruppen bei der Übertragung jedes Segments ist, desto stärker gehen die Anforderungen an den Pufferspeicher beim Client zurück. Gleichzeitig ist dies jedoch dadurch begrenzt, dass man bei einer übermäßigen Staffelung den gleichmäßigen Datenempfang auf der Clientseite nicht garantieren kann. Daher sollten die verschiedenen Segmente so stark wie möglich gestaffelt werden, ohne dass das fortlaufende Betrachten beim Client beeinträchtigt wird.
- Der Abstand zwischen aufeinander folgenden Blöcken in einer Gruppe sollte innerhalb eines Segments kürzer als die Abspieldauer eines Blocks sein. Außerdem besteht für die aufeinander folgenden Segmente eines Films noch eine weitere Bedingung. Wenn der Empfang des i-ten Segments noch nicht begonnen hat, bevor das (i – 1)-te Segment verbraucht wurde, gerät die Filmdarbietung ins Stocken. Einerseits sollen zwar durch die Staffelung die Anforderungen an die Speicherkapazität verringert werden, andererseits ist jedoch auch darauf zu achten, dass es nicht zu Stockungen kommt. Hierzu ist zu erwähnen, dass das letzte Segment nur unter Berücksichtigung der Verbrauchsrate beim Client gestaffelt werden kann, weil es dann nicht zu Stockungen kommen kann.
- Angenommen, die Bandbreite des Netzwerks ist B, die Verbrauchsrate ist c, und die Anzahl der zu zeigenden Filme beträgt N. Die Länge des Films soll L sein. p soll die Anzahl der bei der Übertragung jedes Segments zu staffelnden und zu verschachtelnden Gruppen und plast die entsprechende Anzahl der Gruppen für das letzte Segment sein.
- Dann gilt bei der bevorzugten Ausführungsart:
- 1. Für den Wert α ist eine kleine ganze Zahl zu wählen. α = 2 erweist sich in der Praxis als ein guter Wert.
- 2. Für den Wert R ist die größte ganze Zahl kleiner als oder gleich 8 zu wählen, welche der folgenden Beziehung genügt: Der Wert 8 ist beliebig gewählt, da die Latenzzeit des Benutzers für α = 2 und R = 8 so kurz ist, dass sich eine weitere Verbesserung erübrigt. Deshalb wird R wie folgt gewählt:
- 3. Den Film in generalisierte Fibonacci-Segmente S1, S2, ..., SR aufteilen, welche den beiden folgenden Bedingungen genügen: und
- 4. Für den Wert p ist die größte ganze Zahl zu wählen, welche der folgenden Bedingung genügt: Folglich wird p wie folgt gewählt:
- 5. Für die Anzahl der Gruppen des letzten Segments ist zu wählen:
- 6. Aufteilen jedes Segments Si in pLi Blöcke für jedes i ∈ 1, ..., (R – 1). Dadurch wird jedes Segment Si in eine Vielzahl von p Blöcken aufgeteilt. Der Wert Li wird für jedes Segment Si so groß wie möglich gewählt. Außerdem ist der letzte Block SR in plast·LR Blöcke aufgeteilt.
- Man beachte, dass Li (beziehungsweise LR) den Staffelungsabstand zwischen den p (beziehungsweise plast) Übertragungsgruppen jedes Segments (beziehungsweise des letzten Segments) darstellt. Außerdem ist der Abstand zwischen aufeinanderfolgenden Blöcken eines Segments (G) für jeden Film gleich p, lediglich für das letzte Segment beträgt der Abstand plast Wenn die Kanäle also von N Filmen gemeinsam genutzt werden, beträgt der Abstand somit Np für jedes Segment und Nplast für das letzte Segment.
- Die Übertragung der Blöcke für die verschiedenen Kanäle und Filme erfolgt dann in der grundlegenden Reihenfolge:
für q = 1 bis N (Nummer des Films) und
für i = 1 bis R (Nummer des Kanals)
übertrage den nächsten Block in der Folge für den Kanal i und den Film q für das nächste I und das nächste q. - Es wird davon ausgegangen, dass die Übertragung auf R Kanäle aufgeteilt ist und die Übertragung eines bestimmten Films q über den i-ten Kanal betrachtet wird.
-
4 stellt ein Flussdiagramm der Blockauswahleinheit118 des Servers von3 gemäß einer Ausführungsart der vorliegenden Erfindung darstellt. Das Flussdiagramm zeigt für einen bestimmten Kanals i und einen bestimmten Film q die Reihenfolge, in welcher Blöcke zum Client gesendet werden. Es ist jedoch klar, dass die Sendefolge in Wirklichkeit durch Zeitmultiplexen eingefügt wird. Der Kanal R verwendet einen von anderen Kanälen etwas verschiedenen Übertragungsalgorithmus. - In Schritt
201 werden die Indexierungsvariablen zum Übertragen der Blöcke initialisiert, wobei j gleich 1 und n gleich 0 gesetzt wird. - In Schritt
205 wird der Wert der Kanalnummer (i) geprüft. Wenn i kleiner als R (der letzte Kanal) ist, wird in Schritt210 zur nächsten Übertragung der Block nLi + j ausgewählt. Dann wird in Schritt215 n um 1 erhöht. - In Schritt
220 wird geprüft, ob n kleiner als p (die Anzahl der Gruppen je Segment außer dem letzten Segment) ist. Wenn n kleiner als p ist, wird der Schritt210 für die nächste Übertragung noch einmal ausgeführt. Ansonsten wird die Kanalnummer j in Schritt225 gleich (j + 1) mod p gesetzt. - Wenn in Schritt
205 festgestellt wird, dass i gleich der Nummer des letzten Kanals R gesetzt ist, wird in Schritt240 für die nächste Übertragung der Block nLR + j ausgewählt. Dann wird in Schritt245 n um 1 erhöht. Wenn in Schritt250 n kleiner als plant (die Anzahl von Gruppen im letzten Segment) ist, wird der Schritt240 für die nächste Übertragung noch einmal durchgeführt. Ansonsten wird j in Schritt255 gleich (j + 1) mod plast gesetzt. -
5 zeigt ein Flussdiagramm der Kanal-/Blockauswahleinheit128 der Clientstation gemäß einer Ausführungsart der vorliegenden Erfindung. Es wird davon ausgegangen, dass der Client das Video q empfangen will. In Schritt300 wird die Indexierungsvariable i des nächsten zu empfangenden Segments gleich 1 gesetzt. - In Schritt
305 klinkt sich der Empfänger in einen zuerst auf Kanal i ankommenden Block des i-ten Segments des Videos q ein. Dann prüft die Kanal-/Blockauswahleinheit in Schritt310 , ob der Puffer130 voll ist. Wenn dies der Fall ist, werden die nächsten pLi Blöcke des gerade übertragenen Videos q übersprungen. Ansonsten empfängt die Kanal-/Blockauswahleinheit128 in Schritt320 den nächsten auf Kanal i ankommenden Kanalblock des Segments Si des Videos q und speichert ihn im Puffer130 . - In Schritt
325 prüft die Kanal-/Blockauswahleinheit, ob alle Blöcke des Segments Si empfangen worden sind. Wenn dies der Fall ist, wird in Schritt330 ermittelt, ob i gleich R ist. Wenn noch nicht alle Blöcke empfangen worden sind, springt die Kanal-/Blockauswahleinheit zurück zu Schritt305 . - Wenn in Schritt
330 festgestellt wird, dass i ungleich R ist, wird i in Schritt335 um 1 erhöht, und anschließend springt die Kanal-/Blockauswahleinheit zurück zu Schritt305 . Wenn jedoch festgestellt wird, dass i gleich R ist, ist das gesamte Video empfangen worden, und die Kanal-/Blockauswahleinheit beendet den Prozess in Schritt340 . - Man beachte, dass beim Empfangsalgorithmus des Servers die Anzahl der vor dem Empfang des nächstfolgenden Blocks durch den Client zu überspringenden Blöcke fast, aber nicht ganz, konstant ist. Ab und zu ist der nächste zu empfangende Block um einen Block vor dem Abstand zwischen den beiden vorangehenden Blöcken in derselben Gruppe verschoben. Das erfolgt entweder durch Einbeziehen von Kopfdaten am Blockanfang, welche beschreiben, zu welchem Film ein Block gehört, oder einfach durch Überspringen eines Blocks, nachdem alle Li Blöcke des Segments Si empfangen wurden.
- Die vorliegende Erfindung ist auch beim Frequenzmultiplexverfahren einsetzbar. Auch hier wird im Rundsendeserver jedes Video in mehrere Segmente und jedes Segment wiederum in Blöcke aufgeteilt. Jeder Kanal ist in p Teilkanäle aufgeteilt, und die versetzten Gruppen jedes Segments werden nun den Teilkanälen zugeordnet. Die Blöcke jedes Segments werden gleichzeitig mit unterschiedlich verschobener Phase über die mehreren Teilkanäle übertragen, welche dem Versetzungsabstand entspricht. Die Verfahren zum Ermitteln von p und des Versetzungsabstands sind dieselben wie oben. Auf der Clientseite wird entsprechend der Phasendifferenz der richtige Teilkanal zum Empfangen des nächsten Blocks ausgewählt, um den Speicherbedarf so niedrig wie möglich zu halten.
-
6 ist ein Blockschaltbild einer Clientstation130 gemäß einer Ausführungsart der vorliegenden Erfindung. Die Clientstation beinhaltet eine Netzwerkschnittstelle602 , über welche die elektrische und die Datenverbindung zum Netzwerk114 hergestellt werden. Die Daten vom Netzwerk werden durch die Netzwerkschnittstelle602 zu den richtigen Komponenten der Clientstation weitergeleitet. - Die Permutationsdaten
124 , die Film-ID126 sowie weitere herkömmliche Zeitdaten werden direkt über einen ersten Pfad geleitet. Die Permutationsdaten124 und die Film-ID werden in einem Speicher604 gespeichert, während die Zeitdaten zu einem Steuerprozessor606 gelangen. Der Steuerprozessor606 arbeitet programmgesteuert gemäß dem Flussdiagramm von5 . - Die Videoblöcke gelangen über einen zweiten Pfad zu einem TDM-Demultiplexer
608 . Der TDM-Demultiplexer benutzt als speziellen Eingabewert den Kanaldatenteil der Film-ID (diejenigen Daten, welche anzeigen, über welche Kanäle ein Film und seine einzelnen Segmente laufen). Der Steuerprozessor lädt die entsprechenden Kanaldaten zum Empfangen eines gewünschten Segments in ein Register610 (welches den speziellen Wert des TDM-Demultiplexers liefert). - Das ausgewählte Segment wird vom Ausgang des TDM-Demultiplexers zum Eingang eines Block-Demultiplexers
612 gesendet. Der spezielle Eingabewert des Block-Demultiplexers wird durch ein zweites Register614 bereitgestellt, in welches der Steuerprozessor die entsprechenden gemäß Flussdiagramm von5 ermittelten Blockauswahldaten lädt. - Der ausgewählte Block wird in einem Pufferspeicher
130 zwischengespeichert und dann zu einem Decoder132 gesendet. Der Decoder132 decodiert die gepufferten Blöcke in zeitlicher Reihenfolge und sendet daraufhin ein Videoausgangssignal zu einer Anzeigevorrichtung des Benutzers. - Dem Fachmann ist klar, dass jeder der Komponenten der Clientstation verschiedene, hier nicht ausführlich beschriebene Zeitsignale zugesendet werden, damit sie ordnungsgemäß arbeitet.
Claims (6)
- Verfahren zum Rundsenden von Multimediaprogrammen zur Verwendung in einem System, in welchem die Programme an Empfangsstationen (
122 ) rundgesendet werden, wobei das Verfahren die folgenden Schritte umfasst: wiederholtes Rundsenden eines bestimmten Teils (A1) eines entsprechenden Programms an die Empfangsstationen (122 ); und wiederholtes Rundsenden eines nachfolgenden Teils (B1) des entsprechenden Programms an die Empfangsstationen (122 ), aber nicht so oft, wie des bestimmten Teils (A1); dadurch gekennzeichnet, dass Datenblöcke (a bis f) mindestens eines bestimmten Teils (A1) und des nachfolgenden Teils (B1) in wechselnder Reihenfolge rundgesendet werden, wobei sich die Reihenfolge von einer Wiederholung zur nächsten Wiederholung unterscheidet. - Verfahren nach Anspruch 1, wobei der bestimmte Teil (A1) des entsprechenden Programms auf einem ersten Kommunikationskanal und der nachfolgende Teil (B1) des entsprechenden Programms auf einem zweiten Kommunikationskanal rundgesendet wird.
- Verfahren nach Anspruch 1 oder 2, wobei der bestimmte Teil (A1) des Programms nicht so lange dauert wie der nachfolgende Teil (B1) des Programms.
- Verfahren nach einem der vorangehenden Ansprüche, wobei in dem bestimmten Teil der Beginn des Programms enthalten ist.
- Client-Station (
122 ) zum Empfangen rundgesendeter Multimediaprogramme zur Verwendung in einem System, in welchem die Multimediaprogramme als Vielzahl wiederholt rundgesendeter Segmente (A1 bis D1, A2 bis D2) übertragen werden und jedes der Segmente eine Anzahl von Blöcken (a bis f, p bis u) mit einer von Rundsendung zu Rundsendung unterschiedlichen Reihenfolge enthält, wobei die Station Folgendes umfasst: einen Empfänger mit einer Kanalauswahleinheit (128 ,608 ) und einer Blockauswahleinheit (128 ,612 ); wobei die Kanalauswahleinheit (128 ,608 ) ein Mittel zum Erkennen der Kanäle enthält, über welche ein bestimmtes Programm rundgesendet wird, und ein Mittel zum Empfangen von Blöcken von den Kanälen; und wobei die mit der Kanalauswahleinheit (128 ,608 ) gekoppelte Blockauswahleinheit (128 ,612 ) ein Mittel zum Ermitteln einer natürlichen Betrachtungsreihenfolge der Blöcke in jedem rundgesendeten Segment enthält; einen mit der Blockauswahleinheit (128 ,612 ) gekoppelten Pufferspeicher (130 ) zum Speichern eines nächsten Datenblocks aus jedem rundgesendeten Segment in der natürlichen Reihenfolge; und einen Decoder (132 ), der so geschaltet ist, dass er die im Pufferspeicher (130 ) gespeicherten Datenblöcke empfängt. - Multimediaserver (
100 ), welcher Folgendes umfasst: eine Vielzahl von Platten (102 ) mit darauf gespeicherten Datenblöcken (104 ) einer Multimediapräsentation; eine Blockauswahleinheit (118 ) zum Formatieren der Multimediapräsentation in eine Vielzahl von Segmenten (A1 bis D1), wobei jedes Segment (A1 bis D1) einen anderen Zeitabschnitt (A1 bis D1) der Multimediapräsentation enthält; und ein Rundsendemittel zum wiederholten Rundsenden einer Vielzahl von Teilen (A1 bis D1) eines Multimediaprogramms an die Empfangsstationen (122 ), wobei jeder Teil (B1 bis D1) des Multimediaprogramms nicht so oft rundgesendet wird wie diejenigen Teile (A1 bis C1), die in der Betrachtungsreihenfolge jedes der Teile (A1 bis D1) zeitlich früher liegen, wobei die Teile (A1 bis D1) eine Vielzahl von Datenblöcken (a bis f) umfassen, deren Reihenfolge sich von einer Rundsendung des Teils (A1) zu einer nachfolgenden Rundsendung des Teils (A1) ändert, und wobei die Betrachtungsdauer jedes Teils (B1 bis D1) länger ist als die Betrachtungsdauer derjenigen Teile (A1 bis C1) des Multimediaprogramms, welche in der Betrachtungsreihenfolge zeitlich früher liegen.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US542002 | 1995-10-12 | ||
US08/542,002 US5751336A (en) | 1995-10-12 | 1995-10-12 | Permutation based pyramid block transmission scheme for broadcasting in video-on-demand storage systems |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69634110D1 DE69634110D1 (de) | 2005-02-03 |
DE69634110T2 true DE69634110T2 (de) | 2005-07-07 |
Family
ID=24161952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69634110T Expired - Lifetime DE69634110T2 (de) | 1995-10-12 | 1996-08-12 | Verfahren, Client und Server für Video-auf-Anfrage |
Country Status (5)
Country | Link |
---|---|
US (1) | US5751336A (de) |
EP (1) | EP0768768B1 (de) |
JP (1) | JP3170461B2 (de) |
KR (1) | KR100230533B1 (de) |
DE (1) | DE69634110T2 (de) |
Families Citing this family (130)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6594688B2 (en) * | 1993-10-01 | 2003-07-15 | Collaboration Properties, Inc. | Dedicated echo canceler for a workstation |
DK0786121T3 (da) | 1994-10-12 | 2000-07-03 | Touchtunes Music Corp | System til digital, intelligent audiovisuel gengivelse |
US7188352B2 (en) | 1995-07-11 | 2007-03-06 | Touchtunes Music Corporation | Intelligent digital audiovisual playback system |
US7424731B1 (en) | 1994-10-12 | 2008-09-09 | Touchtunes Music Corporation | Home digital audiovisual information recording and playback system |
US8661477B2 (en) | 1994-10-12 | 2014-02-25 | Touchtunes Music Corporation | System for distributing and selecting audio and video information and method implemented by said system |
JPH11506575A (ja) | 1995-03-07 | 1999-06-08 | インターバル リサーチ コーポレイション | 情報の選択記憶システム及び方法 |
ES2147651T3 (es) * | 1995-07-21 | 2000-09-16 | Koninkl Philips Electronics Nv | Metodo para transmitir y recibir señales comprimidas de television. |
EP0808064B1 (de) * | 1995-12-01 | 2004-03-03 | Matsushita Electric Industrial Co., Ltd. | Informationsverarbeitungsgerät, -system und verfahren für ein datenübertragungsnetzwerk |
US5936659A (en) * | 1996-01-31 | 1999-08-10 | Telcordia Technologies, Inc. | Method for video delivery using pyramid broadcasting |
CA2201679A1 (en) * | 1996-04-15 | 1997-10-15 | Raju C. Bopardikar | Video data storage |
GB2312319B (en) | 1996-04-15 | 1998-12-09 | Discreet Logic Inc | Video storage |
US7266686B1 (en) * | 1996-05-09 | 2007-09-04 | Two-Way Media Llc | Multicasting method and apparatus |
FR2753868A1 (fr) | 1996-09-25 | 1998-03-27 | Technical Maintenance Corp | Procede de selection d'un enregistrement sur un systeme numerique de reproduction audiovisuel et systeme pour mise en oeuvre du procede |
US5893062A (en) | 1996-12-05 | 1999-04-06 | Interval Research Corporation | Variable rate video playback with synchronized audio |
US6263507B1 (en) | 1996-12-05 | 2001-07-17 | Interval Research Corporation | Browser for use in navigating a body of information, with particular application to browsing information represented by audiovisual data |
US6047317A (en) * | 1997-03-28 | 2000-04-04 | International Business Machines Corporation | System and method for enabling a user to rapidly access images in cyclically transmitted image streams |
JP3810530B2 (ja) * | 1997-09-18 | 2006-08-16 | 富士通株式会社 | ビデオサーバシステム、コンテンツ動的配置装置及びコンテンツ動的配置方法 |
FR2769165B1 (fr) | 1997-09-26 | 2002-11-29 | Technical Maintenance Corp | Systeme sans fil a transmission numerique pour haut-parleurs |
US6816904B1 (en) * | 1997-11-04 | 2004-11-09 | Collaboration Properties, Inc. | Networked video multimedia storage server environment |
US7024681B1 (en) * | 1997-12-04 | 2006-04-04 | Verizon Laboratories Inc. | Method and apparatus for near video on demand |
US6233656B1 (en) * | 1997-12-22 | 2001-05-15 | Lsi Logic Corporation | Bandwidth optimization cache |
FR2781582B1 (fr) | 1998-07-21 | 2001-01-12 | Technical Maintenance Corp | Systeme de telechargement d'objets ou de fichiers pour mise a jour de logiciels |
FR2781580B1 (fr) | 1998-07-22 | 2000-09-22 | Technical Maintenance Corp | Circuit de commande de son pour systeme de reproduction audiovisuelle numerique intelligent |
US8028318B2 (en) | 1999-07-21 | 2011-09-27 | Touchtunes Music Corporation | Remote control unit for activating and deactivating means for payment and for displaying payment status |
FR2781591B1 (fr) | 1998-07-22 | 2000-09-22 | Technical Maintenance Corp | Systeme de reproduction audiovisuelle |
US6307487B1 (en) | 1998-09-23 | 2001-10-23 | Digital Fountain, Inc. | Information additive code generator and decoder for communication systems |
US7068729B2 (en) * | 2001-12-21 | 2006-06-27 | Digital Fountain, Inc. | Multi-stage code generator and decoder for communication systems |
US6993787B1 (en) * | 1998-10-29 | 2006-01-31 | Matsushita Electric Industrial Co., Ltd. | Providing VCR functionality for data-centered video multicast |
US8726330B2 (en) | 1999-02-22 | 2014-05-13 | Touchtunes Music Corporation | Intelligent digital audiovisual playback system |
JP2000339279A (ja) * | 1999-05-28 | 2000-12-08 | Matsushita Electric Ind Co Ltd | 映像分散キャッシュ装置、及び映像収集再生装置 |
US6502139B1 (en) | 1999-06-01 | 2002-12-31 | Technion Research And Development Foundation Ltd. | System for optimizing video on demand transmission by partitioning video program into multiple segments, decreasing transmission rate for successive segments and repeatedly, simultaneously transmission |
US6341375B1 (en) | 1999-07-14 | 2002-01-22 | Lsi Logic Corporation | Video on demand DVD system |
FR2796482B1 (fr) | 1999-07-16 | 2002-09-06 | Touchtunes Music Corp | Systeme de gestion a distance d'au moins un dispositif de reproduction d'informations audiovisuelles |
US7155735B1 (en) | 1999-10-08 | 2006-12-26 | Vulcan Patents Llc | System and method for the broadcast dissemination of time-ordered data |
US20020157103A1 (en) * | 2000-01-07 | 2002-10-24 | Deyang Song | Method for digital media playback in a broadcast network |
US6757682B1 (en) | 2000-01-28 | 2004-06-29 | Interval Research Corporation | Alerting users to items of current interest |
FR2805377B1 (fr) | 2000-02-23 | 2003-09-12 | Touchtunes Music Corp | Procede de commande anticipee d'une selection, systeme numerique et juke-box permettant la mise en oeuvre du procede |
FR2805072B1 (fr) | 2000-02-16 | 2002-04-05 | Touchtunes Music Corp | Procede d'ajustement du volume sonore d'un enregistrement sonore numerique |
FR2805060B1 (fr) | 2000-02-16 | 2005-04-08 | Touchtunes Music Corp | Procede de reception de fichiers lors d'un telechargement |
US6622305B1 (en) * | 2000-02-25 | 2003-09-16 | Opentv, Inc. | System and method for displaying near video on demand |
US7013479B2 (en) * | 2000-04-14 | 2006-03-14 | Matsushita Electric Industrial Co., Ltd. | Broadcasting apparatus and method for pre-transmitting data carousel and receiving apparatus for receiving data carousel |
FR2808906B1 (fr) | 2000-05-10 | 2005-02-11 | Touchtunes Music Corp | Dispositif et procede de gestion a distance d'un reseau de systemes de reproduction d'informations audiovisuelles |
US6557030B1 (en) * | 2000-05-31 | 2003-04-29 | Prediwave Corp. | Systems and methods for providing video-on-demand services for broadcasting systems |
MXPA02011840A (es) * | 2000-05-31 | 2003-12-11 | Prediwave Corp | Metodos para proveer servicios de video a pedido para sistemas de transmision. |
FR2811175B1 (fr) | 2000-06-29 | 2002-12-27 | Touchtunes Music Corp | Procede de distribution d'informations audiovisuelles et systeme de distribution d'informations audiovisuelles |
FR2811114B1 (fr) | 2000-06-29 | 2002-12-27 | Touchtunes Music Corp | Dispositif et procede de communication entre un systeme de reproduction d'informations audiovisuelles et d'une machine electronique de divertissement |
FR2814085B1 (fr) | 2000-09-15 | 2005-02-11 | Touchtunes Music Corp | Procede de divertissement base sur les jeux concours a choix multiples |
US7072971B2 (en) | 2000-11-13 | 2006-07-04 | Digital Foundation, Inc. | Scheduling of multiple files for serving on a server |
US7240358B2 (en) * | 2000-12-08 | 2007-07-03 | Digital Fountain, Inc. | Methods and apparatus for scheduling, serving, receiving media-on demand for clients, servers arranged according to constraints on resources |
US6823394B2 (en) | 2000-12-12 | 2004-11-23 | Washington University | Method of resource-efficient and scalable streaming media distribution for asynchronous receivers |
US7246369B1 (en) * | 2000-12-27 | 2007-07-17 | Info Valve Computing, Inc. | Broadband video distribution system using segments |
US8458754B2 (en) * | 2001-01-22 | 2013-06-04 | Sony Computer Entertainment Inc. | Method and system for providing instant start multimedia content |
US8091112B1 (en) * | 2001-02-28 | 2012-01-03 | Keen Personal Technologies, Inc. | System and a method for transmitting and receiving a program with improved efficiency |
US20020129159A1 (en) | 2001-03-09 | 2002-09-12 | Michael Luby | Multi-output packet server with independent streams |
JP2002271758A (ja) * | 2001-03-13 | 2002-09-20 | Sony Corp | 送信装置、送信方法、受信装置、受信方法および送受信システム |
GB2374749B (en) * | 2001-04-20 | 2005-04-06 | Discreet Logic Inc | Image data processing |
US7200669B2 (en) * | 2001-07-31 | 2007-04-03 | Dinastech Ipr Limited | Method and system for delivering large amounts of data with interactivity in an on-demand system |
US7574728B2 (en) * | 2001-07-31 | 2009-08-11 | Dinastech Ipr Limited | System for delivering data over a network |
US7174384B2 (en) * | 2001-07-31 | 2007-02-06 | Dinastech Ipr Limited | Method for delivering large amounts of data with interactivity in an on-demand system |
JP2003060638A (ja) * | 2001-08-15 | 2003-02-28 | Sony Corp | コンテンツ提供装置及びコンテンツ提供方法 |
JP2003101604A (ja) * | 2001-09-20 | 2003-04-04 | Sony Corp | データ伝送方法及び装置並びにデータ受信方法及び装置 |
US9240810B2 (en) | 2002-06-11 | 2016-01-19 | Digital Fountain, Inc. | Systems and processes for decoding chain reaction codes through inactivation |
US8151304B2 (en) | 2002-09-16 | 2012-04-03 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US9646339B2 (en) | 2002-09-16 | 2017-05-09 | Touchtunes Music Corporation | Digital downloading jukebox system with central and local music servers |
US8332895B2 (en) | 2002-09-16 | 2012-12-11 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US8103589B2 (en) | 2002-09-16 | 2012-01-24 | Touchtunes Music Corporation | Digital downloading jukebox system with central and local music servers |
US7822687B2 (en) | 2002-09-16 | 2010-10-26 | Francois Brillon | Jukebox with customizable avatar |
US11029823B2 (en) | 2002-09-16 | 2021-06-08 | Touchtunes Music Corporation | Jukebox with customizable avatar |
US8584175B2 (en) | 2002-09-16 | 2013-11-12 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US10373420B2 (en) | 2002-09-16 | 2019-08-06 | Touchtunes Music Corporation | Digital downloading jukebox with enhanced communication features |
KR101143282B1 (ko) * | 2002-10-05 | 2012-05-08 | 디지털 파운튼, 인크. | 연쇄 반응 코드의 체계적 인코딩 및 디코딩 |
US7404002B1 (en) * | 2003-03-06 | 2008-07-22 | Nvidia Corporation | Method and system for broadcasting live data over a network |
JP4306365B2 (ja) * | 2003-08-07 | 2009-07-29 | ソニー株式会社 | サーバ及びコンテンツ受信装置 |
EP1665539B1 (de) | 2003-10-06 | 2013-04-10 | Digital Fountain, Inc. | Soft-Dekodierung von Multi-Stage Chain Reaction Kodes |
US20060031885A1 (en) * | 2004-04-30 | 2006-02-09 | Vulcan Inc. | Management and non-linear presentation of music-related broadcasted or streamed multimedia content |
US20060031916A1 (en) * | 2004-04-30 | 2006-02-09 | Vulcan Inc. | Management and non-linear presentation of broadcasted or streamed multimedia content |
US20060031879A1 (en) * | 2004-04-30 | 2006-02-09 | Vulcan Inc. | Management and non-linear presentation of news-related broadcasted or streamed multimedia content |
US7418651B2 (en) * | 2004-05-07 | 2008-08-26 | Digital Fountain, Inc. | File download and streaming system |
US7447978B2 (en) | 2004-11-16 | 2008-11-04 | Nokia Corporation | Buffering packets of a media stream |
US7760908B2 (en) * | 2005-03-31 | 2010-07-20 | Honeywell International Inc. | Event packaged video sequence |
BRPI0610404A2 (pt) | 2005-04-07 | 2012-01-10 | Nokia Corp | método, sistema e dispositivo para armazenar pacotes de um fluxo de mìdia, dispositivo de comunicação sem fio, servidor, servidor de radiodifusão de multimìdia/serviço multipontos, dispositivo para receber os pacotes possuindo uma programação de transmissão e ao menos um quadro de transmissão, sinal associado a um fluxo de mìdia, produto de programa de computador |
US20070071404A1 (en) * | 2005-09-29 | 2007-03-29 | Honeywell International Inc. | Controlled video event presentation |
WO2007095550A2 (en) | 2006-02-13 | 2007-08-23 | Digital Fountain, Inc. | Streaming and buffering using variable fec overhead and protection periods |
US9270414B2 (en) * | 2006-02-21 | 2016-02-23 | Digital Fountain, Inc. | Multiple-field based code generator and decoder for communications systems |
US7971129B2 (en) | 2006-05-10 | 2011-06-28 | Digital Fountain, Inc. | Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems |
US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
US9386064B2 (en) | 2006-06-09 | 2016-07-05 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
US9178535B2 (en) * | 2006-06-09 | 2015-11-03 | Digital Fountain, Inc. | Dynamic stream interleaving and sub-stream based delivery |
US9419749B2 (en) | 2009-08-19 | 2016-08-16 | Qualcomm Incorporated | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes |
US9380096B2 (en) | 2006-06-09 | 2016-06-28 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
US9209934B2 (en) | 2006-06-09 | 2015-12-08 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
US9330529B2 (en) | 2007-01-17 | 2016-05-03 | Touchtunes Music Corporation | Game terminal configured for interaction with jukebox device systems including same, and/or associated methods |
US9171419B2 (en) | 2007-01-17 | 2015-10-27 | Touchtunes Music Corporation | Coin operated entertainment system |
US9172918B2 (en) * | 2007-02-02 | 2015-10-27 | Honeywell International Inc. | Systems and methods for managing live video data |
US20080205229A1 (en) * | 2007-02-26 | 2008-08-28 | Yung-Chih Li | Method of identifying optical disc |
US9953481B2 (en) | 2007-03-26 | 2018-04-24 | Touchtunes Music Corporation | Jukebox with associated video server |
TWI335423B (en) * | 2007-08-30 | 2011-01-01 | Mitac Int Corp | Navigation apparatus using image map and method thereof |
CA2697764A1 (en) * | 2007-09-12 | 2009-03-19 | Steve Chen | Generating and communicating source identification information to enable reliable communications |
US9483405B2 (en) | 2007-09-20 | 2016-11-01 | Sony Interactive Entertainment Inc. | Simplified run-time program translation for emulating complex processor pipelines |
US9324064B2 (en) | 2007-09-24 | 2016-04-26 | Touchtunes Music Corporation | Digital jukebox device with karaoke and/or photo booth features, and associated methods |
US8332887B2 (en) | 2008-01-10 | 2012-12-11 | Touchtunes Music Corporation | System and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server |
US10290006B2 (en) | 2008-08-15 | 2019-05-14 | Touchtunes Music Corporation | Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations |
US8849435B2 (en) | 2008-07-09 | 2014-09-30 | Touchtunes Music Corporation | Digital downloading jukebox with revenue-enhancing features |
US9100585B2 (en) | 2008-10-28 | 2015-08-04 | Sony Computer Entertainment Inc. | Combined broadcast and backchannel delivery of streaming content |
US20100125885A1 (en) * | 2008-11-19 | 2010-05-20 | Qualcomm Incorporated | System and method of providing near video on demand |
US9281847B2 (en) * | 2009-02-27 | 2016-03-08 | Qualcomm Incorporated | Mobile reception of digital video broadcasting—terrestrial services |
US8878931B2 (en) | 2009-03-04 | 2014-11-04 | Honeywell International Inc. | Systems and methods for managing video data |
US10564804B2 (en) | 2009-03-18 | 2020-02-18 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
KR101748448B1 (ko) | 2009-03-18 | 2017-06-16 | 터치튠즈 뮤직 코포레이션 | 엔터테인먼트 서버 및 관련 소셜 네트워킹 서비스 |
US10719149B2 (en) | 2009-03-18 | 2020-07-21 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US9292166B2 (en) | 2009-03-18 | 2016-03-22 | Touchtunes Music Corporation | Digital jukebox device with improved karaoke-related user interfaces, and associated methods |
US9288010B2 (en) | 2009-08-19 | 2016-03-15 | Qualcomm Incorporated | Universal file delivery methods for providing unequal error protection and bundled file delivery services |
US20110096828A1 (en) * | 2009-09-22 | 2011-04-28 | Qualcomm Incorporated | Enhanced block-request streaming using scalable encoding |
US9917874B2 (en) | 2009-09-22 | 2018-03-13 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
WO2011094330A1 (en) | 2010-01-26 | 2011-08-04 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US20110280311A1 (en) | 2010-05-13 | 2011-11-17 | Qualcomm Incorporated | One-stream coding for asymmetric stereo video |
US8433759B2 (en) | 2010-05-24 | 2013-04-30 | Sony Computer Entertainment America Llc | Direction-conscious information sharing |
US8918533B2 (en) | 2010-07-13 | 2014-12-23 | Qualcomm Incorporated | Video switching for streaming video data |
US9185439B2 (en) | 2010-07-15 | 2015-11-10 | Qualcomm Incorporated | Signaling data for multiplexing video components |
US9596447B2 (en) | 2010-07-21 | 2017-03-14 | Qualcomm Incorporated | Providing frame packing type information for video coding |
US9456015B2 (en) | 2010-08-10 | 2016-09-27 | Qualcomm Incorporated | Representation groups for network streaming of coded multimedia data |
US9270299B2 (en) | 2011-02-11 | 2016-02-23 | Qualcomm Incorporated | Encoding and decoding using elastic codes with flexible source block mapping |
US8958375B2 (en) | 2011-02-11 | 2015-02-17 | Qualcomm Incorporated | Framing for an improved radio link protocol including FEC |
US9253233B2 (en) | 2011-08-31 | 2016-02-02 | Qualcomm Incorporated | Switch signaling methods providing improved switching between representations for adaptive HTTP streaming |
US9843844B2 (en) | 2011-10-05 | 2017-12-12 | Qualcomm Incorporated | Network streaming of media data |
US11151224B2 (en) | 2012-01-09 | 2021-10-19 | Touchtunes Music Corporation | Systems and/or methods for monitoring audio inputs to jukebox devices |
US9294226B2 (en) | 2012-03-26 | 2016-03-22 | Qualcomm Incorporated | Universal object delivery and template-based file delivery |
WO2015070070A1 (en) | 2013-11-07 | 2015-05-14 | Touchtunes Music Corporation | Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices |
EP3123293A4 (de) | 2014-03-25 | 2017-09-27 | Touchtunes Music Corporation | Digitale jukebox-vorrichtung mit verbesserten benutzeroberflächen sowie entsprechende verfahren |
US9825801B1 (en) | 2016-07-22 | 2017-11-21 | Spotify Ab | Systems and methods for using seektables to stream media items |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0525894B1 (de) * | 1991-08-02 | 2000-05-10 | Koninklijke Philips Electronics N.V. | Darstellungssystem für Nachrichten, die auf Anfrage Information erteilen, Sendestation und Empfängerstation zur Verwendung in einem derartigen Darstellungssystem |
US5606359A (en) * | 1994-06-30 | 1997-02-25 | Hewlett-Packard Company | Video on demand system with multiple data sources configured to provide vcr-like services |
US5559764A (en) * | 1994-08-18 | 1996-09-24 | International Business Machines Corporation | HMC: A hybrid mirror-and-chained data replication method to support high data availability for disk arrays |
US5608448A (en) * | 1995-04-10 | 1997-03-04 | Lockheed Martin Corporation | Hybrid architecture for video on demand server |
-
1995
- 1995-10-12 US US08/542,002 patent/US5751336A/en not_active Expired - Lifetime
-
1996
- 1996-08-12 DE DE69634110T patent/DE69634110T2/de not_active Expired - Lifetime
- 1996-08-12 EP EP96305896A patent/EP0768768B1/de not_active Expired - Lifetime
- 1996-08-27 JP JP22513896A patent/JP3170461B2/ja not_active Expired - Lifetime
- 1996-09-09 KR KR1019960038995A patent/KR100230533B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US5751336A (en) | 1998-05-12 |
EP0768768B1 (de) | 2004-12-29 |
KR970025130A (ko) | 1997-05-30 |
DE69634110D1 (de) | 2005-02-03 |
EP0768768A3 (de) | 2000-08-16 |
EP0768768A2 (de) | 1997-04-16 |
KR100230533B1 (ko) | 1999-11-15 |
JPH09135222A (ja) | 1997-05-20 |
JP3170461B2 (ja) | 2001-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69634110T2 (de) | Verfahren, Client und Server für Video-auf-Anfrage | |
DE3614361C2 (de) | ||
DE60032467T2 (de) | Verfahren und System für Video-auf-Anfrage | |
DE60008928T2 (de) | Verfahren zur steuerung des ablaufs eines stroms | |
DE69823168T2 (de) | Verfahren und gerät zur kodierung und formatierung von daten eines videoprogramms zur erzeugung sich mehrfach überlappender darstellungen des videoprogramms | |
DE69935360T2 (de) | Elektronischer Programmführer und entsprechenden MPEG-Datenstrom | |
DE60222276T2 (de) | Softwaregesteuerte bidirektionale mehrmoduskommunikationsvorrichtung | |
DE69734064T2 (de) | Anordnung und verfahren zur dynamischen bandbreitenzuordnung in einem paketstromkodierer | |
DE60126224T2 (de) | Rundfunkdatenempfänger | |
DE60114650T2 (de) | Adaptive videobestellung | |
DE4228221B4 (de) | Vorrichtung zur Aufteilung von Videosignalen zwischen zwei Kanälen | |
DE10043188A1 (de) | Fehlerkorrekturverfahren für Videokompressionskodierung unter Verwendung von mehreren Referenzpuffern und einem Nachrichtenkanal | |
DE69831972T2 (de) | Verfahren zur bereitstellung und ermittlung von daten | |
DE60225010T2 (de) | Verfahren und vorrichtung zur verbesserten erfassung und überwachung von ereignisinformationstabellenteilen | |
DE69733199T2 (de) | Verfahren und audio-server-system für ein unzuverlässiges netzwerk | |
DE10004829B4 (de) | Verfahren und Vorrichtung zum Übertragen von Dateneinheiten eines Datenstroms | |
EP0515980B1 (de) | Raum- und Zeit-Koppelelement | |
EP0336510B1 (de) | Prädiktiver Standbildcodierer | |
DE69834175T2 (de) | Verfahren zur Bestimmung der Zugriffszeit von wiederholt übertragenen Objekte | |
DE60205837T2 (de) | Verfahren zur effektiven Anfrageverarbeitung in einer Umgebung mit Funkdatenrundsendung | |
WO2013117514A1 (de) | Verfahren zum schnellen umschalten zwischen alternativen übertragungswegen | |
EP0938236B1 (de) | Verfahren zum Generieren einer Einsprungsstelle in einen Bildatenstrom und Vorrichtung zur Durchführung des Verfahrens | |
DE60128067T2 (de) | Verfahren und system zur schleifendatenrundfunksendung | |
DE60310411T2 (de) | Verfahren und Vorrichtung zur Übertragung von Daten, die mit übertragenen Informationen verknüpft sind | |
DE19641897C2 (de) | System zur Übertragung und Verteilung von Fernsehsignalen mit dynamischer Zuweisung der Übertragungskapazität |
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: CISCO SYSTEMS, INC., SAN JOSE, CALIF., US |
|
8328 | Change in the person/name/address of the agent |
Representative=s name: BOSCH JEHLE PATENTANWALTSGESELLSCHAFT MBH, 80639 M |