-
Die vorliegende Erfindung betrifft ein Verfahren zum Senden eines digitalen Videosignals an ein Empfangsgerät, eine Recheneinheit und ein Computerprogrammprodukt. Die Erfindung liegt dabei insbesondere auf dem Gebiet des Videostreamings von einem Server zu einem oder mehreren Empfangsgeräten, wie etwa zur Bereitstellung von Fernsehinhalten über ein Netzwerk, wie beispielsweise über das Internet.
-
Beim Streaming von Videos über ein Netzwerk, beispielsweise über das Internet, ist es typischerweise erforderlich, das digitale Videosignal mittels eines Servers an ein Empfangsgerät zu senden, auf welchem das Videosignal sodann wiedergegebenen werden kann. Da typischerweise nicht alle Empfangsgeräte, zu welchen von einem Server ein digitales Videosignal über das Netzwerk gesendet wird, die gleiche Übertragungsqualität zur Übertragung des Videosignals zur Verfügung haben, ist es beim Streaming von Videos erforderlich, das Videosignal, welches zum jeweiligen Empfangsgerät gesendet wird, derart anzupassen, dass auf bestmögliche Weise eine unterbrechungsfreie und verzögerungsfreie Wiedergabe des Videosignals auf dem Empfangsgerät ermöglicht wird. Beispielsweise kann die Übertragungsqualität durch eine für die Übertragung zur Verfügung stehende Bandbreite, durch Unterbrechungen der Übertragung und deren Dauer oder ähnliche Faktoren beeinflusst bzw. beeinträchtigt werden. Für Empfangsgeräte, welche über eine Netzwerkverbindung mit nur geringer Übertragungsqualität mit dem Server verbunden sind, kann daher das Senden des Videosignals mit einer geringeren Bandbreite und entsprechend geringerer Videoqualität erforderlich sein, während für Empfangsgeräte, welche über eine Netzwerkverbindung zum Server mit hoher Übertragungsqualität verfügen, das Senden des Videosignals mit einer höheren Bandbreite und entsprechend besserer Videoqualität vorteilhaft sein kann.
-
Aus diesem Grund bedarf es für eine bestmögliche Übertragung des Videosignals und dessen unterbrechungsfreier und verzögerungsfreier Wiedergabe auf dem Empfangsgerät einer Adaption der Qualitätsstufe des übertragenen Videosignals an die zur Verfügung stehende Bandbreite der Netzwerkverbindung.
-
Herkömmlicherweise wird dazu ein Streaming Protokoll verwendet, mittels welchem die Übertragung des Videosignals vom Server zum Empfangsgerät gesteuert wird und entsprechend die Qualitätsstufe des übertragenen Videosignals laufend an die zur Verfügung stehende Übertragungsqualität der Netzwerkverbindung angepasst wird.
-
Die
US 7274661 B2 beschreibt ein Streaming Verfahren, bei welchem „negative acknowledgements“ (NACKs) verwendet werden, die vom Client an den Server gesendet werden. Anhand der NACKs kann eine Überlastung erkannt werden, die zu einer signifikanten Fehlerrate bei der Zustellung von Datenpakten führt. Sofern eine solche Überlastung erkannt wird, kann der Server die Übertragungsrate reduzieren.
-
Die
US 2005/0007956 A1 beschreibt ein Verfahren zur Datenübertragung, bei welchem die Quelle vorübergehend die Übertragungsrate erhöht und die Zeit für die Übertragung gemessen wird, um eine Übertragungsrate zu berechnen.
-
Die
US 2016/0269462 A1 beschreibt ein Verfahren zur Datenübertragung, bei welchem ein Füllstand eines Client-seitigen Puffers ermittelt wird und die Bildqualität von Daten ermittelt wird, die nicht an den Client übertragen werden.
-
Die
US 6014694 A beschreibt ein System zum adaptiven Video/Audio Transport über ein Netzwerk.
-
Aus der
US 2014/0089469 A1 sind Verfahren und Vorrichtungen zum effizienten Streaming mit adaptiver Bitrate bekannt.
-
Die
US 2017/0034589 A1 beschreibt ein System zum adaptiven Umschalten zwischen Profilen und ein Verfahren zum Streamen von Medien über IP-Netzwerke.
-
Mit Bezug auf 1 wird im Folgenden ein herkömmliches Verfahren und Netzwerksystem 10 erläutert, welches ein Streaming Protokoll, wie etwa adaptives Streaming über http (engl.: http adaptive Streaming), verwendet.
-
Das herkömmliche Netzwerksystem 10 umfasst dabei einen Server 12, welcher ein digitales Videosignal von einem Sender 13 bzw. einer Signalquelle bezieht, ein Empfangsgerät 16, zu welchem vom Server 12 über ein Netzwerk 18, beispielsweise das Internet, eine Netzwerkverbindung 20 aufgebaut ist bzw. aufgebaut werden kann.
-
Der Server 12 umfasst einen Encoder 14, welchem das digitale Videosignal vom Sender 13 zugeführt wird. Der Encoder 14 wandelt bzw. kodiert das Videosignal in ein codiertes Videosignal mit verschiedenen Qualitätsstufen 22a, 22b, 22c um, wobei sich die codierten Videosignale 22a, 22b, 22c hinsichtlich der Bildqualität
-
und der Datenrate bzw. ihrer Datenmenge derart unterscheiden, dass ein codiertes Videosignal 22a, 22b, 22c mit einer besseren Bildqualität eine größere Datenrate bzw. Datenmenge aufweist, als ein codiertes Videosignal 22a, 22b, 22c mit einer geringeren Bildqualität. Der Encoder codiert das Videosignal und erzeugt typischerweise Bildpakete (engl.: group of pictures, GOP), die beispielsweise einen Abschnitt von zumindest drei Sekunden des Videosignals beinhalten. Die codierten Videosignale 22a, 22b, 22c werden einem Übertragungsmodul 24 des Servers 12 bereitgestellt, welches dazu eingerichtet ist, mit dem Empfangsgerät 16 zu kommunizieren und das codierte Videosignal 22a, 22b, 22c in der vom Empfangsgerät 16 angefragten Qualitätsstufe an das Empfangsgerät zu senden.
-
Über die Netzwerkverbindung 20 wird das codierte Videosignal 22a, 22b, 22c in der angefragten Qualitätsstufe sodann in Form von Bildpaketen 26 zum anfragenden Empfangsgerät 16 übertragen.
-
Im Empfangsgerät 16 wird das codierte Videosignal 22a, 22b, 22c, welches vom Sender 12 übertragen wurde, einem Adaptionsmodul 28 zugeführt und von diesein in einen Buffer 30 geschrieben und zwischengespeichert. Das Adaptionsmodul 28 weist ferner eine Kommunikationsverbindung mit dem Buffer 30 auf und überwacht den Füllzustand des Buffers 30, d.h. wie viele Daten des übertragenen Videosignals 22a, 22b, 22c in den Buffer geschrieben wurden aber noch nicht zur Wiedergabe aus dem Buffer 30 ausgelesen wurden. Die im Buffer 30 zwischengespeicherten Daten des codierten Videosignals 22a, 22b, 22c werden, wenn der Buffer 30 gefüllt ist, sodann im Empfangsgerät 16 einem Decoder 32 zugeführt, welcher dieses decodiert und einem Wiedergabegerät 34, beispielsweise einem Fernsehgerät, zuführt, von welchem dieses für den Benutzer 36 wiedergegeben wird.
-
Das empfängerseitige Adaptionsmodul 34 überwacht den Buffer 30 und fordert in Abhängigkeit von dem Füllstand und dem zeitlichen Verlauf des Füllstands des Buffers 30 während der Wiedergabe des Videosignals das codierte Videosignal 22a, 22b, 22c in der bestmöglichen Qualitätsstufe beim Server 12 an. Ist beispielsweise die Übertragungsrate der Netzwerkverbindung 20 zu langsam bzw. ist die Datenmenge der gewählten Qualitätsstufe 22a, 22b, 22c zu groß, um in der erforderlichen Zeitdauer an das Empfangsgerät 16 übertragen zu werden, entleert sich der Buffer 30 und die Wiedergabe gerät mangels bereitgestelltem Videosignal ins Stocken. Um dies zu vermeiden, ist das Empfangsgerät 16 dazu eingerichtet, anhand eines sich entleerenden Buffers 30 eine unzureichende Übertragungsrate zu erkennen und beim Server 12 das codierte Videosignal in einer geringeren Qualitätsstufe 22a, 22b, 22c bzw. Datenmenge anzufordern, für dessen Übertragung die Übertragungsrate der Netzwerkverbindung 20 ausreichend ist. Sobald eine derartige Anforderung beim Server 12 eingeht, welche ebenfalls über die Netzwerkverbindung 20 mittels eines Streaming Protokolls übertragen wird, fährt das Übertragungsmodul 24 mit dem Senden des codierten Videosignals 22a, 22b, 22c in einer geringeren Qualitätsstufe fort. Weist der Buffer 30 einen mehr als ausreichenden Füllzustand auf, kann das Adaptionsmodul 28 entsprechend das codierte Videosignal 22a, 22b, 22c in einer höheren Qualitätsstufe anfordern. Die Bildpakete bzw. Bildgruppe der geänderten Qualitätsstufe 22a, 22b, 22c erreichen das Adaptionsmodul 28 bzw. den Buffer 30 jedoch nur stark zeitverzögert, da zunächst die bereits gesendeten Bildpakete, welche bevor die Anfrage für eine andere Qualitätsstufe das Übertragungsmodul 24 erreicht hat gesendet wurden, dem Buffer 30, Decoder 32 und Wiedergabegerät 34 zugeführt werden, sodass der Benutzer 36 von der geänderten Qualitätsstufe 22a, 22b, 22c erst nach Ablauf einer Latenzzeit profitieren kann, welche oftmals mehrere Sekunden oder gar wenige Minuten betragen kann.
-
Es ist daher die Aufgabe der vorliegenden Erfindung, eine Möglichkeit zum Streaming von Videos bereitzustellen, welches eine schnellere Reaktionszeit bei Anpassungen des Videostreams und eine geringe Latenzzeit gleichermaßen ermöglicht.
-
Diese Aufgabe wird erfindungsgemäß gelöst durch ein Verfahren, eine Recheneinheit und ein Computerprogrammprodukt mit den Merkmalen des jeweiligen unabhängigen Anspruchs. Vorteilhafte Ausgestaltungen sind in den Unteransprüchen angegeben.
-
Danach wird die Aufgabe gelöst durch ein Verfahren zum Senden eines digitalen Videosignals an ein Empfangsgerät, wobei das Verfahren in bzw. von einem Server ausgeführt wird.
-
Das Verfahren umfasst ein Bereitstellen des digitalen Videosignals als codiertes Videosignal in zumindest zwei verschiedenen Qualitätsstufen; ein Senden des codierten Videosignals in einer ersten Qualitätsstufe der zumindest zwei verschiedenen Qualitätsstufen über eine Netzwerkverbindung bzw. über ein Netzwerk unter Verwendung eines TCP Netzwerkprotokolls an das Empfangsgerät; und ein Empfangen von Quittierungsinformationen des TCP Netzwerkprotokolls bezüglich des zum Empfangsgerät gesendeten Videosignals. Ferner umfasst das Verfahren ein Ermitteln einer Übertragungsqualität zwischen dem Server und dem Empfangsgerät unter Verwendung der empfangenen Quittierungsinformationen und ein Senden des codierten Videosignals an das Empfangsgerät in der für die ermittelte Übertragungsqualität geeigneten Qualitätsstufe.
-
In einem weiteren Aspekt betrifft die Erfindung eine Recheneinheit, wobei die Recheneinheit dazu eingerichtet ist, ein erfindungsgemäßes Verfahren durchzuführen, wobei die Recheneinheit vorzugsweise einen Server umfasst oder als Server ausgebildet ist.
-
In einem weiteren Aspekt betrifft die Erfindung ein Computerprogrammprodukt, das ein nicht-flüchtiges, computerlesbares Speichermedium umfasst, auf dem ein ausführbarer Programmcode gespeichert ist, der konfiguriert ist, um ein Computersystem dazu zu veranlassen, ein erfindungsgemäßes Verfahren durchzuführen.
-
Vorzugsweise wird das codierte Videosignal in Form von TCP-Paketen an das Empfangsgerät gesendet. Eine Bündelung der Daten des Videosignals in Bildpakete und/oder Bildgruppe ist dabei möglich, aber nicht zwingend erforderlich. Der Vorteil der Verwendung des TCP Netzwerkprotokolls ist dabei, dass dieses als standardmäßig die Übermittelung von Quittierungsinformationen vom Empfangsgerät an den Server aufweist und somit kein Streaming Prokotoll zur Steuerung der adaptiven Anpassung der Qualitätsstufe erforderlich ist. Ferner bietet dies den Vorteil, dass handelsübliche Netzwerkgeräte dazu ausgelegt sind, das TCP Netzwerkprotokoll zu nutzen und somit keine spezielle Anpassung oder Ausgestaltung von Netzwerkgeräten oder Fernsehgeräten erforderlich ist.
-
Das TCP Netzwerkprotokoll kann dabei insbesondere zur Übertragung des codierten Videosignals über das Internet mittels eines Internet Protokolls eingerichtet sein und somit als TCPIIP vorliegen. Vorzugsweise erfüllt das TCP Netzwerkprotokoll sämtliche Spezifikationen, welche dem TCP Standard zum Anmeldezeitpunkt zugrunde gelegt sind. Jedoch können auch andere Versionen von TCP, etwa ältere Vorgängerversionen von TCP, welche die Übermittelung von Quittierungsinformationen beinhalten, für das erfindungsgemäße Verfahren geeignet sein. Insbesondere kann das TCP Netzwerkprotokoll in der Version bzw. mit dem IETF-Standard RFC 793, ergänzt durch RFC 7323, verwendet werden. Auch können Erweiterungen aus anderen Standards implementiert sein, die aber nicht notwendigerweise für das Funktionieren des erfindungsgemäßen Verfahrens implementiert sein müssen.
-
Vorzugsweise dient das Verfahren zum Senden des digitalen Videosignals an das Empfangsgerät dem Streaming, d.h. dass das Video bzw. Videosignal auf dem Empfangsgerät wiedergegebenen bzw. abgespielt werden kann, ohne notwendigerweise zunächst vollständig auf dem Empfangsgerät abgespeichert bzw. zwischengespeichert zu werden. Insbesondere kann das Verfahren dazu ausgelegt sein, dass das Videosignal nur abschnittsweise auf dem Empfangsgerät zwischengespeichert wird, etwa in einem Buffer, bevor die zwischengespeicherten Abschnitte wiedergegeben werden und anderen Abschnitte derweil zwischengespeichert werden. Das Netzwerk, über welches das Videosignal vom Server zum Empfangsgerät gesendet wird, umfasst vorzugsweise das Internet.
-
Vorzugsweise umfasst das Ermitteln einer Übertragungsqualität zwischen dem Server und dem Empfangsgerät unter Verwendung der empfangenen Quittierungsinformationen ein Ermitteln einer für die Übertragungsqualität geeigneten Qualitätsstufe der zumindest zwei verschiedenen Qualitätsstufen. Die verschiedenen Bereitgestellten Qualitätsstufen können beispielsweise unterschiedliche Bildqualitäten des Videosignals aufweisen, wie etwa unterschiedliche Bildauflösungen und/oder Pixeldichten. Beispielsweise können die Qualitätsstufen als klein (S), mittel (M) und groß (L) bereitgestellt werden, welche beispielsweise eine Bildauflösung von 480p bzw. 720p bzw. 1080p aufweisen können. Alternativ oder zusätzlich können die codierten Videosignale der unterschiedlichen Qualitätsstufen in Ihrer Kompression voneinander abweichen, wobei die Pixelzahlen bzw. Pixeldichten ggf. gleich sein können. Selbstverständlich sind auch sind Qualitätsstufen mit davon abweichenden Bildauflösungen verwendbar, wie etwa noch geringere Auflösungen oder noch größere Bildauflösungen, wie etwa UHD, 4K oder 8K. Die für die ermittelte Übertragungsqualität geeignete Qualitätsstufe ist vorzugsweise derart bestimmt, dass das codierte Videosignal von dem Empfangsgerät in bestmöglicher Bildqualität und mit ausreichender Bildwiederholrate für eine unterbrechungsfreie Wiedergabe empfangbar ist. Mit anderen Worten wird das codierte Videosignal vorzugsweise in der Qualitätsstufe an das Empfangsgerät gesendet, bei welcher das Video die größtmögliche Qualität bzw. Bildauflösung innehat, aber dennoch unterbrechungsfrei und störungsfrei wiedergebbar ist, d.h. dass es nicht zu Aussetzern bei der Wiedergabe aufgrund von unzureichender Übertragungsgeschwindigkeit kommt.
-
Die Erfindung bietet den Vorteil, dass bei der Übertragung des codierten Videosignals über das Netzwerk eine deutlich geringere Signalverzögerung erreicht werden kann, welche beispielsweise lediglich eine Sekunde oder weniger beträgt, im Vergleich zu herkömmlichen, auf Streaming Protokollen basierenden Übertragungen, welche oftmals mit Signalverzögerungen von 20 bis 30 s oder gar mehr aufweisen. Beispielsweise hat http adaptive streaming typischerweise Signalverzögerungen in dieser Größenordnung. Dies liegt insbesondere daran, dass erfindungsgemäß die Bereitstellung eines Buffers nicht zwingend erforderlich ist oder kleiner ausgebildet wird und/oder auf eine Paketierung der Bilddaten in Bildgruppen verzichtet werden kann kann, und dementsprechend Anpassungen des übertragenen Videosignals, wie etwa Änderungen der Qualitätsstufe und/oder Änderungen des Videostreams, beispielsweise bei einem Kanalwechsel, zeitnah umgesetzt werden können, da nicht erst der Buffer mit den zuvor gesendeten und zwischengespeicherten Daten entleert werden muss. Insbesondere bietet die Erfindung den Vorteil, dass die Latenzzeit gering gehalten werden kann, was vor allem bei Live-Video-Übertragungen ein zeitnahes Verfolgen der Geschehnisse ermöglicht. So kann etwa die Live-Übertragung eines Fussballspiels ohne wesentliche Verzögerung wiedergegeben werden, ohne dass gegenüber anderen Video- oder Radioübertragungsquellen eine merkliche Zeitverzögerung besteht.
-
Zudem bietet die Erfindung den Vorteil, dass geringere technische Anforderungen hinsichtlich der Hardware und/oder der Software hinsichtlich des Empfangsgeräts bestehen. Dies liegt insbesondere daran, dass die gesamte Anpassung bzw. Adaption des gesendeten Videosignals, insbesondere hinsichtlich der Qualitätsstufen, vom Server durchgeführt wird und entsprechend das Empfangsgerät kein Adaptionsmodul aufweisen muss und/oder keinen Füllstand eines Buffers überwachen muss, um eine unterbrechungsfreie und störungsfreie Wiedergabe zu gewährleisten. Somit können auch die Anforderungen an die Hardware des Empfangsgeräts reduziert werden, da dem Empfangsgerät weniger Rechenleistung zum Empfangen und wiedergeben des Videosignals abverlangt wird. Beispielsweise kann dies den vorteilhaften Effekt aufweisen, dass auch auf Empfangsgeräten erfindungsgemäß gesendete Videosignale empfangen und wiedergegeben werden können, bei denen dies mit herkömmlichen Übertragungsmethoden nicht möglich war, beispielsweise mit älteren und/oder weniger rechenleistungsstarken Computern und/oder Mobilgeräten.
-
Ferner bietet die Erfindung den Vorteil, dass die Qualitätsstufe automatisch an die zur verfügungsstehende Übertragungsgeschwindigkeit angepasst werden kann, ohne dass der Benutzer selbstständig eine Änderung der Qualitätsstufe, beispielsweise bei Auftreten von Störungen und/oder Unterbrechungen bei der Wiedergabe, vornehmen muss. Dadurch steigt der Bedienkomfort für den Benutzer gegenüber Übertragungsverfahren ohne adaptive Anpassung der Qualitätsstufe.
-
Vorzugsweise umfasst das Ermitteln der Übertragungsqualität ein Ermitteln einer Datenübertragungsrate und/oder einer Übertragungsdauer und/oder eines Übertragungserfolgs und/oder einer Auslastung des Netzwerks und /oder eines Vorliegens eines Übertragungsfehlers besonders zuverlässig.
-
Vorzugsweise wird das codierte Videosignal mit konstanter Frequenz der Bilder und/oder Bildpakte gesendet. Eine Bündelung der Bilder in Bildpakete und/oder Bildgruppen (Group of Pictures) ist dabei möglich, aber nicht zwingend erforderlich. Besonders bevorzugt wird das Videosignal in das MPEG (MPEG-4, MPEG-1, MPEG-2) oder H.264 Format codiert und besonders bevorzugt als MPEG TS (MPEG Transport Stream) bereitgestellt. Dies bietet den Vorteil, dass handelsübliche Fernsehapparate das derart codierte Videosignal decodieren können. Auch ist dies eine übliche Codierung, da oftmals über Satelliten übermittelte Videosignale, wie etwa Satellitenfernsehen, als MPEG TS codiert ist. Dies bietet somit ein gro-ßes Maß an Kompatibilität, sodass das Verfahren von handelsüblichen Fernsehgeräten verwendet werden kann, ohne dass eine Software- und/oder Hardwareanpassung zwingend erforderlich ist. Die Erfindung bietet daher vorzugsweise den Vorteil, dass das Videosignal derart zum Empfangsgerät übertragen werden kann, dass dieses insbesondere auf Seiten des Empfangsgeräts ohne Umwandlung durch einen Hardware-implementierten Decoder einem handelsüblichen Wiedergabegerät zugeführt werden kann, beispielsweise als MPEG TS Stream, welches für den Empfang von digitalen DVB-Signalen über Satellit oder Kabel ausgelegt ist und daher keine Adaptionsfähigkeit hat. Vorzugsweise kann das Videosignal von einem handelsüblichen Fernsehgerät mit digitalem Empfangsteil direkt wiedergegeben werden, ohne dass eine vorherige Hardware-Decodierung des empfangenen Videosignals zwingend erforderlich ist.
-
Vorzugsweise werden die TCP-Pakte in gleichbleibender bzw. fester Taktung an das Empfangsgerät gesendet. Da anhand der Quittierungsinformationen des TCP Netzwerkprotokolls vom Server ermittelbar ist, wie viel Zeit die Übertragung eines bestimmten TCP-Pakets zum Empfangsgerät in Anspruch nahm, kann unter Beibehaltung einer festen Taktung beim Senden der TCP-Pakete vom Server ermittelt werden, wie viele TCP-Pakete sich zu einem bestimmten Zeitpunkt in der Übertragung zum Empfangsgerät befinden. Vorzugsweise umfasst daher das Ermitteln der Übertragungsqualität ein Ermitteln einer Anzahl der TCP-Pakete, die sich zum Zeitpunkt des Ermittelns in der Übertragung zum Empfangsgerät befinden. Auf Basis dieser Erkenntnis kann das Ermitteln einer für die Übertragungsqualität geeigneten Qualitätsstufe besonders schnell und zuverlässig ermittelt werden.
-
Die Quittierungsinformationen werden vom Server vorzugsweise als TCP Steuerungsinformationen empfangen. Insbesondere können die Quittierungsinformationen in Form von TCP-Pakten empfangen werden, wobei die empfangenen TCP-Pakete vorzugsweise ausschließlich TCP Steuerungsinformationen enthalten oder TCP Steuerungsinformationen und Nutzdaten enthalten. Beispielsweise können die TCP Steuerungsinformationen im TCP Header beinhaltet sein. Auf diese Weise kann das Übermitteln der Quittierungsinformationen auf besonders einfache Weise in das TCP Netzwerkprotokoll implementiert werden.
-
Vorzugsweise umfassen die Quittierungsinformationen eine Zeitangabe über eine Übergabe eines bestimmten Datenpaktes des codierten Videosignals an das TCP Netzwerkprotokoll zum Senden an das Empfangsgerät und/oder eine Zeitangabe über einen Empfang eines bestimmten Datenpaktes des codierten Videosignals durch das Empfangsgerät. Mit anderen Worten enthalten die Quittierungsinformationen vorzugsweise einen oder mehrere elektronische Zeitstempel, welche über die Übergabe des jeweiligen TCP-Paktes an das TCP Netzwerkprotokoll und/oder über den Zeitpunkt des Empfangs durch das Empfangsgerät Auskunft geben.
-
Besonders bevorzugt umfasst das Ermitteln der Übertragungsqualität ein Ermitteln einer Zeitdifferenz zwischen der Übergabe des bestimmten Datenpakets des codierten Videosignals an das TCP Netzwerkprotokoll zum Senden an das Empfangsgerät und der Zeitangabe über den Empfang des bestimmten Datenpaktes des codierten Videosignals durch das Empfangsgerät. Auf diese Weise lässt sich die beanspruchte Zeitdauer für die Übertragung des Videosignals besonders einfach und/oder besonders zuverlässig und/oder besonders schnell und/oder mit besonders geringem Rechenaufwand ermitteln. Insbesondere kann das Ermitteln der Übertragungsqualität ein Ermitteln einer Zeitdifferenz zwischen einem Bereitstellen zum Senden des bestimmten Datenpakets und der Zeitangabe über den Empfang des bestimmten Datenpaktes des codierten Videosignals durch das Empfangsgerät umfassen.
-
Gemäß einer bevorzugten Ausführungsform werden dem codierten Videosignal, das zunächst in einer ersten Qualitätsstufe gesendet wird, vor dem Senden Fülldaten hinzugefügt, sodass die Datenmenge des codierten Videosignals mit den Fülldaten zwischen der Datenmenge des codierten Videosignals der ersten Qualitätsstufe und der Datenmenge des codierten Videosignals in der zweiten Qualitätsstufe (jeweils ohne Fülldaten) liegt. Die Fülldaten sind dabei Daten von beliebigem Inhalt und/oder ohne Informationsgehalt, die vom Empfangsgerät nicht berücksichtigt werden und lediglich einer Anpassung der Datenmenge bzw. Datenrate bzw. Größe des Videosignals dienen. Dadurch kann bezüglich der Datenmenge eine Zwischengröße zwischen der ersten und der zweiten Qualitätsstufe geschaffen werden, mittels welcher eine Wahrscheinlichkeit dafür, dass die Übertragungsqualität auch für die zweite und in diesem Fall höhere Qualitätsstufe ausreicht, vorab getestet werden kann. Sofern die Übertragungsqualität ausreichend ist, um das mit den Fülldaten versehene Videosignal der ersten Qualitätsstufe in ausreichender Geschwindigkeit zu übertragen, kann dies indizieren, dass mit großer Wahrscheinlichkeit auch die zweite und in diesem Fall höhere Qualitätsstufe übertragen werden kann.
-
Gemäß einer weiteren bevorzugten Ausführungsform umfasst das Verfahren ein Ermitteln eines Füllzustandes eines Buffers des Empfangsgerätes, sofern das Empfangsgerät einen Buffer aufweist. Insbesondere kann das Verfahren das Ermitteln eines Überlaufs des Buffers im Empfangsgerät umfassen. Zudem umfasst das Verfahren gemäß dieser Ausführungsform vorzugsweise ein Überspringen eines Zeitabschnittes des codierten Videosignals beim Senden des codierten Videosignals, wenn eine Überfüllung des Buffers ermittelt wird. Mit anderen Worten, wird ein Teil des Videos, beispielsweise ein kurzer Zeitabschnitt bzw. eine bestimmte Anzahl von Bildern, übersprungen, d.h. nicht übertragen, wenn eine Überfüllung des Buffers erkannt wird. Dies führt zwar zu einem Bildsprung bei der Wiedergabe des Videos, allerdings kann dadurch die Latenzzeit gering gehalten werden und auch die Bildqualität bzw. das codierte Videosignal auf einer hohen Qualitätsstufe beibehalten werden. Dadurch kann insbesondere eine Adaption der Qualitätsstufe des codierten Videosignals zuverlässig erfolgen, da vermieden werden kann, dass das codierte Videosignal schneller zum Empfangsgerät gesendet wird, als es vom Empfangsgerät ausgelesen und/oder verarbeitet werden kann.
-
Die Recheneinheit kann beispielsweise als ein Computersystem und/oder als ein Netzwerkserver ausgebildet sein, welches dazu ausgelegt ist, mit einem oder mehreren Client-Empfangsgeräten über das Netzwerk, beispielsweise über das Internet, verbunden zu werden. Insbesondere kann die Recheneinheit einen Prozessor und ein computerlesbares Speichermedium umfassen, auf dem ein ausführbarer Programmcode gespeichert ist, der konfiguriert ist, die Recheneinheit dazu zu veranlassen, ein erfindungsgemäßes Verfahren durchzuführen.
-
Das nicht-flüchtige, computerlesbare Speichermedium kann beispielsweise als ein Datenträger, wie etwa eine Diskette, eine CD, DVD, bluray-Disk, einen Flash-Speicher, einen USB-Stick oder ähnliches Speichermedien ausgebildet sein. Ferner kann das computerlesbare Speichermedium als eine HDD, SSD oder ähnliches Speichermedium ausgebildet sein.
-
Weitere Einzelheiten und Vorteile der Erfindung sollen nun anhand eines in den Zeichnungen dargestellten Ausführungsbeispiels näher erläutert werden.
-
Es zeigen:
- 1 eine schematische Darstellung eines herkömmlichen Netzwerksystems zum Streaming eines Videosignals gemäß dem Stand der Technik;
- 2 eine schematische Darstellung eines erfindungsgemäßen Netzwerksystems zum Übertragen eines Videosignals gemäß einer bevorzugten Ausführungsform;
- 3 eine schematische Darstellung einer Abfolge von für die Ermittlung der Übertragungsqualität relevanten Zeitpunkten gemäß einer ersten bevorzugten Ausführungsform.
-
1 zeigt in einer schematischen Darstellung ein herkömmlichen Netzwerksystems 10 zum Streaming eines Videosignals von einem Server 12 zu einem Empfangsgerät 16 und wurde bereits oben mit Bezug auf den Stand der Technik diskutiert.
-
2 zeigt in einer schematischen Darstellung ein Netzwerksystem 100, welches dazu ausgelegt ist, mittels eines Verfahrens gemäß einer bevorzugten Ausführungsform der Erfindung ein Videosignal von einem Server 120 zu einem Empfangsgerät 160 zu übertragen.
-
Das Netzwerksystem weist einen Server 120 und ein Empfangsgerät 160 auf, welche über eine in einem Netzwerk 18, vorzugsweise im Internet, ausgebildete Netzwerkverbindung 200 mit einander in Kommunikation stehen, sodass vom Server ein codiertes Videosignal zum Empfangsgerät übertragen werden kann. Der Server weist einen Encoder 14 auf, welcher das eingehende Videosignal in zumindest zwei, vorzugsweise jedoch zumindest drei oder mehr, verschiedene Qualitätsstufen 22a, 22b, 22c codiert. Ferner weist der Server 120 ein Verzögerungsmodul 122, ein Mixermodul 124, ein Fülldatenbereitstellungsmodul 126 und ein Adaptionsmodul 128 auf. Das Empfangsgerät weist gemäß der gezeigten Ausführungsform lediglich einen Decoder 32 auf. Gemäß anderen Ausführungsformen kann das Empfangsgerät 160 zusätzlich noch andere Elemente, wie etwa einen Buffer aufweisen, allerdings ist dies nicht zwingend erforderlich. Ferner weist das Netzwerksystem ein Wiedergabegerät 34 auf, welches dazu ausgelegt ist, das vom Decoder 32 decodierte Videosignal wiederzugeben, sodass ein Benutzer 36 dies betrachten kann.
-
Gemäß der gezeigten Ausführungsform empfängt der Server 120 vom Sender 13 ein digitales Videosignal und codiert dieses mittels des Encoders 14 in zumindest zwei, bevorzugt zumindest drei verschiedene Qualitätsstufen 22a, 22b und 22c. Das Bereitstellen der codierten Videosignale 22a, 22b, 22c durch den Encoder 14, d.h. der Zeitpunkt an dem die codierten Videosignale 22a, 22b, 22c den Encoder 14 verlassen, entspricht einem Zeitpunkt T1. Beispielsweise kann der Encoder 14 dazu eingerichtet sein, das Videosignal mittels eines MPEG Codecs zu codieren und beispielsweise als MPEG TS bereitzustellen. Die bereitgestellten codierten Videosignale 22a, 22b, 22c werden dem Verzögerungsmodul 122 zugeführt, welches Zeitschwankungen in den codierten Videosignalen 22a, 22b, 22c, die gegebenenfalls am Ausgang des Encoders vorliegen, auszugleichen. Durch das Verzögerungsmodul 122 wird entsprechend für jede Qualitätsstufe 22a, 22b, 22c zu einem Zeitpunkt T2 ein bezüglich der Bild-Lieferfrequenz stabilisierter BildDatenstrom erzeugt. Diese stabilisierten Bilddatenströme der codierten Videosignale 22a, 22b, 22c werden dem Mixermodul 124 zugeführt, welches unter Anleitung des Adaptionsmoduls 128, des später noch genauer erläutert wird, das codierte und stabilisierte Videosignal 22a, 22b, 22c zu einem Zeitpunkt T3 über die Netzwerkverbindung 200 an das Empfangsgerät sendet bzw. dem TCP Netzwerkprotokoll zur Übertragung übergibt. Gegebenenfalls werden mittels des Fülldatenbereitstellungsmoduls 126 dem codierten und stabilisierten Videosignal 22a, 22b, 22c noch Fülldaten hinzugefügt, um einen Bilddatenstrom von fester und/oder bestimmter Größe bzw. Bandbreite zu erzeugen. Der Server 120 kann beispielsweise als Computer bzw. Recheneinheit ausgebildet sein, wobei dessen Module bzw. Komponenten 14, 122, 124, 126 und 128 als Softwaremodule in den Server 120 integriert sein können.
-
Die Netzwerkverbindung 200 ist gemäß der gezeigten Ausführungsform als ein TCP Kanal ausgebildet oder umfasst einen solchen. Insbesondere ermöglicht die Netzwerkverbindung neben dem Senden der codierten Videodaten 22a, 22b, 22c vom Server 120 zum Empfangsgerät 160 auch das Senden von Quittierungsinformationen 130 vom Empfangsgerät 160 zum Server 120. Die Quittierungsinformationen 130 werden zu einem Zeitpunkt T4 vom Empfangsgerät bei erfolgreichem Empfang eines jeweiligen TCP-Paktes generiert und/oder mit einem Zeitstempel versehen und über die Netzwerkverbindung 200 an den Server 120 gesendet. Wenn die Quittierungsinformationen 130 vom Server 120 empfangen wurden, werden diese dem Adaptionsmodul 128 zugeführt, welches auf Basis der Quittierungsinformationen 130 die Übertragungsqualität zwischen dem Server 120 und dem Empfangsgerät 160 ermittelt und eine geeignete Qualitätsstufe des codierten Videosignals 22a, 22b, 22c ermittelt, welches dem Benutzer 36 eine bestmögliche Videoqualität bzw. Bildqualität bietet, die störungsfrei und unterbrechungsfrei wiedergegeben werden kann. Nach Ermittlung der geeigneten Qualitätsstufe 22a, 22b, 22c steuert das Adaptionsmodul 128 das Mixermodul 124, so, dass der Server 120 mittels des Mixermoduls 124 das codierte Videosignal in der geeigneten Qualitätsstufe 22a, 22b, 22c an das Empfangsgerät 160 sendet.
-
Entsprechend ist seitens des Empfangsgerätes 160 kein Adaptionsmodul oder ähnliches erforderlich, um das codierte Videosignal in der geeigneten Qualitätsstufe 22a, 22b, 22c anzufordern, da die gesamte Auswahllogik serverseitig ausgebildet ist und für die Ermittlung und Auswahl der geeigneten Qualitätsstufe die ohnehin bei der Übertragung generierten TCP Quittierungsinformationen 130 herangezogen werden. Somit ist es ausreichend, dass das Empfangsgerät 160 einen Decoder 32 aufweist, um das codierte Videosignal zu decodieren und dem Wiedergabegerät 34 zuzuführen. Auch das Empfangsgerät 160 (Client) kann beispielsweise als Recheneinheit und/oder Computersystem und/oder Mobilgerät ausgebildet sein, wobei der Decoder 32 als Softwaremodul implementiert sein kann.
-
Dieses Verfahren bzw. System 100 bietet den Vorteil, dass eine im Vergleich zum Stand der Technik sehr viel schnellere Anpassung bzw. Adaption der Qualitätsstufe 22a, 22b, 22c des codierten Videosignals, welches vom Server 120 zum Empfangsgerät 160 gesendet wird erreicht werden kann, da nicht zunächst bereits in der Übertragung befindliche Bildgruppen (groups of pictures, GOPs) vom Decoder 32 decodiert und vom Wiedergabegerät 34 wiedergegeben werden müssen und/oder ein Buffer entleert werden muss. Vielmehr wird durch die sehr kurze Übertragungsdauer vom Server 120 zum Empfangsgerät 160 eine kurze Latenzzeit erreicht, sodass die Qualitätsstufe des codierten Videosignals, die den Decoder 32 und das Wiedergabegerät 34 erreicht, sehr rasch angepasst werden kann.
-
Anhand von 3 werden im Folgenden bevorzugte Verfahren zur Ermittlung der für die ermittelte Übertragungsqualität geeigneten Qualitätsstufe 22a, 22b, 22c des codierten Videosignals beispielhaft beschreiben.
-
Für das in 3 erläuterte Verfahren sind die Zeitpunkte T1, T2, T3 und T4 relevant, welche bereits oben erwähnt wurden.
-
Zum Zeitpunkt T1 verlässt ein Bild oder eine Bildgruppe des codierten Videosignals 22a, 22b, 22c den Encoder 14.
-
Zum Zeitpunkt T2 wird das Bild oder die Bildgruppe zeitlich stabilisiert durch das Verzögerungsmodul 122 bereitgestellt und steht zur Übertragung zum Empfangsgerät 160 bereit.
-
Zum Zeitpunkt T3 nimmt das TCP Netzwerkprotokoll das stabilisierte Bild bzw. die stabilisierte Bildgruppe vom Verzögerungsmodul 122 als ein oder mehrere Datenpakete entgegen.
-
Zum Zeitpunkt T4 wird vom Empfangsgerät über das TCP Netzwerkprotokoll der Empfang des Bildes bzw. der Bildgruppe bzw. des Datenpaketes quittiert und die Quittierungsinformationen über den Empfang des Bildes bzw. der Bildgruppe bzw. des Datenpaketes wird zum Server 120 zurückgesandt.
-
Die Zeitpunkte T1 bis T4 werden als jeweilige elektronische Zeitstempel bzw. Zeitangaben in dem jeweiligen Datenpakten, insbesondere dem TCP Datenpakten, hinterlegt, sodass diese vom TCP Netzwerkprotokoll mit übertragen werden und zur Auswertung bereitstehen. Alternativ oder zusätzlich werden die Zeitstempel werden nicht selbst übertragen, sondern das TCP Netzwerkprotokoll quittiert lediglich den Empfang eines definierten Bildpaketes (beispielsweise durch Nummer des Bildpakets und/oder eine Streamposition identifiziert). Der Server kennt die Zuordnung von Streamposition und/oder Nummer des Bildpaekts zu der Zeit, zu welcher das definierte Bildpaket gesendet wurde, und kann sodann die Zeitangabe aus der Streamposition und/oder der Nummer des Bildpakets ableiten. Vorzugsweise werden die Zeitangabe als eine Nummer eines bestimmten Datenpaketes und/oder als eine Streamposition übermittelt, wobei vorzugsweise durch den Server ein Ermitteln von Zeitstempeln auf Basis der Nummer des bestimmten Datenpaktes und/oder auf Basis der Streamposition erfolgt.
-
Das zentrale Element der Adaptionslogik ist das Adaptionsmodul 128 im Server 120, der für jedes Bild bzw. Bildpaket bzw. Datenpakten die Zeitstempel T1 bis T4 sowie gegebenenfalls übermittelte Quittierungsinformationen über einen Füllzustand eines Buffers im Empfangsgerät 160, sofern ein solcher vorhanden ist, auswertet und in Abhängigkeit davon die Übertragungsqualität zwischen dem Server 120 und dem Empfangsgerät 160 ermittelt und die für die ermitteltet Übertragungsqualität geeignete Qualitätsstufe 22a, 22b, 22c des codierten Videosignals übermittelt.
-
Nach erfolgter Ermittlung werden die darauffolgenden Bilder bzw. Bildgruppen mit der als geeignet ermittelten Qualitätsstufe 22a, 22b, 22c an das Empfangsgerät 160 gesendet. Dies kann dieselbe Qualitätsstufe 22a, 22b, 22c bleiben, wie auch vor der Ermittlung, d.h. wie durch die vorherige Ermittlung ermittelt wurde, oder auch eine andere Qualitätsstufe 22a, 22b, 22c. In letzterem Falle erfolgt entsprechend eine Anpassung der Qualitätsstufe 22a, 22b, 22c an die Übertragungsqualität, was beispielsweise dann der Fall sein kann, wenn sich die Übertragungsqualität seit der letzten Ermittlung verändert hat.
-
Zur Ermittlung bzw. Festlegung der für die Übertragungsqualität geeigneten Qualitätsstufe 22a, 22b, 22c des codierten Videosignals können verschiedene Verfahren herangezogen werden.
-
Gemäß einem ersten beispielhaften Verfahren wird das codierte Videosignal 22a, 22b, 22c als Bildgruppen mit einer Videosequenzlänge von einer Sekunde übertragen, d.h. dass die Bilder in einer der Bildgruppen einer Videosequenz mit einer Wiedergabedauer von einer Sekunde entsprechen. Wenn die Zeitdifferenz der Zeitstempel T4 und T2 kleiner als eine Sekunde ist, also t = T4 - T2 < 1s, wird das codierte Videosignal ab der nächsten zu übertragenden Bildgruppe mit der höchsten Qualitätsstufe, beispielsweise L, übertragen. Optional kann sicherheitshalber noch ein Zeitabstand der Zeitdifferenz zu dem Grenzwert 1s vorgesehen sin, um trotz etwaige Schwankungen der Übertragungsqualität stets unterhalb der Leistungskapazität zu bleiben. Alternativ kann der Grenzwert kürzer als eine Sekunde gewählt werden.
-
Wenn die Zeitdifferenz der Zeitstempel T4 und T2 größer als eine Sekunde ist, also t = T4 - T2 > 1s, wird das codierte Videosignal ab der nächsten Bildgruppe mit einer geringeren Qualitätsstufe 22a, 22b, 22c übertragen, beispielsweise mit M oder S. Eine weitere Differenzierung, d.h. ob mit M oder mit S übertragen werden soll, kann beispielsweise auf Basis einer Zeitdifferenz der Zeitstempel T4-T3 erfolgen. Alternativ oder zusätzlich kann zunächst für die weitere Übertragung die Qualitätsstufe M gewählt werden, und wenn eine erneute Ermittlung der Zeitdifferenz zwischen T4 und T2 ergibt, dass t > 1s, kann eine weitere Reduktion der Qualitätsstufe auf S erfolgen.
-
Gemäß einem weiteren Beispiel werden in Abwandlung von dem vorherigen Beispiel dem codierten Videosignal der Qualitätsstufe S zunächst Fülldaten hinzugefügt, sodass die Datenmenge des codierten Videosignals zwischen den Datenmengen der codierten Videosignale mit den Qualitätsstufen S und M (jeweils ohne Fülldaten) liegt. Wenn darauf basierend eine ausreichenden Übertragungsrate bzw. -geschwindigkeit ermittelt wird, etwa wenn die Zeitdifferenz zwischen T4 und T2 weniger als eine Sekunde beträgt, kann die Übertragungsqualität als geeignet für die Qualitätsstufe M ermittelt bzw. festgestellt werden. Dieses Verfahren bietet den Vorteil, dass vor dem Ändern der Qualitätsstufe von S auf M ein Test erfolgt, der eine Abschätzung der Erfolgsaussichten ermöglicht, ob eine Übertragung der Qualitätsstufe M Erfolg haben könnte. Durch die im Vergleich zu einer direkten Umschaltung auf M geringere Bandbreitenerhöhung durch Zumischung von Fülldatendaten wird die Wahrscheinlichkeit von Buffer-Unterläufen, wie sie durch die Kombination einer wesentlichen Überschreitung der Kanalkapazität bzw. Übertragungskapazität in Kombination mit sehr kleinen Buffern auftreten können, reduziert.
-
Gemäß einem dritten Beispiel wird ein Empfangsgerät 160 verwendet, welches einen Buffer 30 aufweist. Dabei wird wie bei den vorherigen Beispielen die Zeitdifferenz zwischen T4 und T2 ermittelt, sowie eine Zeitdifferenz zwischen T4 und T3, also t34 = T4-T3. Sofern Zeitdifferenzen t > 1s und t34 < 1s ermittelt, und Quittierungsinformationen empfangen werden, die einen gefüllten Buffer indizieren, kann dies darauf hindeuten, dass die Netzwerkverbindung eine ausreichende Übertragungsqualität für eine hohe Qualitätsstufe aufweist, die Verzögerung bzw. der Rückstau hingegen durch den Buffer verursacht wird. In diesem Fall kann das Adaptionsmodul 128 beispielsweise veranlassen, dass ein oder mehrere Bildpakete übersprungen bzw. ausgesetzt werden, jedoch eine hohe Qualitätsstufe, beispielsweise L, beibehalten wird. Dies kann zwar dazu führen, dass es zu einem einmaligen Bildsprung bei der Wiedergabe des Videosignals kommt, jedoch bietet dies den Vorteil, dass die Latenzzeit gering und die Bildqualität konstant auf hohem Niveau und die Latenzzeit gering gehalten werden kann.
-
Bezugszeichenliste
-
- 10
- Netzwerksystem gemäß dem Stand der Technik
- 12
- Server gemäß dem Stand der Technik
- 13
- Sender
- 14
- Encoder
- 16
- Empfangsgerät gemäß dem Stand der Technik
- 18
- Netzwerk
- 20
- Netzwerkverbindung gemäß dem Stand der Technik
- 22a, 22b, 22c
- codiertes Videosignal in verschiedenen Qualitätsstufen
- 24
- Übertragungsmodul
- 26
- Bildgruppe (group of pictures)
- 28
- Adaptionsmodul
- 30
- Buffer
- 32
- Decoder
- 34
- Wiedergabegerät
- 36
- Benutzer
- 100
- Netzwerksystem
- 120
- Server
- 122
- Verzögerungsmodul
- 124
- Mixermodul
- 126
- Fülldatenbereitstellungsmodul
- 128
- Adaptionsmodul
- 130
- Quittierungsinformationen
- 160
- Empfangsgerät
- 200
- Netzwerkverbindung
- T1-T4
- Zeitpunkte bzw. elektronische Zeitstempel