DE60207381T2 - Verfahren und system zum puffern von stream-daten - Google Patents
Verfahren und system zum puffern von stream-daten Download PDFInfo
- Publication number
- DE60207381T2 DE60207381T2 DE60207381T DE60207381T DE60207381T2 DE 60207381 T2 DE60207381 T2 DE 60207381T2 DE 60207381 T DE60207381 T DE 60207381T DE 60207381 T DE60207381 T DE 60207381T DE 60207381 T2 DE60207381 T2 DE 60207381T2
- Authority
- DE
- Germany
- Prior art keywords
- decoder
- buffer
- client device
- decoder buffer
- source server
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9005—Buffering arrangements using dynamic buffer space allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9023—Buffering arrangements for implementing a jitter-buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
- H04L65/4038—Arrangements for multi-party communication, e.g. for conferences with floor control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/752—Media network packet handling adapting media to network capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/764—Media network packet handling at the destination
-
- 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/23406—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving management of server-side video buffer
-
- 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
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
-
- 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
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
-
- 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/60—Network 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
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
-
- 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/60—Network 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
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6582—Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
Description
- Gebiet der Erfindung
- Die vorliegende Erfindung betrifft im Allgemeinen das Streaming von Mediendaten über Netzwerke, die auf Paketen basieren. Insbesondere betrifft die vorliegende Erfindung einen Puffermechanismus zur Verbesserung der Wiedergabe der gestreamten Daten aus einer Paketverzögerungsschwankung, die auf Codierung und Paketierung zurückzuführen ist.
- Hintergrund der Erfindung
- In herkömmlichen paketvermittelten Multimedia-Systemen, z. B. in IP-basierten Videokonferenzsystemen, werden unterschiedliche Typen von Medien normalerweise in getrennten Paketen übertragen. Ferner werden Pakete typischer Weise auf einem Best-Effort-Netzwerkprotokoll übertragen, das keine konstante Übertragungsverzögerung garantieren kann; vielmehr kann die Verzögerung von Paket zu Paket schwanken. Infolgedessen kann es sein, dass Pakete, welche denselben Präsentations (Wiedergabe)-Zeitstempel aufweisen, nicht zur selben Zeit empfangen werden, und dass das Empfangsintervall von zwei Paketen nicht dasselbe ist wie ihr Präsentationsintervall (in Bezug auf die Zeit). Somit puffert – um die Wiedergabesynchronisation zwischen unterschiedlichen Medientypen und die korrekte Wiedergabegeschwindigkeit aufrechtzuerhalten – ein Multimedia-Endgerät typischer Weise die empfangenen Daten über einen kurzen Zeitraum (z. B. weniger als eine halbe Sekunde), um die Verzögerungsschwankung auszugleichen. Im vorliegenden Dokument wird dieser Typ von Puffer als Verzögerungs-Jitter-Puffer bezeichnet. In herkömmlichen paketvermittelten Multimedia-Systemen kann das Puffern vor und/oder nach dem Decodieren der Mediendaten erfolgen.
- Das Verzögerungs-Jitter-Puffern kommt auch bei Streaming-Systemen zur Anwendung. Aufgrund der Tatsache, dass Streaming eine nicht herkömmliche Anwendung ist, kann es sein, dass ein Verzögerungs-Jitter-Puffer erforderlich ist, der wesentlich größer als bei herkömmlichen Anwendungen ist. Wenn ein Streaming-Wiedergabegerät eine Verbindung zu einem Server hergestellt und angefordert hat, dass ein Multimeadia-Stream heruntergeladen wird, beginnt der Server damit, den gewünschten Stream zu übertragen. Das Wiedergabegerät beginnt typischer Weise nicht damit, den Stream sofort wiederzugeben, sondern puffert vielmehr die einlangenden Daten für einen bestimmten Zeitraum, typischer Weise ein paar Sekunden. Im vorliegenden Dokument wird dieser Typ von Puffern als Anfangspuffern bezeichnet. Durch das Anfangspuffern wird die Möglichkeit geschaffen, Übertragungsverzögerungsschwankungen in einer Weise auszugleichen, die jener ähnelt, die durch das Verzögerungs-Jitter-Puffern in herkömmlichen Anwendungen bereitgestellt wird. Darüber hinaus kann es die Verwendung von Link-, Transport- und/oder Anwendungsschicht-Wiederübertragungen von verloren gegangenen Protokolldateneinheiten (PDUs) ermöglichen. Das Puffern erlaubt dem Wiedergabegerät, Daten aus dem Puffer zu decodieren und wiederzugeben, während die Möglichkeit geschaffen wird, verloren gegangene PDUs erneut zu übertragen. Wenn die Pufferzeit ausreichend lang ist, werden die erneut übertragenen PDUs rechtzeitig empfangen, um zum vorgesehenen Zeitpunkt decodiert und wiedergegeben zu werden.
- Das Anfangspuffern in Streaming-Clients bietet einen weiteren Vorteil, der bei herkömmlichen Systemen nicht erzielt werden kann: Es ermöglicht ein Schwanken der Datenrate der übertragenen Medien. Mit anderen Worten, Medienpakete können vorübergehend schneller oder langsamer übertragen werden als ihre Wiedergaberate, so lange es beim Empfangspuffer zu keinem Überlauf oder Unterlauf kommt. Die Schwankung bei der Datenrate kann auf zwei Ursachen zurückzuführen sein. Die erste Schwankungsursache geht auf den Umstand zurück, dass die Kompressionseffizienz, die in einigen Medientypen erzielbar ist, wie z. B. einem Video, von den Inhalten der Quellendaten abhängt. Infolgedessen schwankt die Bitrate des resultierenden komprimierten Bit-Streams, wenn eine stabile Qualität gewünscht wird. Typischer Weise ist eine stabile audio-visuelle Qualität subjektiv angenehmer als eine schwankende Qualität. Somit ermöglicht das Anfangspuffern das Erhalten einer angenehmeren audio-visuellen Qualität im Vergleich zu einem System ohne Anfangspuffern, wie einem Video-Konferenzsystem.
- Wenn man das Beispiel von Videodaten näher betrachtet, können unterschiedliche Rahmen einer Videosequenz durch unterschiedliche Datenmengen dargestellt werden. Dies ergibt sich aus der Verwendung von prädiktiven Codierungstechniken. Typischer Weise definieren die Videocodierungsstandards mindestens zwei Rahmentypen. Die hauptsächlichen Rahmentypen sind INTRA- oder I-Rahmen und INTER- oder P-Rahmen. Ein INTRA-Rahmen wird auf der Basis von Informationen codiert, die im Bild selbst enthalten sind, während ein P-Rahmen in Bezug auf mindestens einen anderen Rahmen codiert wird, für gewöhnlich einen Rahmen, der in der Videosequenz früher auftritt. Aufgrund der bedeutenden zeitlichen Redundanz zwischen aufeinanderfolgenden Rahmen einer digitalen Videosequenz ist es möglich, einen INTER-Rahmen mit einer bedeutend geringeren Datenmenge zu codieren, als erforderlich ist, um einen INTRA-Rahmen darzustellen. Somit werden INTRA-Rahmen vergleichsweise selten in einer codierten Videosequenz verwendet.
- Typischer Weise beginnt eine codierte Sequenz mit einem INTRA-Rahmen (da kein vorhergehender Rahmen zur Verfügung steht, der als Referenz für die Konstruktion eines INTER-Rahmens verwendet werden könnte). INTRA-Rahmen können in die Sequenz periodisch eingefügt werden, z. B. in regelmäßigen Intervallen, um Fehler auszugleichen, die sich ansammeln und durch eine Aufeinanderfolge von vorhergesagten (INTER) Rahmen ausbreiten können. INTRA-Rahmen werden auch häufig bei Szeneschnitten verwendet, wo sich der Bildinhalt von aufeinander folgenden Rahmen so sehr ändert, dass ein prädiktives Codieren keine wirksame Datenreduktion bereitstellt. Somit beginnt ein typischer codierter Videostream im Allgemeinen mit einem INTRA-codierten Rahmen und umfasst eine Sequenz von INTER-Rahmen, die mit gelegentlichen INTRA-Rahmen versetzt sind, wobei die Datenmenge, die erforderlich ist, um einen INTRA-Rahmen darzustellen, um ein Mehrfaches (z. B. 5- bis 10-fach) größer ist als jene, die erforderlich ist, um einen INTER-codierten Rahmen bereitzustellen. Die Datenmenge, die erforderlich ist, um jeden INTER-Rahmen darzustellen schwankt auch gemäß dem Grad der Ähnlichkeit/Unterschiedlichkeit in Bezug auf seinen Referenzrahmen und die Detailmenge in dem Bild.
- Dies bedeutet, dass die Informationen, die benötigt werden, um eine prädiktiv codierte Videosequenz zu rekonstruieren, auf die übertragenen Datenpakete nicht gleichmäßig verteilt sind. Mit anderen Worten, eine größere Anzahl an Datenpaketen ist erforderlich, um die Daten in Zusammenhang mit einem INTRA-Rahmen zu transportieren, als dies für das Transportieren der Daten bei einem INTER-Rahmen der Fall ist. Da die Datenmenge, die erforderlich ist, um aufeinander folgende INTER-Rahmen darzustellen, auch vom Bildinhalt abhängt, schwankt auch die Anzahl von Datenpaketen, die erforderlich sind, um die INTER-Rahmendaten zu übertragen.
- Eine zweite Schwankungsquelle tritt auf, wenn es zu Paketverlusten in Fest-IP-Netzwerken in Stößen kommt. Um diskontinuierliche Fehler und High-Peak-Bit- und Paket-Raten zu vermeiden, planen entsprechend konstruierte Streaming-Server die Übertragung von Paketen sorgfältig, wobei Pakete unter Umständen nicht genau mit der Rate gesendet werden, mit der sie am empfangenden Ende wiedergegeben werden. Typischer Weise werden Netzwerkserver derart eingesetzt, dass sie versuchen, eine konstante Rate für die Paketübertragung zu erreichen. Ein Server kann auch die Rate der Paketübertragung gemäß vorherrschenden Netzwerkbedingungen einstellen, wobei die Paketübertragungsrate reduziert wird, wenn das Netzwerk verstopft ist, und zum Beispiel erhöht wird, wenn dies die Netzwerkbedingungen erlauben. Dies tritt typischer Weise beim Einstellen des angekündigten Fensters der Empfangsnachricht auf, die im TCP (Übertragungssteuerungsprotokoll) gesendet wird.
- In Anbetracht dieser eingebetteten Eigenschaft von Netzwerk-Servern und in Verbindung mit dem zuvor beschriebenen Videocodierungssystem, sind nicht nur die Informationen, die für das Rekonstruieren einer prädiktiv codierten Videosequenz erforderlich sind, ungleichmäßig zwischen den übertragenen Datenpaketen verteilt, sondern die Datenpakete selbst können ebenfalls von dem Server mit einer schwankenden Rate übertragen werden. Das bedeutet, dass ein Decodierer in beispielsweise einem empfangenden Client-Endgerät eine variable Verzögerung beim Empfang der Informationen aufweist, die sie benötigt, um aufeinander folgende Rahmen in einer Videosequenz zu konstruieren, selbst wenn die Übertragungsverzögerung durch das Netzwerk konstant ist. Es sollte angemerkt werden, dass sich der Begriff Client-Endgerät auf ein beliebiges elektronisches Endnutzer-Gerät bezieht, z. B. Handgeräte (PDAs), drahtlose Endgeräte sowie Desktop- und Laptop-Computer und Set-Top-Boxes. Diese Schwankung bei der Verzögerung, die wegen der Codierung, Paketierung und Paketübertragung von einem Server auftritt, kann als „Codierung" oder „serverspezifische" Schwankungsverzögerung bezeichnet werden. Sie ist unabhängig von oder zusätzlich zum Verzögerungs-Jitter, das aufgrund von Schwankungen bei der Übertragungszeit innerhalb des Netzwerks auftaucht.
- Somit ermöglicht das Anfangspuffern die Aufnahme von Schwankungen bei der übertragenen Datenrate, die sich aus den zuvor genannten Nachteilen ergeben, d. h. Codierung oder serverspezifische Verzögerungsschwankung und Verzögerungsschwankung in Zusammenhang mit der Netzwerkübertragung. Das Anfangspuffern hilft bei der Bereitstellung einer stabileren audio-visuellen Qualität und bei der Verhinderung von Netzwerk-Verstopfung und Paketverlusten.
- Das Anfangspuffern kann auch nach dem Decodieren der empfangenen Mediendaten durchgeführt werden. Das hat den Nachteil, dass die Abmessungen des Puffers relativ groß sein müssen, da das Puffern auf decodierten Daten erfolgt. Die kombinierte Wirkung von Codierung, serverspezifisch und Netzwerkübertragungsverzögerungsschwankungen neigt auch dazu, die Anforderung an das Anfangspufferung zu erhöhen.
- Ferner bewirkt das Codieren von Mediendaten und die Art und Weise, in der codierte Daten in Pakete eingekapselt und von einem Server aus übertragen werden, dass ein Decodierer in einem empfangenden Client-Endgerät eine variable Verzögerung beim Empfang der Informationen aufweist, die es benötigt, um die Mediendaten zu rekonstruieren, selbst wenn die Übertragungsverzögerung durch das Netzwerk konstant ist. Somit stellt ein Nach-Decodiererpuffer kein Mittel zur Aufnahme dieser Form von Verzögerungsschwankung vor dem Decodieren bereit.
- Dokument
US 6175871 B1 offenbart ein System zum Empfangen von Streaming-Medien über ein Netzwerk, das einen Vor-Decodiererpuffer mit einer variablen Puffergröße verwendet, wobei die variable Puffergröße dynamisch gemäß den dynamischen Transporteigenschaften des Netzwerks eingestellt wird. - Kurzdarstellung der Erfindung
- Gemäß eines ersten Aspektes der Erfindung wird ein Verfahren zum Streaming von Mediendaten durch Übertragen von mehreren Datenpaketen über ein Netzwerk von einem Quellserver zu einer Client-Vorrichtung bereitgestellt, wobei die Client-Vorrichtung einen Decodierer zum Decodieren codierter Pakete aufweist. Das Verfahren ist dadurch gekennzeichnet, dass die Client-Vorrichtung ferner einen Vor-Decodiererpuffer mit einer variablen Anfangspufferzeit und einer variablen Puffergröße aufweist, die zum Empfang der übertragenen Daten von dem Quellserver vor dem Decodieren in dem Decodierer bereitgestellt werden, und wobei die variable Anfangspufferzeit und variable Puffergröße des Vor-Decodiererpuffers dynamisch für eine verbesserte Leistung der Wiedergabe durch die Client-Vorrichtung angepasst wird.
- Gemäß eines zweiten Aspektes der Erfindung wird ein System für das Streaming von Mediendaten durch Übertragen von mehreren Datenpaketen bereitgestellt, wobei das System einen Quellserver aufweist, auf dem sich die Mediendaten befinden, ein Netzwerk, das als Übertragungsmedium für die Datenpakete dient, und eine Client-Vorrichtung, die in der Lage ist, die Mediendaten wiederzugeben, wobei die Client-Vorrichtung einen Vor-Decodiererpuffer aufweist, um die Pakete, die vom Quellserver über das Netzwerk übertragen werden, zu empfangen, wobei der Vor-Decodiererpuffer eine variable Anfangspufferzeit und eine variable Puffergröße, einen Decodierer für das Decodieren der Pakete von dem Vor-Decodiererpuffer und Mittel für das dynamische Anpassen der variablen Anfangspufferzeit und der variablen Puffergröße des Vor-Decodiererpuffers aufweist, um die Leistung der Wiedergabe durch die Client-Vorrichtung zu verbessern.
- Gemäß eines dritten Aspektes der Erfindung wird eine Client-Vorrichtung zum Empfangen von mehreren Datenpaketen bereitgestellt, die über ein Netzwerk von einem Quellserver übertragen werden, wobei die Client-Vorrichtung einen Vor-Decodiererpuffer für das Empfangen der übertragenen Datenpakete von dem Quellserver über das Netzwerk aufweist, wobei der Vor-Decodiererpuffer eine variable Anfangspufferzeit und eine variable Puffergröße aufweist, einen Decodier für das Decodieren der Datenpakete von dem Vor-Decodiererpuffer und Mittel für das dynamische Anpassen der variablen Anfangspufferzeit und der variablen Puffergröße des Vor-Decodiererpuffers, um die Leistung der Wiedergabe durch die Client-Vorrichtung zu verbessern.
- Kurze Beschreibung der Zeichnungen
- Die Erfindung und ihre weiteren Aufgaben und Vorteile können am besten durch Bezugnahme auf die folgende Beschreibung gemeinsam mit den beiliegenden Zeichnungen verstanden werden. Es zeigen:
-
1 ein vereinfachtes Blockdiagramm eines Vor-Decodiererpufferblocks in der Vorrichtungs-Endgeräte-Architektur gemäß einer Ausführungsform der Erfindung; und -
2 ein Beispiel eines Datenflusses in einem typischen Streaming-System, welches die Wirkung des Vor-Decodiererpufferns darstellt. - Detaillierte Beschreibung der Erfindung
- Überblick über die Architektur
- Gemäß der Erfindung wird ein neuer Pufferblock in der Endgeräte-Architektur bereitgestellt, um das Puffern auf der Empfängerseite zu verbessern. Dieser Pufferblock wird im vorliegenden Dokument als Vor-Decodiererpuffer bezeichnet.
-
1 zeigt ein vereinfachtes Blockdiagramm eines Vor-Decodiererpufferblocks in der Vorrichtungs-Endgeräte-Architektur gemäß einer Ausführungsform der Erfindung. - Der „Transport-Decodierer"
100 entkapselt den Code-Stream aus den empfangenen Datenpaketen (z. B. RTP-Datenpakete). Der „Quell-Decodierer"120 decodiert den Code-Stream in ein unkomprimiertes Datenformat, das wiedergegeben werden kann. Der „Vor-Decodiererpuffer"110 wirkt als vorübergehender Speicher zwischen dem Transport-Decodieren und dem Quell-Decodieren. In dem Fall eines Multimedien-Streams, der mehr als eine Art von Daten umfasst, wird ein gemeinsamer Vor-Decodiererpuffer vorteilhafter Weise zwischen allen Echtzeit-Medientypen geteilt, die übertragen werden. In alternativen Ausführungsformen der Erfindung jedoch wird ein getrennter Vor-Decodiererpuffer für jeden Medientyp bereitgestellt, wobei der Vor-Decodiererpuffer für jeden Medientyp zwischen dem Transport-Decodierer und dem jeweiligen Quell-Decodierer für den betreffenden Medientyp angeordnet ist. Die Decodierungsvorgänge werden vorzugsweise als Software umgesetzt, die in dem Speicher der Client-Vorrichtung gespeichert und von einer MCU (Master Control Unit) und unterer ihrer Kontrolle zum Laufen gebracht wird, welche den Betrieb der Client-Vorrichtung steuert, wovon1 einen Teil zeigt. Die MCU empfängt Steuersignale von einem Quellserver und steuert die Anpassung der Anfangspufferzeit und der Puffergröße gemäß den empfangenen Signalen vom Quellserver. Die Steuerung der unterschiedlichen Blöcke durch die MCU ist in1 durch die Steuerpfeile aus der MCU zu jedem Block dargestellt. - In einer bevorzugten Ausführungsform der Erfindung wird der Vor-Decodiererpuffer zusätzlich zu einem Nach-Decodiererpuffer bereitgestellt, der sich nach einem Decodierer in einem Streaming-Client befindet. Vorteilhafter Weise wird der Nach-Decodiererpuffer bereitgestellt, um die Netzwerkübertragungsverzögerungsschwankungen zu absorbieren. Zusätzlich kann der Nach-Decodiererpuffer auch mit dem Decodieren in Zusammenhang stehende Verzögerungsschwankungen absorbieren. Dies ist besonders in dem Fall vorteilhaft, in dem mehr als ein Typ von Mediendaten gleichzeitig gestreamt wird. Die Verwendung eines Nach-Decodiererpuffers in dieser Situation ermöglicht es, dass Decodierungsverzögerungsschwankungen, die durch unterschiedliche Medien-Decodierer eingeführt werden, ausgeglichen werden. In einer alternativen Ausführungsform der Erfindung wird ein getrennter Decodiererpuffer auch im empfangenden Client bereitgestellt. Der Decodiererpuffer ist zwischen dem Decodierer und dem Nach-Decodiererpuffer angeordnet und wird als ein vorübergehender Speicher für die Mediendaten bereitgestellt, während diese decodiert werden. Vorteilhafter Weise wird in einer Situation, in der mehr als ein Typ von Mediendaten gleichzeitig gestreamt werden, ein getrennter Decodiererpuffer für den jeweiligen Quellen-Decodierer für jeden Medientyp bereitgestellt.
- Puffer-Algorithmus
- Ein Puffer-Algorithmus, der gemäß der Ausführungsform arbeitet, wird bereitgestellt, um empfangene Daten in einem Streaming-Client zu puffern und das Codieren und Bereitstellen von Streams von einem netzwerkbasierten Streaming-Server zu steuern. Der Algorithmus geht davon aus, dass ein Vor-Decodiererpuffer gemäß der Erfindung in dem Streaming-Client bereitgestellt wird.
- Es gibt zwei Hauptfaktoren, welche das Verhalten des Pufferalgorithmus beeinflussen, d. h. die Anfangspufferzeit und die minimale Vor- Decodiererpuffergröße. Die Anfangspufferzeit bezieht sich typischer Weise auf die Zeit, die zwischen der Zeit, zu der ein erstes Mediendatenpaket empfangen wird, und der Zeit verstreicht, zu der das erste Medienmuster wiedergegeben wird. Die minimale Vor-Decodiererpuffergröße entspricht typischer Weise der Datenmenge (z. B. der Anzahl von Datenbytes), die der Streaming-Client zusätzlich zu dem Puffern speichern kann, das stattfindet, um die Übertragungsverzögerungsschwankung zu bewältigen. Mit anderen Worten, eine minimale Vor-Decodiererpuffergröße ist für Netzwerke mit Nullverzögerung und verlässlicher Übertragung definiert.
- Der Pufferalgorithmus ist ähnlich jenem, der in H.263 Anhang B (Hypothetical Reference Decoder) und MPEG-4 Visual Anhang D (Vido Buffering Verifier) beschrieben wird. Diese Algorithmen definieren das Pufferverhalten für Videocodizes. Es sollte beachtet werden, dass diese Algorithmen nicht verwendet werden können, um die vorgeschlagenen Vor-Decodiererpufferalgorithmen auszutauschen, da sie nur auf Video anwendbar sind. Darüber hinaus unterstützt der H.263 Hypothetical-Reference-Decoder nicht das Anfangspuffern oder Speichern von mehreren (nicht-B) Rahmen in den Puffer. Es sollte beachtet werden, dass der vorgeschlagene Vor-Decodiererpufferalgorithmus vollständig mit den zuvor erwähnten Videopufferalgorithmen verträglich ist. In einer praktischen Umsetzung können der Vor-Decodiererpuffer und der Video-Decodiererpuffer kombiniert werden.
- Gemäß der bevorzugten Ausführungsform der Erfindung zwingt der Pufferalgorithmus einen übertragenen Datenpaketstream dazu, mit den Anforderungen des Vor- Decodiererpuffers übereinzustimmen, die wie folgt definiert werden:
- 1. Der Vor-Decodiererpuffer ist anfangs leer.
- 2. Jedes empfangene Datenpaket wird zu dem Vor-Decodiererpuffer im Wesentlichen sofort, nachdem es empfangen worden ist, hinzugefügt. Alle Protokollüberschriften auf der Ebene des Übertragungsprotokolls (z. B. RTP-Schicht) oder einer etwaigen niedrigeren Schicht werden entfernt.
- 3. Daten werden aus dem Vor-Decodiererpuffer nicht während eines Zeitraums entfernt, der als Anfangspufferzeit bezeichnet wird und beginnt, wenn das erste Datenpaket dem Puffer hinzugefügt wird.
- 4. Wenn die Anfangspufferzeit abgelaufen ist, wird ein Zeitgeber für die Wiedergabe gestartet.
- 5. Ein Datenblock wird aus dem Vor-Decodiererpuffer im Wesentlichen sofort entfernt, nachdem der Zeitgeber für die Wiedergabe die geplante Wiedergabezeit für den betreffenden Datenblock erreicht hat.
- 6. Wenn die Daten über ein verlässliches Übertragungsnetzwerk mit Null-Verzögerung übertragen werden, wird dem Belegungsgrad des Vor-Decodiererpuffers nicht erlaubt, über einen bestimmten Wert hinauszugehen, der als die Vor-Decodiererpuffergröße bezeichnet wird. Es sollte beachtet werden, dass die oben angeführten Anforderungen, den Betrieb ohne Zwischenpauseanfragen beschreiben. Jede neue Wiedergabeanfrage (nach einer Pause, zum Beispiel) folgt denselben Anforderungen.
- Ferner basieren die oben genannten Anforderungen auf der Annahme, das ein verlässliches Übertragungsnetzwerk mit Null-Verzögerung vorliegt. Somit wird in einer praktischen Anwendung das Client-seitige Vor-Decoderpuffern wahrscheinlich mit einem Netzwerk-Verzögerungs-Jitter-Puffern kombiniert. Infolgedessen ist die tatsächliche Vor-Decodierer-Puffergröße in einem Streaming-Client wahrscheinlich größer als die minimale Vor-Decodierer-Puffergröße, die oben erwähnt wird, und die tatsächliche Anfangspufferzeit ist wahrscheinlich auch länger als die oben genannte Anfangspufferzeit.
- Vor-Decodierer-Puffern
-
2 zeigt ein Beispiel eines Datenflusses in einem typischen Streaming-System, das die Wirkung des Vor-Decodiererpufferns darstellt. Die Balken stellen Medienrahmen oder Pakete dar, zum Beispiel sind die schwarzen Balken Videodatenpakete (z. B. codiert gemäß der ITU-T-Empfehlung H.263), und die hellen Balken sind Audiodatenpakete (z. B. codiert unter Verwendung des Adaptive-Multi-Rate (AMR) Sprachencodex). Die Höhe der Balken stellt die Größe eines Rahmens (oder eines Pakets) in Bytes dar. Der Verarbeitungsfluss läuft von oben nach unten und die Zeit verläuft von links nach rechts. - Nun wird detaillierter auf
2 Bezug genommen, wo zunächst die Eingabedaten codiert werden. Als Ergebnis davon weist der Videostream eine schwankende Rahmenrate und Rahmengröße auf, und der Audiostream weist eine konstante Rahmenrate, aber eine schwankende Rahmengröße auf. Als nächstes werden die komprimierten Medienstreams in Pakete eingekapselt und zum Netzwerk übertragen. Während des Einkapselns teilt der Server große Videorahmen in mehrere Pakete auf und fasst eine Anzahl von kleinen Audiorahmen zu einem Paket zusammen. Der Server überträgt Pakete in regelmäßigen Intervallen. Eine konstante Netzwerkübertragungsverzögerung wird angenommen, ungeachtet der Paketgröße oder etwaiger anderer Faktoren. Somit ist das relative Timing der empfangenen Pakete gleich wie zu dem Zeitpunkt, zu dem sie gesendet wurden. Die empfangenen Pakete werden in einem Vor-Decodiererpuffer gespeichert. Nach einer bestimmten Anfangspufferzeit werden Rahmen aus dem Puffer geholt, wobei die Rahmenentfernungsrate dieselbe ist wie die Rahmenwiedergaberate. Der maximale Pufferbelegungsgrad bestimmt die minimale Vor-Decodiererpuffergröße. - Übermitteln der Vor-Decodiererpuffer-Eigenschaften
- Um bestimmte minimale Pufferfähigkeiten in Streaming-Clients zu gewährleisten, werden bestimmte vorgegebene Puffereigenschaften definiert. Wie zuvor beschrieben, können die Puffereigenschaften hauptsächlich durch zwei Faktoren definiert werden, d. h. die Anfangspufferzeit und die minimale Vor-Decodiererpuffergröße. Ein Beispiel für den vorgegebenen Wert für die Anfangspufferzeit liegt bei ungefähr einer Sekunde, während die vorgegebene minimale Vor-Decodiererpuffergröße bei ungefähr 30720 Bytes liegt. Es sollte beachtet werden, dass diese Werte nur beispielhaft sind und dass sie schwanken können, um eine geeignete Leistung für den jeweiligen Typ der Verzögerung zu erreichen, zu der es im Netzwerk zum jeweiligen Zeitpunkt kommt. Die vorgeschlagenen vorgegebenen Werte basieren auf praktischen Experimenten in einer generalisierten Umgebung, die keineswegs spezifisch sind, aber die am häufigsten vorkommenden Paketübertragungsszenarien berücksichtigen. Es sollte auch beachtet werden, dass in einem bestimmten Streaming-System die vorgegebene Vor-Decodieranfangspufferzeit und die vorgegebene Vor-Decoderpuffergröße implizit definiert werden können. Mit anderen Worten, der Quellserver und die Streaming-Clients in dem Netzwerk arbeiten derart, dass bestimmte vorgegebene Vor-Decodierer-Pufferparameter (z. B. Vor-Decodierer-Anfangspufferzeit und/oder Vor-Decodiererpuffergröße) angenommen werden. In alternativen Ausführungsformen wird eine explizite Übermittlung der Vor-Decodierer-Pufferparameter verwendet.
- Um einem Streaming-Client zu ermöglichen, seine vorgegebenen Vor-Decodiererpufferfähigkeiten an einen Quellserver zu übermitteln und um ihm zu ermöglichen, Meidienstreams zu empfangen, die anspruchsvollere Pufferfähigkeiten als die vorgegebenen Fähigkeiten erfordern, wird in der Erfindung eine Übermittlung auf der Basis des SET-PARAMETER-Verfahrens des Real Time Streaming Protocol (RTSP) verwendet.
- Zum Beispiel kann die Client-Endgerätevorrichtung den Server auffordern, entweder einen oder beide der folgenden Parameter einzustellen:
- 1. initialBufferingTimeInMSec (Anfangspufferzeit in Millisekunden)
- 2. preDecoderBufferSizeInBytes (minimale Vor-Decoderpuffergröße in Bytes)
- Der Client-Endgeräte-Vorrichtung wird nicht gestattet, Parameterwerte zu übermitteln, die kleiner als die definierten oder implizit im Streamingsystem angenommenen vorgegebenen Werte sind. Ein Server, der eine Anfrage erhält, die einen kleineren Wert anzeigt als einer der vorgegebenen Werte, kann eine „inkorrekte Anfrage" übermitteln. Wenn die übertragenen Werte größer oder gleich den definierten oder implizierten vorgegebenen Werten sind, werden die übermittelten Werte im Wesentlichen unmittelbar nach Empfang der Anfrage in Verwendung genommen und der Quellserver prüft den übertragenen Paketstream unter Verwendung der übermittelten Werte gemäß dem zuvor beschriebenen Pufferalgorithmus. Mit anderen Worten, und so wie unten detaillierter beschrieben, überträgt der Server den Paketstream in solcher Weise, dass er in einer im Wesentlichen korrekten Weise beim empfangenden Client wiedergegeben werden kann. Insbesondere überträgt der Quellserver den Paketstream so, dass sichergestellt wird, dass es zu keinem Überlauf des Vor-Decodiererpuffers im empfangenden Client kommt und dass alle Datenblöcke (z. B. Rahmen) der Mediendaten für eine Wiedergabe in dem empfangenden Client zu ihren geplanten Wiedergabezeiten verfügbar sind.
- Gemäß einer vorteilhaften Ausführungsform der Erfindung ist es so, dass – wenn eine Client-Endgeräte-Vorrichtung zuerst eine Verbindung mit einem Netzwerkserver herstellt und damit beginnt, eine Streaming-Sitzung mit dem Server einzurichten, indem bestimmter, zu streamender Medieninhalt angefordert wird – diese Client-Endgeräte-Vorrichtung ihre vorgegebenen Vor-Decodierungs-Pufferparameter zum Server übermittelt. Wie oben erklärt, kann gemäß der Erfindung die Client-Endgeräte-Vorrichtung entweder ihre vorgegebene Vor-Decoder-Pufferzeit oder ihre minimale Vor-Decodier-Puffergröße oder beide der genannten Parameter anzeigen. In einer alternativen Ausführungsform, bei welcher die Client-Endgerätevorrichtung auch mit einem Nach-Decodiererpuffer versehen ist, kann die Nach-Decodiererpuffergröße dem Quellserver angezeigt werden. In Ausführungsformen der Erfindung, in denen die Vor-Decodiererpufferparameter implizit im Streamingsystem definiert werden, ist ein Anfangsübermitteln von Vor-Decodiererpuffer-Parametern durch die Client-Vorrichtung streng vollkommen unnotwendig. Wenn jedoch eine bestimmte Client-Vorrichtung Vor-Decodierer-Pufferfähigkeiten aufweist, die über den impliziert vorgegebenen Werten liegen, die in dem Streamingsystem angenommen werden, kann sie diese dem Server übermitteln. In einer wiederum alternativen Anordnung ruft der Quellserver die Vor-Decodiererpuffer-Parameter für eine bestimmte Client-Vorrichtung von einem Fähigkeitsserver in Verbindung mit dem Streamingsystem ab.
- Der Server übermittelt danach der Client-Endgeräte-Vorrichtung die Eigenschaften der Medienstreams, die er bereitstellen kann. Wie Fachleuten hinlänglich bekannt ist, wird ein Streamingserver mit mehreren vorcodierten Medienstreams versehen, welche denselben Medieninhalt darstellen. Jeder der vorcodierten Streams ist mit unterschiedlichen Codierungsparametern codiert. Diese Anordnung ermöglicht es, dass der Medieninhalt zu mehreren, unterschiedlichen Client-Endgeräte-Vorrichtungen, die unterschiedliche Eigenschaften und/oder Fähigkeiten aufweisen und/oder über Netzwerke mit unterschiedlichen Eigenschaften (z. B. maximal verfügbare Übertragungs-Bitrate) gestreamt wird.
- Gemäß der vorteilhaften Ausführungsform der Erfindung ist es so, dass – sobald der Server eine Anzeige der vorgegebenen Vor-Decodierer-Anfangspufferzeit des Client-Endgeräts oder seiner minimalen Vor-Decodierer-Puffergröße erhalten hat – der Server das Client-Endgerät mit Hilfe von Übermittlung über das Netzwerk über die unterschiedlichen vorcodierten Medienstreams informiert, die er bereitstellen kann. Wenn der Server zum Beispiel 4 unterschiedlich codierte Medienstreams aufweist, welche sich auf den angeforderten Medieninhalt beziehen, und falls der Client sowohl seine vorgegebene Vor-Decodierer- Anfangspufferzeit und seine vorgegebene Vor-Decodiererpuffergröße angezeigt hat, übermittelt der Server die Vor-Decodierer-Anfangspufferzeit und die Vor-Decodiererpufferzeit, die erforderlich sind, um eine korrekte (z. B. pausenfreie) Wiedergabe der vier unterschiedlichen Medienstreams zu gewährleisten. Das Client-Endgerät wählt dann einen der vier vorcodierten Medienstreams für die Wiedergabe aus und stellt seine Vor-Decodierer-Anfangspufferzeit und Vor-Decodiererpuffergröße gemäß den entsprechenden Anforderungen des gewählten Medienstreams ein. Die Einstellung innerhalb des Client-Endgerätes wird vorzugsweise von der MGU des Client-Endgerätes gesteuert. Wenn der Server nur die erforderliche Vor-Decodierer-Anfangspufferzeit oder die erforderliche Vor-Decodiererpuffergröße anzeigt, die von den verschiedenen codierten Medienstreams benötigt werden, wählt das Client-Endgerät den Medienstream auf dieser Grundlage aus und stellt entweder seine Vor-Decodierer-Anfangspufferzeit oder Vor-Decodiererpuffergröße entsprechend ein. In diesem Fall, wird jenem Parameter, der nicht angezeigt wird, ein vorgegebener Wert zugeordnet.
- Das Client-Endgerät übermittelt danach seine Wahl des Medienstreams an den Server, so dass das Runterladen des Medieninhalts beginnen kann. Dieser Schritt informiert auch implizit den Server über die Vor-Decodierer-Anfangspufferzeit und/oder Vor-Decodiererpuffergröße, die nun in dem Client-Endgerät gültig ist, und ermöglicht es dem Server, den übertragenen Medienstream gemäß dem zuvor beschriebenen Pufferalgorithmus korrekt zu prüfen, so dass es zu keinem Überlaufen des Vor-Decodiererpuffers kommt und alle Datenblöcke der Mediendaten für eine Wiedergabe in dem empfangenden Client zu ihren geplanten Wiedergabezeiten verfügbar sind.
- Dadurch, dass dem Client-Endgerät ermöglicht wird, seine Vor-Decodierer-Anfangspufferzeit und/oder Vor-Decodiererpuffergröße einzustellen, ermöglicht das Verfahren gemäß der Erfindung dem Endgerät, Medienstreams zu empfangen und korrekt wiederzugeben, welche in solcher Weise codiert sind, dass sie unter Verwendung der vorgegebenen Vor-Decodiererpuffer-Parameter zu keiner korrekten Wiedergabe fähig wären.
- Gemäß der bevorzugten Ausführungsform der Erfindung werden die Vor-Decodierer-Anfangspufferzeit und/oder Vor-Decodiererpuffergröße in dem Client gemäß des zuvor beschriebenen Verfahrens angepasst, wann immer ein Streaming eines neuen Medienstreams gestartet wird. Wenn während des Verfahrens bestimmt wird, dass der neue Medienstream beim Client unter Verwendung der zurzeit gültigen Vor-Decodierer-Pufferparameter korrekt wiedergegeben werden kann, sind keine Anpassungen notwendig. Zusätzlich kann der Client seine Vor-Decodierer-Anfangspufferzeit und/oder Vor-Decodiererpuffergröße in einer Situation einstellen, in welcher der Server Änderungen in den erforderlichen Vor-Decodierer-Pufferparamtern während einer bestehenden Streaming-Sitzung übermittelt. Zu einer solchen Situation kann es zum Beispiel kommen, wenn unterschiedliche aufeinander folgende Abschnitte des zu streamenden Medieninhalts unterschiedlich codiert werden, was dazu führt, dass unterschiedliches Vor-Decodierer-Puffern beim Client erforderlich wird, um eine korrekte Wiedergabe des Streams zu gewährleisten.
- Zusammenfassend ist zu sagen, dass die vorliegende Erfindung einen Vor-Decodiererpuffer als einen Teil eines Streaming-Client ins Auge fasst. Der Streaming-Client arbeitet unter Befolgung eines Pufferalgorithmus, bei dem ein Streamingserver prüft, ob der übertragene Datenstream mit dem definierten Pufferalgorithmus übereinstimmt. Zusätzlich schlägt die Erfindung Mechanismen für das Definieren und Übermitteln der Pufferfähigkeiten eines Streaming-Client zu einem Streaming-Server vor. Auf diese Weise kann ein Streaming-Server Informationen über die Pufferfähigkeiten eines bestimmten Streaming-Client erhalten und der codierte Daten-/Medienübertragungsrate kann innerhalb der Grenzen des Vor-Decodiererpuffers auf der Empfängerseite erlaubt werden, zu schwanken. Es sollte beachtet werden, dass ein Pufferprüfer in einem Server verwendet werden kann, um sicherzustellen, dass der übertragene Paketstream mit den Empfängerpufferfähigkeiten übereinstimmt. Dies kann zum Beispiel durch Einstellen der Übertragungszeiten von Paketen vom Server geschehen, so dass die Pufferfähigkeiten des Vor-Decodiererpuffers des Client nicht überschritten werden. Alternativ dazu kann der Server die Art einstellen, in welcher die Mediendaten codiert und paketiert werden. In der Praxis kann der Pufferprüfer ein Puffer sein, der innerhalb des Servers nach dem Transportcodierer läuft.
- Obwohl die Erfindung in einigen Belangen unter Bezugnahme auf eine spezifizierte Ausführungsform der Erfindung beschrieben wurde, werden Fachleuten Varianten und Modifizierungen davon klar sein. Daher sind die folgenden Ansprüche keine einschränkende Auslegung der Erfindung, sondern sind vielmehr so auszulegen, dass sie auch Varianten und Modifizierungen umfassen, die von dem erfinderischen offenbarten Gegenstand abgeleitet werden.
Claims (23)
- Verfahren für das Streaming von Mediendaten durch Übertragen von mehreren Datenpaketen über ein Netzwerk von einem Quellserver zu einer Client-Vorrichtung, wobei die Client-Vorrichtung einen Decodierer zum Decodieren codierter Pakete und einen Vor-Decodiererpuffer mit einer variablen Puffergröße aufweist, wobei der Vor-Decodiererpuffer zum Empfangen der übertragenen Datenpakete von dem Quellserver vor dem Decodieren im Decodierer dient und wobei die variable Puffergröße des Vor-Decodiererpuffers dynamisch angepasst ist, dadurch gekennzeichnet, dass der Vor-Decodiererpuffer eine variable Anfangspufferzeit aufweist und dass die variable Anfangspufferzeit des Vor-Decodiererpuffers dynamisch angepasst ist, um die Leistung der Wiedergabe durch die Client-Vorrichtung zu verbessern.
- Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Client-Vorrichtung eine Anfrage an den Quellserver richtet, um entweder die Anfangspufferzeit oder die Vor-Decodiererpuffergröße oder beides einzustellen.
- Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass eine vorgegebene Anfangspufferzeit und eine vorgegebene Puffergröße für den Vor-Decodiererpuffer definiert sind.
- Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die Client-Vorrichtung entweder die vorgegebene Anfangspufferzeit oder die vorgegebene Puffergröße für den Vor-Decodiererpuffer oder beides dem Quellserver übermittelt.
- Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die variable Anfangspufferzeit des Vor-Decodiererpuffers durch die Client-Vorrichtung als Reaktion auf eine Anzeige einer erforderlichen Vor-Decodierer-Anfangspufferzeit eingestellt ist, die von dem Quellserver erhalten wird.
- Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die variable Puffergröße des Vor-Decodiererpuffers durch die Client-Vorrichtung als Reaktion auf eine Anzeige einer erforderlichen Vor-Decodiererpuffergröße eingestellt ist, die von dem Quellserver erhalten wird.
- Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass mehrere Kopien der Mediendaten dem Quellserver zur Verfügung stehen, wobei jede der mehreren Kopien der Mediendaten durch mindestens einen Parameter gekennzeichnet ist, der eine erforderliche Eigenschaft des Vor-Decodiererpuffers in der Client-Vorrichtung anzeigt.
- Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass mindestens ein Parameter, der eine erforderliche Eigenschaft des Vor-Decodiererpuffers anzeigt, von dem Quellserver zur Client-Vorrichtung übertragen wird.
- Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass mindestens ein Parameter, der eine erforderliche Eigenschaft des Vor-Decodiererpuffers anzeigt, während der Herstellung einer Streaming-Datenverbindung zwischen dem Quellserver und der Client-Vorrichtung für das Herunterladen der Mediendaten in Form von Streaming von dem Quellserver zur Client-Vorrichtung übertragen wird.
- Verfahren nach Anspruch 8 oder 9, dadurch gekennzeichnet, dass mindestens ein Parameter, der eine erforderliche Eigenschaft des Vor-Decodiererpuffers anzeigt, aus einer Gruppe ausgewählt ist, die eine erforderliche Vor-Decodiereranfangspufferzeit, eine erforderliche Vor-Decodiererpuffergröße oder sowohl eine erforderliche Vor-Decodiereranfangspufferzeit und eine erforderliche Vor-Decodiererpuffergröße enthält.
- Verfahren nach Anspruch 5 und 6, dadurch gekennzeichnet, dass die dynamische Anpassung eine Anpassung ist, die durch die Client-Vorrichtung als Reaktion auf ein Signal von dem Quellserver erfolgt.
- Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein Pufferalgorithmus in dem Quellserver verwendet wird, um die Übertragung der Datenpakete zu steuern.
- Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass der Pufferalgorithmus bewirkt, dass der Quellserver die Übertragungszeiten von Datenpaketen von dem Quellserver zur Client-Vorrichtung einstellt.
- Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass der Pufferalgorithmus überprüft, ob die Übertragung der Datenpakete von der Quelle mit der variablen Anfangspufferzeit und der variablen Puffergröße des Vor-Decodiererpuffers in der Client-Vorrichtung übereinstimmt.
- Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein Nach-Decodiererpuffer in der Client-Vorrichtung eingesetzt wird, um mit dem Decodieren in Zusammenhang stehende Verzögerungsschwankungen zu reduzieren.
- Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Mediendaten an eine drahtlose Client-Vorrichtung über ein drahtloses Datennetzwerk, wie GPRS (General Packet Radio Service) oder UMTS (Universal Mobile Telecommunications System), übertragen werden.
- Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Mediendaten an eine drahtlose Client-Vorrichtung übertragen werden, wobei das Netzwerk ein drahtloses Netzwerk aufweist, wobei das drahtlose Netzwerk aus einer Gruppe ausgewählt ist, die ein GPRS (General Packet Radio Service) drahtloses Netzwerk und ein UMTS (Universal Mobile Telecommunications System) umfasst.
- Client-Vorrichtung zum Empfangen von mehreren Datenpaketen, die über ein Netzwerk von einem Quellserver übertragen werden, wobei die Client-Vorrichtung Folgendes aufweist: einen Vor-Decodiererpuffer zum Empfangen der übertragenen Datenpakete von dem Quellserver über das Netzwerk, wobei der Vor-Decodiererpuffer eine variable Puffergröße aufweist; einen Decodierer zum Decodieren der Datenpakete von dem Vor-Decodiererpuffer; und Mittel zum dynamischen Anpassen der variablen Puffergröße des Vor-Decodiererpuffers, um die Leistung der Wiedergabe durch die Client-Vorrichtung zu verbessern, dadurch gekennzeichnet, dass der Vor-Decodiererpuffer eine variable Anfangspufferzeit aufweist und dass die Client-Vorrichtung Mittel aufweist, um die variable Anfangspufferzeit des Vor-Decodiererpuffers anzupassen, um die Leistung der Wiedergabe durch die Client-Vorrichtung zu verbessern.
- Client-Vorrichtung nach Anspruch 18, dadurch gekennzeichnet, dass sie aus einer Gruppe ausgewählt ist, die ein drahtloses Endgerät, einen Desktop-Computer, einen Laptop-Computer enthält.
- System zum Streaming von Mediendaten durch Übertragen von mehreren Datenpaketen, wobei das System Folgendes aufweist: – einen Quellserver, auf dem sich die Mediendaten befinden; – ein Netzwerk, das als Übertragungsmedium für die Datenpakete dient und – eine Client-Vorrichtung nach Anspruch 18.
- System nach Anspruch 20, dadurch gekennzeichnet, dass das Netzwerk ein drahtloses Netzwerk aufweist, das aus einer Gruppe ausgewählt ist, die ein GPRS (General Packet Radio Service) drahtloses Netzwerk und ein UMTS (Universal Mobile Telecommunications System) umfasst.
- System nach Anspruch 21, dadurch gekennzeichnet, dass die Client-Vorrichtung ein drahtloses Endgerät ist, das für die Datenpaketverwendung durch das drahtlose System geeignet ist.
- System nach Anspruch 20 oder 21, dadurch gekennzeichnet, dass ein Pufferalgorithmus in dem Quellserver eingesetzt wird, um sicherzustellen, dass die Datenpakete mit einer Geschwindigkeit übertragen werden, die mit den Pufferfähigkeiten der Client-Vorrichtung verträglich ist.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI20010239 | 2001-02-08 | ||
FI20010239A FI118830B (fi) | 2001-02-08 | 2001-02-08 | Tietovirran toisto |
PCT/FI2002/000093 WO2002063461A1 (en) | 2001-02-08 | 2002-02-08 | Method and system for buffering streamed data |
Publications (2)
Publication Number | Publication Date |
---|---|
DE60207381D1 DE60207381D1 (de) | 2005-12-22 |
DE60207381T2 true DE60207381T2 (de) | 2006-08-24 |
Family
ID=8560281
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE60207381T Expired - Lifetime DE60207381T2 (de) | 2001-02-08 | 2002-02-08 | Verfahren und system zum puffern von stream-daten |
DE60233177T Expired - Lifetime DE60233177D1 (de) | 2001-02-08 | 2002-02-08 | Verfahren und System zum Puffern von Stream-Daten |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE60233177T Expired - Lifetime DE60233177D1 (de) | 2001-02-08 | 2002-02-08 | Verfahren und System zum Puffern von Stream-Daten |
Country Status (18)
Country | Link |
---|---|
US (1) | US7421508B2 (de) |
EP (3) | EP2159684B1 (de) |
JP (2) | JP2004525556A (de) |
KR (1) | KR100629158B1 (de) |
CN (1) | CN100504757C (de) |
AT (2) | ATE438136T1 (de) |
AU (1) | AU2002231829B2 (de) |
BR (1) | BRPI0206630B1 (de) |
CA (1) | CA2435936C (de) |
DE (2) | DE60207381T2 (de) |
EE (1) | EE04862B1 (de) |
FI (1) | FI118830B (de) |
HU (1) | HUP0302621A3 (de) |
MX (1) | MXPA03007096A (de) |
RU (1) | RU2302032C2 (de) |
SG (1) | SG148844A1 (de) |
WO (1) | WO2002063461A1 (de) |
ZA (1) | ZA200306100B (de) |
Families Citing this family (101)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
AU2002353301A1 (en) * | 2001-11-21 | 2003-06-10 | Canon Kabushiki Kaisha | Method and device for determining at least one multimedia data encoding parameter |
JP2004015114A (ja) * | 2002-06-03 | 2004-01-15 | Funai Electric Co Ltd | デジタル放送記録装置及びそれを備えたデジタル放送システム |
US9240810B2 (en) | 2002-06-11 | 2016-01-19 | Digital Fountain, Inc. | Systems and processes for decoding chain reaction codes through inactivation |
WO2004008673A2 (en) * | 2002-07-16 | 2004-01-22 | Nokia Corporation | Method for enabling packet transfer delay compensation in multimedia streaming |
WO2004019521A1 (ja) * | 2002-07-31 | 2004-03-04 | Sharp Kabushiki Kaisha | データ通信装置、その間欠通信方法、その方法を記載するプログラム、及びそのプログラムを記録する記録媒体 |
EP2348640B1 (de) | 2002-10-05 | 2020-07-15 | QUALCOMM Incorporated | Systematische kodierung von kettenreaktionskoden |
TWI249356B (en) * | 2002-11-06 | 2006-02-11 | Nokia Corp | Picture buffering for prediction references and display |
KR100926711B1 (ko) | 2003-02-07 | 2009-11-17 | 엘지전자 주식회사 | 멀티미디어 데이터 송수신 방법 |
JP2006518948A (ja) * | 2003-02-13 | 2006-08-17 | ノキア コーポレイション | マルチメディア・ストリーミングにおけるストリーミング品質適合と制御機構のシグナリング方法 |
AU2004214313B2 (en) * | 2003-02-18 | 2010-05-20 | Nokia Technologies Oy | Picture coding method |
CN100568964C (zh) * | 2003-02-18 | 2009-12-09 | 诺基亚有限公司 | 图像解码方法 |
US7353284B2 (en) | 2003-06-13 | 2008-04-01 | Apple Inc. | Synchronized transmission of audio and video data from a computer to a client via an interface |
KR100651566B1 (ko) * | 2003-08-26 | 2006-11-28 | 삼성전자주식회사 | 이동통신 단말기에서 출력 버퍼링을 이용한 멀티미디어재생 장치 및 그 제어 방법 |
CN100412832C (zh) * | 2003-09-02 | 2008-08-20 | 竺红卫 | 一种基于优先级调度的非均匀多媒体流传输调度方法 |
US8345754B2 (en) * | 2003-09-07 | 2013-01-01 | Microsoft Corporation | Signaling buffer fullness |
US8582659B2 (en) * | 2003-09-07 | 2013-11-12 | Microsoft Corporation | Determining a decoding time stamp from buffer fullness |
KR101170629B1 (ko) | 2003-10-06 | 2012-08-02 | 디지털 파운튼, 인크. | 단일 송신기 또는 다중 송신기를 갖는 통신 시스템의 에러 정정 다중-스테이지 코드 생성기 및 디코더 |
KR101014233B1 (ko) * | 2003-10-22 | 2011-02-14 | 엘지전자 주식회사 | 대화형 광디스크의 부가 오디오 파일 관리 및 재생방법 |
US20050201471A1 (en) * | 2004-02-13 | 2005-09-15 | Nokia Corporation | Picture decoding method |
US7296205B2 (en) * | 2004-02-18 | 2007-11-13 | Nokia Corporation | Data repair |
KR101145261B1 (ko) * | 2004-02-27 | 2012-05-24 | 삼성전자주식회사 | 멀티미디어 데이터를 기록한 정보저장매체, 그 재생방법및 재생장치 |
EP1743431A4 (de) | 2004-05-07 | 2007-05-02 | Digital Fountain Inc | Dateiherunterlade- und -streamingsystem |
US9219729B2 (en) * | 2004-05-19 | 2015-12-22 | Philip Drope | Multimedia network system with content importation, content exportation, and integrated content management |
US9124907B2 (en) * | 2004-10-04 | 2015-09-01 | Nokia Technologies Oy | Picture buffering method |
US7447978B2 (en) * | 2004-11-16 | 2008-11-04 | Nokia Corporation | Buffering packets of a media stream |
US8218439B2 (en) * | 2004-11-24 | 2012-07-10 | Sharp Laboratories Of America, Inc. | Method and apparatus for adaptive buffering |
US7536469B2 (en) * | 2004-12-10 | 2009-05-19 | Microsoft Corporation | System and process for controlling the coding bit rate of streaming media data employing a limited number of supported coding bit rates |
US20060143678A1 (en) * | 2004-12-10 | 2006-06-29 | Microsoft Corporation | System and process for controlling the coding bit rate of streaming media data employing a linear quadratic control technique and leaky bucket model |
US7543073B2 (en) * | 2004-12-10 | 2009-06-02 | Microsoft Corporation | System and process for performing an exponentially weighted moving average on streaming data to establish a moving average bit rate |
TWI401918B (zh) * | 2005-02-03 | 2013-07-11 | Nokia Corp | 傳送指示接收器緩衝架構之緩衝參數信號的通訊方法 |
AU2006231216A1 (en) * | 2005-04-07 | 2006-10-12 | Nokia Corporation | Buffering in streaming delivery |
US7613112B2 (en) * | 2005-06-28 | 2009-11-03 | Nokia Corporation | Optimizing playback startup time of bursty real-time streams |
EP1946293A1 (de) * | 2005-11-07 | 2008-07-23 | Telefonaktiebolaget L M Ericsson (PUBL) | Verfahren und anordnung in einem mobiltelekommunikationsnetz |
US8788933B2 (en) * | 2005-12-01 | 2014-07-22 | Nokia Corporation | Time-shifted presentation of media streams |
CN101686107B (zh) | 2006-02-13 | 2014-08-13 | 数字方敦股份有限公司 | 使用可变fec开销和保护周期的流送和缓冲 |
US9270414B2 (en) | 2006-02-21 | 2016-02-23 | Digital Fountain, Inc. | Multiple-field based code generator and decoder for communications systems |
WO2007134196A2 (en) | 2006-05-10 | 2007-11-22 | Digital Fountain, Inc. | Code generator and decoder using hybrid codes |
TWI633769B (zh) * | 2006-05-11 | 2018-08-21 | Cfph股份有限公司 | 使用及管理電子檔案的方法和設備 |
US9380096B2 (en) | 2006-06-09 | 2016-06-28 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
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 |
US9178535B2 (en) | 2006-06-09 | 2015-11-03 | Digital Fountain, Inc. | Dynamic stream interleaving and sub-stream based delivery |
US9209934B2 (en) | 2006-06-09 | 2015-12-08 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
US9386064B2 (en) | 2006-06-09 | 2016-07-05 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
FR2907990B1 (fr) * | 2006-10-27 | 2009-04-17 | Envivio France Entpr Uniperson | Encodeur temps-reel contraint en debit et en delai,procede, produit programme d'ordinateur et moyen de stockage correspondants. |
US7962637B2 (en) * | 2006-11-03 | 2011-06-14 | Apple Computer, Inc. | Dynamic adjustments of video streams |
US8069260B2 (en) * | 2007-01-12 | 2011-11-29 | Microsoft Corporation | Dynamic buffer settings for media playback |
US8914529B2 (en) * | 2007-01-22 | 2014-12-16 | Microsoft Corporation | Dynamically adapting media content streaming and playback parameters for existing streaming and playback conditions |
GB0705329D0 (en) | 2007-03-20 | 2007-04-25 | Skype Ltd | Method of transmitting data in a communication system |
WO2008117551A1 (ja) * | 2007-03-27 | 2008-10-02 | Nec Corporation | 移動体通信システム、ネットワーク装置、およびパケット順序制御方法 |
US9148628B2 (en) * | 2007-08-16 | 2015-09-29 | Yahoo! Inc. | Intelligent media buffering based on input focus proximity |
US9237101B2 (en) | 2007-09-12 | 2016-01-12 | Digital Fountain, Inc. | Generating and communicating source identification information to enable reliable communications |
WO2009047713A2 (en) * | 2007-10-11 | 2009-04-16 | Nxp B.V. | Method and system for controlling the admission of a storage means to a perpheral bus of a data reproduction system |
RU2463643C2 (ru) * | 2008-02-20 | 2012-10-10 | ЭлДжи ЭЛЕКТРОНИКС ИНК. | Способ и устройство для обработки отчета о состоянии буфера заполнения |
US8126048B2 (en) * | 2008-03-18 | 2012-02-28 | Seiko Epson Corporation | Recording streaming delta-encoded data |
US8139923B2 (en) * | 2008-03-19 | 2012-03-20 | Seiko Epson Corporation | Playback of recorded streaming delta-encoded data |
EP2129130A1 (de) * | 2008-05-26 | 2009-12-02 | THOMSON Licensing | Vereinfachtes Übertragungsverfahren eines Signalflusses zwischen einem Sender und einem elektronischen Gerät |
US8379083B1 (en) * | 2008-07-17 | 2013-02-19 | Sprint Communications Company L.P. | Simultaneous viewing and reliable recording of multimedia content over a network |
JP5135147B2 (ja) | 2008-09-29 | 2013-01-30 | 富士フイルム株式会社 | 動画ファイル送信サーバおよびその動作制御方法 |
JP5077181B2 (ja) * | 2008-10-14 | 2012-11-21 | ソニー株式会社 | 情報受信装置、情報送信装置および情報通信システム |
KR101019594B1 (ko) | 2008-11-10 | 2011-03-07 | 주식회사 케이티 | 스트리밍 서비스의 버퍼링 시간을 조정하기 위한 시스템 및그 방법 |
US9281847B2 (en) | 2009-02-27 | 2016-03-08 | Qualcomm Incorporated | Mobile reception of digital video broadcasting—terrestrial services |
JP5278059B2 (ja) * | 2009-03-13 | 2013-09-04 | ソニー株式会社 | 情報処理装置及び方法、プログラム、並びに情報処理システム |
US9357568B2 (en) * | 2009-06-16 | 2016-05-31 | Futurewei Technologies, Inc. | System and method for adapting an application source rate to a load condition |
US20100329355A1 (en) * | 2009-06-30 | 2010-12-30 | Nxp B.V | System and method for configurable packet streaming |
US9288010B2 (en) | 2009-08-19 | 2016-03-15 | Qualcomm Incorporated | Universal file delivery methods for providing unequal error protection and bundled file delivery services |
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 |
JP5482178B2 (ja) * | 2009-12-16 | 2014-04-23 | ソニー株式会社 | 送信装置および方法、並びに、受信装置および方法 |
CN102111808B (zh) * | 2009-12-25 | 2012-04-25 | 华为技术有限公司 | 一种报告缓存数据量的方法及装置 |
TWI400949B (zh) * | 2010-04-06 | 2013-07-01 | Hon Hai Prec Ind Co Ltd | 媒體資料播放裝置及其重播方法 |
US8301794B2 (en) * | 2010-04-16 | 2012-10-30 | Microsoft Corporation | Media content improved playback quality |
US8532804B2 (en) * | 2010-06-18 | 2013-09-10 | Microsoft Corporation | Predictive resampler scheduler algorithm |
US9485546B2 (en) | 2010-06-29 | 2016-11-01 | Qualcomm Incorporated | Signaling video samples for trick mode video representations |
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 |
KR20120034550A (ko) * | 2010-07-20 | 2012-04-12 | 한국전자통신연구원 | 스트리밍 컨텐츠 제공 장치 및 방법 |
US9596447B2 (en) | 2010-07-21 | 2017-03-14 | Qualcomm Incorporated | Providing frame packing type information for video coding |
US8806050B2 (en) | 2010-08-10 | 2014-08-12 | Qualcomm Incorporated | Manifest file updates for network streaming of coded multimedia data |
US9467493B2 (en) | 2010-09-06 | 2016-10-11 | Electronics And Telecommunication Research Institute | Apparatus and method for providing streaming content |
KR101739272B1 (ko) | 2011-01-18 | 2017-05-24 | 삼성전자주식회사 | 멀티미디어 스트리밍 시스템에서 컨텐트의 저장 및 재생을 위한 장치 및 방법 |
US8958375B2 (en) | 2011-02-11 | 2015-02-17 | Qualcomm Incorporated | Framing for an improved radio link protocol including FEC |
US9270299B2 (en) | 2011-02-11 | 2016-02-23 | Qualcomm Incorporated | Encoding and decoding using elastic codes with flexible source block mapping |
KR20120108564A (ko) * | 2011-03-24 | 2012-10-05 | 삼성전자주식회사 | 데이터 처리 시스템 및 그 동작 방법 |
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 |
GB2495928B (en) | 2011-10-25 | 2016-06-15 | Skype | Jitter buffer |
GB2520867B (en) * | 2011-10-25 | 2016-05-18 | Skype Ltd | Jitter buffer |
GB2495929B (en) | 2011-10-25 | 2014-09-03 | Skype | Jitter buffer |
US9779736B2 (en) | 2011-11-18 | 2017-10-03 | Sirius Xm Radio Inc. | Systems and methods for implementing efficient cross-fading between compressed audio streams |
CA2855845A1 (en) | 2011-11-18 | 2013-05-23 | Sirius Xm Radio Inc. | Systems and methods for implementing cross-fading, interstitials and other effects downstream |
EP2608558A1 (de) * | 2011-12-22 | 2013-06-26 | Thomson Licensing | System und Verfahren zum adaptiven Streaming in einer Mehrpfadumgebung |
MX343807B (es) | 2012-03-06 | 2016-11-24 | Sirius Xm Radio Inc | Sistemas y métodos para el mapeo de atributos de audio. |
US9294226B2 (en) | 2012-03-26 | 2016-03-22 | Qualcomm Incorporated | Universal object delivery and template-based file delivery |
CN103476062B (zh) * | 2012-06-06 | 2015-05-27 | 华为技术有限公司 | 一种数据流调度的方法、设备和系统 |
US9246970B2 (en) * | 2014-02-14 | 2016-01-26 | GM Global Technology Operations LLC | System and method for compensating for delay and jitter |
US10283091B2 (en) | 2014-10-13 | 2019-05-07 | Microsoft Technology Licensing, Llc | Buffer optimization |
KR102350504B1 (ko) * | 2015-04-27 | 2022-01-14 | 삼성전자주식회사 | 통신 시스템에서 하향링크 전송률 제어를 위한 장치 및 방법 |
WO2020048617A1 (en) | 2018-09-07 | 2020-03-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Latency efficient streaming of video frames for machine vision over an ip network |
WO2021076173A1 (en) | 2019-10-14 | 2021-04-22 | Google Llc | Methods, systems, and media for streaming video content using adaptive buffers |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5014265A (en) | 1989-11-30 | 1991-05-07 | At&T Bell Laboratories | Method and apparatus for congestion control in a data network |
DE69222754T2 (de) * | 1992-03-27 | 1998-02-26 | Alsthom Cge Alcatel | Videodekoder |
JPH0652666A (ja) * | 1992-07-31 | 1994-02-25 | Matsushita Electric Ind Co Ltd | マルチメディア再生装置 |
US5363097A (en) * | 1992-09-14 | 1994-11-08 | Industrial Technology Research Institute | Direct sequential-bit variable length decoder |
DE69536032D1 (de) | 1994-10-21 | 2010-02-04 | At & T Corp | Verfahren zur Synchronisation von Pufferspeichern für Videosignale |
US5913031A (en) * | 1994-12-02 | 1999-06-15 | U.S. Philips Corporation | Encoder system level buffer management |
US5606369A (en) * | 1994-12-28 | 1997-02-25 | U.S. Philips Corporation | Buffering for digital video signal encoders using joint bit-rate control |
JP3060877B2 (ja) * | 1995-02-20 | 2000-07-10 | 日本ビクター株式会社 | マルチメディアシナリオ再生装置 |
US5808607A (en) * | 1995-04-07 | 1998-09-15 | International Business Machines Corporation | Multi-node media server that provides video to a plurality of terminals from a single buffer when video requests are close in time |
JPH09186966A (ja) | 1995-12-25 | 1997-07-15 | Texas Instr Inc <Ti> | ビデオ再生方法及び再生システム |
US5790792A (en) * | 1996-09-04 | 1998-08-04 | Radiant Systems, Inc. | Method and apparatus for transmitting multimedia data from and application logic server to interactive multimedia workstations |
US6011590A (en) * | 1997-01-03 | 2000-01-04 | Ncr Corporation | Method of transmitting compressed information to minimize buffer space |
US5892980A (en) | 1997-02-28 | 1999-04-06 | Comsys Communication And Signal Processing Ltd. | System for dynamically changing the length of transmit and receive sample buffers utilizing previous responding to an interrupt in a communications system |
JPH10285591A (ja) | 1997-04-02 | 1998-10-23 | Hitachi Denshi Ltd | 映像信号伝送方法およびその装置 |
US6175871B1 (en) * | 1997-10-01 | 2001-01-16 | 3Com Corporation | Method and apparatus for real time communication over packet networks |
US6301258B1 (en) | 1997-12-04 | 2001-10-09 | At&T Corp. | Low-latency buffering for packet telephony |
JP2000228669A (ja) * | 1999-02-08 | 2000-08-15 | Hitachi Ltd | ストリーム配送システムにおけるストリームデータ配送方法 |
US6792615B1 (en) * | 1999-05-19 | 2004-09-14 | New Horizons Telecasting, Inc. | Encapsulated, streaming media automation and distribution system |
DE60032458T2 (de) | 2000-04-14 | 2007-04-12 | Alcatel | Selbstanpassender Zitterspufferspeicher |
CA2312333A1 (en) * | 2000-06-21 | 2001-12-21 | Kimihiko E. Sato | Multimedia compression, coding and transmission method and apparatus |
JP4596693B2 (ja) * | 2000-07-06 | 2010-12-08 | パナソニック株式会社 | ストリーミング方法およびそれを実行するシステム |
US7310678B2 (en) * | 2000-07-28 | 2007-12-18 | Kasenna, Inc. | System, server, and method for variable bit rate multimedia streaming |
US6768499B2 (en) * | 2000-12-06 | 2004-07-27 | Microsoft Corporation | Methods and systems for processing media content |
US6823394B2 (en) * | 2000-12-12 | 2004-11-23 | Washington University | Method of resource-efficient and scalable streaming media distribution for asynchronous receivers |
US6842433B2 (en) * | 2001-04-24 | 2005-01-11 | Wideray Corporation | System and method for communicating information from a computerized distributor to portable computing devices |
-
2001
- 2001-02-08 FI FI20010239A patent/FI118830B/fi not_active IP Right Cessation
-
2002
- 2002-02-08 MX MXPA03007096A patent/MXPA03007096A/es active IP Right Grant
- 2002-02-08 US US10/071,326 patent/US7421508B2/en not_active Expired - Lifetime
- 2002-02-08 WO PCT/FI2002/000093 patent/WO2002063461A1/en active IP Right Grant
- 2002-02-08 KR KR1020037009374A patent/KR100629158B1/ko active IP Right Grant
- 2002-02-08 AU AU2002231829A patent/AU2002231829B2/en not_active Expired
- 2002-02-08 AT AT05018669T patent/ATE438136T1/de not_active IP Right Cessation
- 2002-02-08 DE DE60207381T patent/DE60207381T2/de not_active Expired - Lifetime
- 2002-02-08 CA CA2435936A patent/CA2435936C/en not_active Expired - Lifetime
- 2002-02-08 HU HU0302621A patent/HUP0302621A3/hu unknown
- 2002-02-08 CN CNB028047648A patent/CN100504757C/zh not_active Expired - Lifetime
- 2002-02-08 EP EP09166588.5A patent/EP2159684B1/de not_active Expired - Lifetime
- 2002-02-08 BR BRPI0206630A patent/BRPI0206630B1/pt active IP Right Grant
- 2002-02-08 RU RU2003127066/09A patent/RU2302032C2/ru active
- 2002-02-08 JP JP2002563340A patent/JP2004525556A/ja not_active Withdrawn
- 2002-02-08 DE DE60233177T patent/DE60233177D1/de not_active Expired - Lifetime
- 2002-02-08 AT AT02711897T patent/ATE310275T1/de not_active IP Right Cessation
- 2002-02-08 EP EP05018669A patent/EP1605347B1/de not_active Expired - Lifetime
- 2002-02-08 EE EEP200300316A patent/EE04862B1/xx unknown
- 2002-02-08 SG SG200505021-6A patent/SG148844A1/en unknown
- 2002-02-08 EP EP02711897A patent/EP1358542B1/de not_active Expired - Lifetime
-
2003
- 2003-08-07 ZA ZA200306100A patent/ZA200306100B/en unknown
-
2006
- 2006-09-27 JP JP2006263162A patent/JP4690280B2/ja not_active Expired - Lifetime
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60207381T2 (de) | Verfahren und system zum puffern von stream-daten | |
DE602004006981T2 (de) | Datenabrufende und -übertragende vorrichtungen und verfahren | |
US7835439B2 (en) | Video compression system | |
DE69814642T2 (de) | Verarbeitung codierter videodaten | |
DE69934092T2 (de) | Dekoderpufferspeicher für einen empfänger von videodatenströmen und methode | |
DE112012001770T5 (de) | Auf Echtzeitverarbeitungsfähigkeit basierende Qualitätsanpassung | |
DE60314106T2 (de) | Datenstruktur für ein datenübertragungssystem | |
AU2002231829A1 (en) | Method and system for buffering streamed data | |
DE112012002159T5 (de) | Kontextsensitive Client-Pufferschwellenwerte | |
DE112011101911T5 (de) | Fragmentierte Dateistruktur für die Ausgabe von Live-Medien-Streams | |
EP2422517A1 (de) | Verfahren und vorrichtung zur modifikation eines kodierten datenstroms | |
DE112011101908T5 (de) | Qualitätseinstellung unter Verwendung eines fragmentierten Medienstroms | |
WO2013007395A1 (de) | Verfahren und vorrichtungen zum verzögerungsarmen ein- oder umschalten auf ein digitales videosignal | |
EP2206311B1 (de) | Verfahren und system zur bandbreite-optimierten übertragung von hdtv-datenströmen über ein ip-basiertes verteilernetz | |
DE102012202315A1 (de) | Videosystem zur Darstellung von Bilddaten, Verfahren und Computerprogramm | |
EP1531570A2 (de) | Verfahren zur Verbesserung der Wiedergabequalität bei paketorientierter Übertragung von Audio-/Video-Daten | |
DE102018108784B4 (de) | Verfahren zum Senden eines digitalen Videosignals an ein Empfangsgerät, Recheneinheit und Computerprogrammprodukt | |
DE102005046382A1 (de) | Verfahren, Kommunikationsanordnung und dezentrale Kommunikationseinrichtung zum Übermitteln von Multimedia-Datenströmen | |
WO2018042036A1 (de) | Verfahren zur übertragung von echtzeitbasierten digitalen videosignalen in netzwerken | |
WO2009018791A1 (de) | Verfahren und system zum reduzieren der umschaltlücke bei einem programmwechsel in einer digitalen videoumgebung | |
DE102006016549A1 (de) | Verfahren zum Erstellen von Streaming Media sowie Verfahren und System zum Übertragen von Streaming Media |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |