DE60207381T2 - Verfahren und system zum puffern von stream-daten - Google Patents

Verfahren und system zum puffern von stream-daten Download PDF

Info

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
Application number
DE60207381T
Other languages
English (en)
Other versions
DE60207381D1 (de
Inventor
Miska Hannuksela
Baris Emre AKSU
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Oyj
Original Assignee
Nokia Oyj
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Oyj filed Critical Nokia Oyj
Publication of DE60207381D1 publication Critical patent/DE60207381D1/de
Application granted granted Critical
Publication of DE60207381T2 publication Critical patent/DE60207381T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9005Buffering arrangements using dynamic buffer space allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9023Buffering arrangements for implementing a jitter-buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • H04L65/4038Arrangements for multi-party communication, e.g. for conferences with floor control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing 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/44004Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data 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, wovon 1 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 in 1 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)

  1. 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.
  2. 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.
  3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass eine vorgegebene Anfangspufferzeit und eine vorgegebene Puffergröße für den Vor-Decodiererpuffer definiert sind.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein Pufferalgorithmus in dem Quellserver verwendet wird, um die Übertragung der Datenpakete zu steuern.
  13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass der Pufferalgorithmus bewirkt, dass der Quellserver die Übertragungszeiten von Datenpaketen von dem Quellserver zur Client-Vorrichtung einstellt.
  14. 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.
  15. 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.
  16. 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.
  17. 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.
  18. 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.
  19. 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.
  20. 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.
  21. 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.
  22. 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.
  23. 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.
DE60207381T 2001-02-08 2002-02-08 Verfahren und system zum puffern von stream-daten Expired - Lifetime DE60207381T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
CN1491381A (zh) 2004-04-21
US7421508B2 (en) 2008-09-02
SG148844A1 (en) 2009-01-29
BRPI0206630B1 (pt) 2016-11-29
KR100629158B1 (ko) 2006-09-27
JP4690280B2 (ja) 2011-06-01
JP2006345582A (ja) 2006-12-21
CA2435936C (en) 2013-04-16
MXPA03007096A (es) 2003-11-18
HUP0302621A2 (hu) 2003-11-28
EE200300316A (et) 2003-10-15
EP1605347B1 (de) 2009-07-29
CN100504757C (zh) 2009-06-24
BR0206630A (pt) 2004-02-17
EP1605347A1 (de) 2005-12-14
FI20010239A (fi) 2002-08-09
EP2159684B1 (de) 2013-05-22
EP1358542A1 (de) 2003-11-05
DE60207381D1 (de) 2005-12-22
RU2302032C2 (ru) 2007-06-27
US20020105951A1 (en) 2002-08-08
EP2159684A2 (de) 2010-03-03
EP2159684A3 (de) 2010-03-10
FI118830B (fi) 2008-03-31
HUP0302621A3 (en) 2005-08-29
DE60233177D1 (de) 2009-09-10
RU2003127066A (ru) 2005-01-10
ZA200306100B (en) 2004-09-06
JP2004525556A (ja) 2004-08-19
AU2002231829B2 (en) 2008-06-26
KR20030071815A (ko) 2003-09-06
WO2002063461A1 (en) 2002-08-15
EE04862B1 (et) 2007-06-15
ATE310275T1 (de) 2005-12-15
FI20010239A0 (fi) 2001-02-08
ATE438136T1 (de) 2009-08-15
CA2435936A1 (en) 2002-08-15
EP1358542B1 (de) 2005-11-16

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