-
Die vorliegende Erfindung betrifft ein Verfahren zur Anpassung eines zu übertragenden Datenstroms an die jeweilige Ressourcenauslastung verschiedener Empfängereinheiten, insbesondere bei einer audio- und videobasierten Echtzeitkommunikation. Dabei empfängt eine Servereinheit einen eingehenden Datenstrom von zumindest einer Sendereinheit, vorzugsweise jeweils einen eingehenden von mehreren Sendereinheiten. Die Servereinheit erzeugt aus diesem oder diesen eingehenden Datenströmen mehrere ausgehende Datenströme mit unterschiedlichen komprimierten Datenraten unter Anpassung an die jeweilige Ressourcenauslastung der verschiedenen Empfängereinheiten, und verschickt jeweils einen ausgehenden Datenstrom über Übertragungskanäle an die Empfängereinheiten.
-
Aus der
DE 11 2012 001 770 T5 ist eine auf Echtzeitverarbeitungsfähigkeit basierende Qualitätsanpassung bekannt. Darin wird die Qualität eines an ein Clientgerät übertragenen Medienstroms dynamisch auf der Grundlage der Echtzeit-Verfügbarkeit von Ressourcen auf dem Clientgerät angepasst. Zentralverarbeitungseinheitsressourcen, Speicherverfügbarkeit, Pufferauslastung, Auslastung der Grafikverarbeitungseinheit etc. werden fortlaufend überwacht, um die Fähigkeit eines Gerätes zur Handhabung von Medienströmung bestimmter Qualitätslevel zu bewerten. Wenn festgestellt wird, dass die Ressourcen auf Seiten eines Clientgerätes einen Medienstrom hoher Qualität zeitweilig nicht bewältigen können, wird ein Strom geringerer Qualität gewählt und an das Clientgerät übermittelt, ohne dass eine neue Sitzung eröffnet werden muss. Nachteilig hierbei ist, dass die Qualitätsanpassung eines Medienstroms nur relativ langsam durchgeführt wird. Es wird immer nur auf eine Echtzeit-Verfügbarkeit reagiert, d.h. es wird nur nach einem Erkennen der Verfügbarkeit von Ressourcen eine andere Qualität des Medienstroms gewählt.
-
Des Weiteren ist aus der
EP 2 498 491 A1 ein Verfahren und eine Vorrichtung zur audio- und videobasierten Echtzeit-Kommunikation zwischen wenigstens einem Master-Teilnehmer und einer Vielzahl von Gruppenteilnehmern bekannt. Dabei ist die Anzahl der Teilnehmer nahezu unbegrenzt, wobei gleichzeitig die Möglichkeit der bidirektionalen Kommunikation gegeben sein soll. Nachteilig hierbei ist, dass nicht die verfügbaren Bandbreiten der Gruppenteilnehmer berücksichtigt werden.
-
Aufgabe der vorliegenden Erfindung ist es somit, ein Verfahren bzw. eine Vorrichtung zu schaffen, das besser auf die verfügbaren Ressourcen von Teilnehmern eingeht, um die Qualität einer Datenübertragung zu verbessern. Auch eine entsprechende Vorrichtung soll vorgeschlagen werden.
-
Die Aufgabe wird gelöst durch ein Verfahren und eine Servereinheit zur Anpassung eines zu übertragenden Datenstroms an eine Ressourcenauslastung mit den Merkmalen der unabhängigen Patentansprüche.
-
Vorgeschlagen wird ein Verfahren bzw. eine Vorrichtung zur Anpassung zu übertragenden Datenströmen an die jeweiligen Ressourcenauslastung verschiedener Empfängereinheiten, insbesondere bei einer audio- und videobasierten Echtzeitkommunikation. Die genannte Anpassung wird von einem oder mehreren entsprechend ausgebildeten Computerprogrammen bzw. Softwareprogrammen durchgeführt.
-
Eine Servereinheit empfängt dabei einen eingehenden Datenstrom von zumindest einer Sendereinheit, vorzugsweise einen eingehenden Datenstrom von mehreren Sendereinheiten. Dabei ist eine Sendereinheit bei einer Echtzeitkommunikation z.B. ein Teilnehmer einer Videokonferenz. Der Teilnehmer besitzt ein Aufnahmegerät, z.B. eine Webcam und ein Mikrofon, welches den an die Servereinheit zu übertragenden Datenstrom erzeugt.
-
Die Servereinheit umfasst Mittel zum Empfangen des zumindest einen eingehenden Datenstroms, welche insbesondere als eine Schnittstelle zum Internet ausgebildet ist, wenn der eingehende Datenstrom über das Internet empfangen wird. Die Schnittstelle kann dabei ein WLAN (Wireless Local Area Network), ein LAN oder ähnliches sein.
-
Die Servereinheit erzeugt mittels entsprechend programmierter Software aus dem eingehenden Datenstrom mehrere ausgehende Datenströme mit unterschiedlichen komprimierten Datenraten unter Anpassung an die jeweilige Ressourcenauslastung der verschiedenen Empfängereinheiten. Dabei ist unter einer Datenrate ein bestimmter Wert von Informationseinheiten pro Zeiteinheit zu verstehen, die meist in kbit/s oder Mbit/s (Kilobit pro Sekunde bzw. Megabit pro Sekunde) angegeben wird. Die Datenrate ist im Allgemeinen ein Maß für die Qualität oder den Informationsgehalt eines Datenstroms. Mit einer höheren Datenrate können mehr Informationen in einer gleichen Zeit übertragen und/oder verarbeitet werden. Bei einer Videokonferenz steigt die Qualität der Video- und/oder Audioinformation mit der Datenrate an, d.h. mit einer höheren Datenrate können mehr Bilder pro Sekunde, eine höhere Anzahl an Pixel und/oder mehr Farben übertragen werden. Bevorzugt ist es daher, wenn eine Empfängereinheit einen Datenstrom erhält, der eine möglichst hohe Datenrate aufweist.
-
Beispielhaft werden in der Servereinheit aus einem eingehenden Datenstrom zwei ausgehende Datenströme mit einer Datenrate von 384 kbit/s und 2,5 Mbit/s erzeugt. Selbstverständlich können auch deutlich mehr ausgehende Datenströme mit deutlich höheren und/oder niedrigeren Datenraten erzeugt werden.
-
Anschließend wird jeweils ein ausgehender Datenstrom über Übertragungskanäle an jeweils eine Empfängereinheit verschickt. Da im Allgemeinen verschiedene Empfängereinheiten verschiedene Ressourcenauslastungen aufweisen, ist es vorteilhaft, einer Empfängereinheit mit einer höheren Ressourcenauslastung einen ausgehenden Datenstrom zu schicken, welcher eine geringere Datenrate aufweist, so dass auch diese Empfängereinheit den ausgehenden Datenstrom verarbeiten kann. Für den Fall, dass eine Empfängereinheit eine geringere Ressourcenauslastung aufweist, also mehr Ressourcen zur Verfügung stehen, wird vorteilhafterweise dieser Empfängereinheit ein ausgehender Datenstrom mit einer höheren Datenrate geschickt. Die Empfängereinheiten sind dabei im Falle einer Videokonferenz mehrere Teilnehmer, die eine Videokonferenz verfolgen. Es ist auch denkbar, dass eine oder mehrere Empfängereinheiten Aufnahmegeräte sind, welche den ausgehenden Datenstrom für spätere Zwecke aufnehmen. Die Empfängereinheiten weisen entsprechende Software auf, um deren Ressourcenauslastung auszuwerten und der Servereinheit bereitzustellen.
-
Erfindungsgemäß empfängt die Servereinheit zumindest von einigen Empfängereinheiten deren sich über die Zeit ändernden Ressourcenauslastungen in zeitlichen Abständen. Aus diesen Informationen berechnet sie die zu erwartenden Ressourcenauslastungen der Empfängereinheiten voraus und passt dementsprechend die Datenraten der komprimierten ausgehenden Datenströme an. Dadurch wird eine schnellere und optimale Anpassung der Datenraten der ausgehenden Datenströme an die Ressourcenauslastung der Empfängereinheiten erreicht. Beispielsweise wird eine steigende Ressourcenauslastung bei einer Empfängereinheit durch deren an die Servereinheit geschickten Informationen erkannt und bereits für einen späteren Zeitpunkt vorausberechnet. Entsprechend kann dann der ausgehende Datenstrom für diese Empfängereinheit auf eine geringere Datenrate komprimiert werden.
-
Die Ressourcenauslastung kann sich auf die Empfangs- und/oder Sendegeschwindigkeit (Bandbreite) und/oder auf die Auslastung eines Prozessors und/oder eines Speichers der jeweiligen Empfängereinheit beziehen. Ein Prozessor bestimmt dabei im Allgemeinen die Verarbeitungsgeschwindigkeit eines Datenstroms. Auch in einer Grafikverarbeitungseinheit der Empfängereinheit kann ein solcher Prozessor angeordnet sein, der lediglich die Grafikinformationen eines Datenstroms verarbeitet.
-
Eine hohe Ressourcenauslastung, d.h. die Verfügbarkeit von nur geringen Ressourcen, führt zu einer Einschränkung oder Beeinträchtigung in der Echtzeitkommunikation, da z.B. aufgrund einer geringen Bandbreite der ausgehende Datenstrom nicht vollständig in Echtzeit übertragen werden kann oder da z.B. der Prozessor nicht in der Lage ist, die Größe des ausgehenden Datenstroms zu verarbeiten. Dies würde beispielsweise dazu führen, dass bei einer Videokonferenz die Videoinformationen nicht flüssig bei der Empfängereinheit angezeigt werden.
-
Ferner ist es von Vorteil, wenn die unterschiedlichen Datenraten durch unterschiedliche Auflösungen, Farbtiefen, Bildwiederholungsraten und/oder Komprimierungscodecs erzeugt werden. Wiederum am Beispiel einer Videokonferenz ist es dabei am einfachsten, wenn die Datenrate dadurch verringert wird, dass die Bildwiederholungsrate verringert wird. Eine weitere Möglichkeit zur Verringerung der Datenrate besteht in einer Herabsetzung der Farbtiefe. Anstelle einer farbigen Videokonferenz wird die Videokonferenz beispielsweise nur in schwarz/weiß dargestellt. Auch kann eine geringere Auflösung gewählt werden. Außerdem kann ein bzw. ein anderer Komprimierungscodec genutzt werden. Ein Komprimierungscodec ist dabei eine Vorschrift zum Codieren (Komprimieren) und Decodieren (Dekomprimieren) eines Datenstroms. Bei der Wahl der passenden Komprimierungscodecs kann somit zusätzlich die Datenrate verringert werden.
-
Ein besonderer Vorteil ist es, wenn zumindest zwei jeweils ein Videosignal enthaltende und von unterschiedlichen Sendereinheiten stammende eingehende Datenströme in der Servereinheit zu einem kombinierten ausgehenden Datenstrom, insbesondere Mosaikbild, zusammengefügt werden. So können im Falle einer Videokonferenz mehrere Teilnehmer in einem Videobild dargestellt werden. Ein Teilnehmer mit einer Empfängereinheit, der diesen kombinierten ausgehenden Datenstrom erhält, sieht dann in dem Videostream mehrere Teilnehmer und kann so deren Reaktionen feststellen und ggf. darauf eingehen.
-
Ein weiterer Vorteil ist es, wenn zumindest eine Teilnehmereinrichtung vorgesehen ist, in der eine besagte Sendereinheit und eine besagte Empfängereinheit integriert sind. Dabei kann der Teilnehmer einer Videokonferenz mit seiner Teilnehmereinrichtung zum einen Datenstrom an die Servereinheit senden (beispielsweise sich selbst, eine von ihm gezeigte Präsentation, etc.) und auch die Beiträge der anderen Teilnehmer sehen, beispielsweise in Form eines Mosaikbilds auf seinem Bildschirm, auf dem dieser Teilnehmer selbst zu sehen ist oder nicht.
-
Ebenfalls ist es von Vorteil, wenn die Datenrate jedes ausgehenden Datenstroms vor Beginn der Anpassung einen vordefinierten Wert erhält und dass die Werte von mindestens einem ausgehenden Datenstrom, vorzugsweise von allen ausgehenden Datenströmen, im Laufe der Anpassung sukzessive und iterativ aufgrund der erhaltenden Informationen zu den Ressourcenauslastungen verändert werden. Ein derartiger vordefinierter Wert kann auch als Startwert bezeichnet werden. Dabei kann es sinnvoll sein, wenn die vordefinierten Werte abgestuft sind, so dass möglichst alle in Frage kommenden Bandbreitenbereiche abgedeckt sind. Z.B. könnte die Abstufung so ausgebildet sein, dass bei fünf ausgehenden Datenströmen die Stufen bei 500 kbit/s, 1.000 kbit/s, 1.500 kbit/s, 2.000 kbit/s und 2.500 kbit/s liegen. Somit ist der Bandbreitenbereich von 500 kbit/s bis 2500 kbit/s gleichmäßig abgedeckt. Eine Abstufung muss allerdings keineswegs äquidistant sein.
-
Im Anschluss werden die ausgehenden Datenströme aufgrund der erhaltenden Informationen zu den Ressourcenauslastungen der Empfängereinheiten verändert, um auf die Ressourcenauslastung der Empfängereinheiten einzugehen.
-
Des Weiteren ist es von Vorteil, wenn nach Beendigung einer Übertragung eines ausgehenden Datenstroms an eine Empfängereinheit die Datenrate des ausgehenden Datenstroms wieder zu dem jeweiligen, vor der Anpassung erhaltenen, vordefinierten Wert zurückkehrt. Bei der nächsten Übertragung (an eine andere oder sogar die gleiche Empfängereinheit) wird dann eine Kompression der Datenrate wieder von diesem vordefinierten Wert aus begonnen.
-
Die besagten vordefinierten Werte der Datenraten beziehen sich beispielsweise auf Videoformate nach CIF (Common Intermediate Interface), PAL (Phase Alternating Line), NTSC-Format (National Television Systems Committee) und/oder HDTV (High Definition Television). Das CIF und PAL Videoformat sind beispielsweise auf die Übertragung mit relativ niedrigen Datenraten ausgelegt und das HDTV-Videoformat für höhere Datenraten. Möglich sind natürlich auch andere Videoformate, wie z.B. die sogenannten 4K oder 8K UHDTV (Ultra High Definition Television) Videoformate.
-
Besonders vorteilhaft ist es, wenn die besagte Vorausberechnung unter Verwendung eines sukzessiven Näherungsverfahrens durchgeführt wird. Dadurch wird kontinuierlich oder in bestimmten Zeitabständen die Datenrate eines ausgehenden Datenstroms iterativ an die von einer jeweiligen Empfängereinheit nach und nach empfangene momentane Ressourcenauslastung angepasst.
-
Ebenso ist es von Vorteil, wenn die besagte – vorzugsweise sukzessive – Vorausberechnung unter Verwendung eines exponentiellen Glättungsverfahrens, ggf. zusammen mit einem weiteren Algorithmus, vorausberechnet wird. Als Beispiel eines exponentiellen Glättungsverfahrens sei die exponentielle Glättung genannt. Die exponentielle Glättung basiert dabei üblicherweise auf einer rekursiven Formel wie die folgende: y * / t = αyt + (1 – α)y * / t-1
-
In dieser Formel steht yt für die von den Empfängereinheiten an die Servereinheit geschickten Informationen hinsichtlich der zeitlich veränderlichen Ressourcenauslastungen zum Zeitpunkt t. yt-1* ist der aus der Vorperiode vorausberechnete Wert der Ressourcenauslastung der Empfängereinheit, entspricht also dem in der vorherigen „Schleife“ berechneten Wert. yt* ist der Wert für die vorausberechnete erwartete Ressourcenauslastung einer Empfängereinheit. α ist ein Glättungsfaktor, welcher in einem Intervall zwischen 0 und 1 liegt.
-
Wenn man die rekursive Formel für die Schritte t = 1 und t = 2, t = 2 und t = 3 usw. ausführt und die jeweiligen Formeln ineinander einsetzt, erhält man die folgende verallgemeinerte Formel:
-
Darin ist zu erkennen, welches Verhalten für Glättungsfaktoren α nahe der Null und nahe der Eins auftritt. Für einen Glättungsfaktor α nahe der Null (z.B. 0,1) wird der erste Term (vor der Summe) stärker gewichtet, d.h. ein vorausberechneter Wert wird nur sehr langsam von einem Startwert y0* abweichen. Hingegen wird ein Glättungsfaktor α nahe der 1 (z.B. 0,9) einen zuletzt vorausberechneten Wert y stärker gewichten. Ein höherer Glättungsfaktor führt also zu einer schnelleren Anpassung der Datenraten der ausgehenden Datenströme an die Ressourcenauslastung der Empfängereinheiten.
-
Es kann dabei sinnvoll sein, den Wert des Glättungsfaktors von vorneherein konstant, d.h. bei einem vorher bestimmten Wert, zu halten. Alternativ könnte aber auch der Glättungsfaktor während einer Echtzeitkommunikation variiert werden. Das kann dann sinnvoll sein, wenn die Ressourcenauslastung einer Empfängereinheit über einen längeren Zeitraum annähernd konstant bleibt. Dann kann zu einem niedrigeren Wert für den Glättungsfaktor übergegangen werden. Befindet man sich dagegen in einem Zeitraum, in dem sich die Ressourcenauslastung schneller als erwartet ändert, kann der Wert des Glättungsfaktors während der Datenratenanpassung angehoben werden.
-
Des Weiteren kann es für manche Situationen sinnvoll sein, auf sogenannte Trends in der Ressourcenauslastung einzugehen. Mit einem Trend wird der Umstand bezeichnet, dass die Ressourcenauslastung in einem längeren Zeitintervall kontinuierlich sinkt oder steigt. Dann kann es sinnvoll sein, eine sogenannte exponentielle Glättung zweiter Ordnung durchzuführen. Mit diesem Verfahren werden die Trends berücksichtigt und eine besonders schnelle Anpassung der Datenraten der ausgehenden Datenströme an die Ressourcenauslastung der Empfängereinheiten ist möglich.
-
Vorteilhafterweise schicken die Empfängereinheiten ihre jeweiligen Ressourcenauslastungen in denjenigen Zeitintervallen an die Servereinheit, in denen sich die jeweiligen Ressourcenauslastungen ändern. Die Informationen der Ressourcenauslastung werden also erst dann verschickt, wenn die Ressourcenauslastung sich tatsächlich ändert.
-
Gleichfalls kann es von Vorteil sein, wenn die Empfängereinheiten ihre jeweilige Ressourcenauslastung in regelmäßigen oder sich ändernden Zeitintervallen, beispielsweise von 0,5 s bis 20 s, insbesondere von 1 s bis 15 s, an die Servereinheit schicken. Es wird somit eine stetige Anpassung der Datenraten der ausgehenden Datenströme an die Ressourcenauslastung der Empfängereinheiten realisiert.
-
Wenn eine festgelegte Anzahl an komprimierten ausgehenden Datenströmen mit jeweils unterschiedlichen Datenraten und unterschiedlich vordefinierten Werten zur Verfügung gestellt wird, wird vorteilhafterweise eine hohe oder sogar zu hohe Ressourcenauslastung der Servereinheit selbst verhindert.
-
Bei einer unbegrenzten Anzahl an ausgehenden Datenströmen würden selbst bei der Servereinheit Grenzen bei den Ressourcen erreicht. Daher wird vorteilhafterweise die Anzahl der ausgehenden Datenströme festgelegt, welche aber selbstverständlich von Servereinheit zu Servereinheit unterschiedlich sein kann.
-
Von besonderem Vorteil ist es, wenn eine 1:1 Zuordnung zwischen jeder Empfängereinheit und genau einem, jeweils unterschiedlichen, komprimierten ausgehenden Datenstrom vorgenommen wird. Eine solche Zuordnung bietet sich insbesondere bei einer relativ kleinen Videokonferenz von beispielsweise bis zu 10 aktiven Teilnehmern an. Hierbei kann jeder ausgehende Datenstrom an die jeweilige Bandbreitengegebenheit des zugeordneten Teilnehmers angepasst werden, wie dies weiter unten näher erläutert wird. Passive Teilnehmer der Videokonferenz können den ausgehenden Datenstrom wählen, dessen Datenrate ihrer Bandbreite am nächsten liegt.
-
Bei der genannten 1:1 Zuordnung spricht man auch von einer 1:1 Abbildung (oder 1:1 Mapping), d.h. eine bestimmte Anzahl an Datenströmen steht einer gleichen Anzahl Empfängereinheiten gegenüber. Dabei ist unmittelbar ersichtlich, dass jede Empfängereinheit einen ausgehenden Datenstrom mit einer Datenrate zugewiesen bekommt, der nur auf seine Ressourcenauslastung angepasst wird. Die Datenrate jeweils eines ausgehenden Datenstroms muss dabei nur auf eine einzige Empfängereinheit angepasst werden. Z.B. wird bei einer steigenden Ressourcenauslastung (d.h. die Empfängereinheit hat weniger Ressourcen zu Verfügung) die Datenrate des Datenstroms so angepasst, dass die Datenrate des ausgehenden Datenstromes sinkt.
-
Natürlich kann auch hier die Ressourcenauslastung der Empfängereinheit vorausberechnet werden, um so eine möglichst schnelle Anpassung der Datenrate des ausgehenden Datenstroms an die Ressourcenauslastung zu erhalten. Dies geschieht beispielsweise mittels der zuvor genannten exponentiellen Glättung. Dazu schickt die Empfängereinheit den aktuellen „Status“ seiner Ressourcenauslastung an die Servereinheit, diese berechnet dann die zu erwartende Ressourcenauslastung der Empfängereinheit voraus und passt dementsprechend die Datenrate des ausgehenden Datenstroms an. Dieser Vorgang wiederholt sich kontinuierlich, bis die Servereinheit oder eine Empfängereinheit die Echtzeitkommunikation beendet.
-
Diese Zuordnung kann auch nur temporär erfolgen, wie im Folgenden erläutert wird. Als einfaches Beispiel sei angenommen, dass zwei ausgehende Datenströme a und b sowie zwei Empfängereinheiten c und d vorhanden sind. Die Empfängereinheit c hat eine Bandbreite von 500 kbit/s. Die tatsächliche Bandbreite kann um diesen Wert schwanken, wird jedoch durch exponentielle Glättung vorausberechnet, und die Datenrate des ausgehenden Datenstromes a wird darauf angepasst. Selbiges gilt für die Empfängereinheit d, die eine Bandbreite von 900 kbit/s aufweist. Hier wird die Datenrate des ausgehenden Datenstromes b angepasst. In einem Szenario kann es nun vorkommen, dass die Bandbreite der Empfängereinheit c bis auf einen Wert über 900 kbit/s ansteigt, z.B. 1200 kbit/s. Nun ist es vorteilhaft, wenn bei einem Aufeinandertreffen der beiden Bandbreiten von den Empfängereinheiten c und d die Datenströme übergeben werden. D.h. der ausgehende Datenstrom a mit einem anfänglichen Wert der Datenrate von 500 kbit/s steigt anfangs mit der verfügbaren Bandbreite der Empfängereinheit c. Wenn der Wert der Datenrate des ausgehenden Datenstromes a 900 kbit/s erreicht hat, wechseln die Datenströme die Empfängereinheiten. Empfängereinheit c wird nun der ausgehende Datenstrom b zugewiesen. Da b auf 900 kbit/s angepasst ist, steigt jetzt diese Datenrate des ausgehenden Datenstroms b weiter bis auf 1200 kbit/s. Der ausgehende Datenstrom a mit einer Datenrate von 900 kbit/s kann nun auf dieser Höhe verbleiben, da die Empfängereinheit d nur diese Bandbreite zu Verfügung hat. Gleiches geschieht natürlich bei einem Absinken einer Bandbreite oder für mehr als nur zwei Empfängereinheiten und/oder ausgehende Datenströme. Vorteilhaft daran ist, dass somit die Datenraten der jeweiligen ausgehenden Datenströme nur in einem kleineren Bereich variiert werden müssen. Dies spart Ressourcen in der Servereinheit ein.
-
Wenn eine zusätzliche Empfängereinheit hinzukommt, welche keinem ausgehenden Datenstrom mittels der 1:1 Zuordnung zugeordnet ist oder wird, wird dieser Empfängereinheit vorzugsweise ein ausgehender Datenstrom zugewiesen, dessen Datenrate einer verfügbaren Datenrate am nächsten ist. Zusätzliche Teilnehmer sind bei einer Videokonferenz zweckmäßigerweise passive Teilnehmer, die lediglich der Videokonferenz zuschauen, ohne eigene Beiträge zu liefern; über eine eigene Sendeeinheit müssen diese passiven Teilnehmer daher nicht verfügen. Um die genannte Zuweisung zu realisieren, gibt diese zusätzliche Empfängereinheit der Servereinheit Feedback über ihre gerade zur Verfügung stehende Bandbreite. Aus dieser Information berechnet die Servereinheit jeweils die Differenz zu jedem der zur Verfügung stehenden ausgehenden Datenströme und daraus – um negative Vorzeichen zu vermeiden – den entsprechenden Betrag dieser Differenzen. Der zusätzlichen Empfängereinheit wird nun derjenige ausgehende Datenstrom zugewiesen, welcher zu der zusätzlichen Empfängereinheit die geringste Differenz aufweist. Dies kann auch für mehrere zusätzliche Empfängereinheiten geschehen und wird kontinuierlich, oder zumindest in Zeitintervallen, durchgeführt. Eine derartige Zuordnung von einer zusätzlichen Empfängereinheit zu einem ausgehenden Datenstrom ist nicht notwendigerweise konstant; vielmehr kann vorteilhafterweise eine zusätzliche Empfängereinheit zu einem anderen ausgehenden Datenstrom wechseln, wenn die zugehörige Differenz geringer geworden ist.
-
Ebenfalls von Vorteil ist es, wenn die komprimierten ausgehenden Datenströme unangepasst an die besagten zusätzlichen Empfängereinheiten gesendet werden. Dies spart Ressourcen auf Seiten der Servereinheit ein, welche entsprechend zur Anpassung anderer ausgehender Datenströme verwendet werden können.
-
Eine vorteilhafte Weiterbildung der Erfindung sieht vor, dass die ausgehenden Datenströme zusätzlicher Empfängereinheiten, die keine 1:1 Zuordnung erfahren, durch mindestens einen weiteren Algorithmus derart angepasst werden, dass ein gemeinsamer angenäherter Optimalwert für die Datenraten der ausgehenden Datenströme ermittelt wird. Hierbei ist es von Vorteil, wenn bei besagtem weiteren Algorithmus zur Ermittlung eines angenäherten Optimalwerts verschiedene Empfängereinheiten und/oder zumindest ein ausgehender Datenstrom mit dem dazugehörigen vordefinierten Wert für die Datenrate einen spezifischen Gewichtungsfaktor erhalten, mittels dem der angenäherte Optimalwert von der Servereinheit berechnet wird. Beispielsweise wird bei zwei zusätzlichen Empfängereinheiten die Datenrate des ausgehenden Datenstroms an einen Mittelwert aus den beiden Ressourcenauslastungen, insbesondere Bandbreiten, von zwei Empfängereinheiten angepasst. Es gibt hierbei verschiedene Möglichkeiten, diesen Mittelwert zu berechnen. Bei einer Berechnung des arithmetischen Mittels werden beide Empfängereinheiten jeweils mit einem Gewichtungsfaktor von 0,5 gewichtet. Die Summe der einzelnen Gewichtungsfaktoren muss immer 1 ergeben.
-
Eine weitere Möglichkeit besteht darin, dass auch der vordefinierte Wert in die besagte Anpassung mit eingeht. So könnte z.B. ein arithmetisches Mittel aus den beiden zur Verfügung stehenden Ressourcen (z.B. Bandbreiten) und dem vordefiniertem Wert gebildet werden. Somit weist jeder der drei Gewichtungsfaktoren einen Wert von 1/3 auf.
-
Ebenfalls ist es möglich, dass die Gewichtungsfaktoren untereinander verschieden sind. So ist es denkbar, dass die Datenrate eines ausgehenden Datenstroms näher an eine von beispielsweise zwei Empfängereinheiten angepasst wird, z.B. an diejenige Empfängereinheit, die von vorneherein näher an dem vordefinierten Wert war.
-
Beispielhaft könnten die Gewichtungsfaktoren 0,6, 0,1 und 0,3 betragen. Weiterhin sei beispielhaft angenommen, dass die Bandbreite einer ersten Empfängereinheit (Gewichtungsfaktor 0,6) 1000 kbit/s, einer zweiten Empfängereinheit (Gewichtungsfaktor 0,1) 500 kbit/s und der vordefinierte Wert (Gewichtungsfaktor 0,3) 700 kbit/s sei. Dann ergibt sich mit den genannten Gewichtungsfaktoren eine Datenrate des ausgehenden Datenstroms von 860 kbit/s ([1000·0,6 + 700·0,3 + 500·0,1] kbit/s). Bei jeder zusätzlichen Empfängereinheit kommt ein weiterer Gewichtungsfaktor hinzu. Denkbar ist auch, dass ein Gewichtungsfaktor einer Empfängereinheit auf „Null“ gesetzt wird. Dann entfällt die Anpassung eines ausgehenden Datenstroms an diese Empfängereinheit. Stattdessen wird dieser Empfängereinheit vorteilhafterweise ein vorzugsweise ausgehender Datenstrom zugewiesen, dessen Datenrate auf die zur Verfügung stehende Bandbreite der Empfängereinheit ausgelegt ist. Vorzugsweise wird ein ausgehender Datenstrom mit einer Datenrate zugewiesen, die unterhalb einer verfügbaren Bandbreite der Empfängereinheit liegt, um so den ausgehenden Datenstrom ohne Beeinträchtigungen bei der Empfängereinheit empfangen und/oder verarbeiten zu können.
-
Die zuvor genannten verschiedenen Varianten bieten sich beispielsweise an, wenn passive Teilnehmer eine Videokonferenz verfolgen wollen, für die keine 1:1 Zuordnung sinnvoll ist. Bei einer großen Anzahl an passiven Teilnehmern können die ausgehenden Datenströme hinsichtlich ihrer (dann konstant bleibenden) Datenrate angepasst werden, wobei die passiven Teilnehmer die komprimierte(n) Datenströme empfangen.
-
Vorgeschlagen wird ferner eine Servereinheit, insbesondere für eine audio- und videobasierte Echtzeitkommunikation, mit zumindest einer Schnittstelle zum Empfangen und/oder Senden von Daten, mit einer Verarbeitungseinheit, und zumindest einer Speichereinheit. Dabei ist die zumindest eine Schnittstelle zum Empfangen und/oder Senden von Daten im Allgemeinen durch eine Netzwerkkarte ausgebildet. Mittels der Netzwerkkarte wird üblicherweise eine Verbindung zum Internet über Kabel oder WLAN oder zu einem lokalen Netzwerk hergestellt. Eine Verarbeitungseinheit umfasst normalerweise den Prozessor der Servereinheit, mittels dem das Verfahren zur Vorausberechnung der Ressourcenauslastung ausgeführt wird. Aber auch ein Betriebssystem und alle anderen für den Betrieb der Servereinheit relevanten Prozesse werden vorzugsweise durch diesen Prozessor ausgeführt. Die besagte zumindest eine Speichereinheit ist ein in einer Servereinheit übliches Speichermedium, z.B. umfassend Festplatten oder Arbeitsspeicher. In der Speichereinheit sind die zur Durchführung des Verfahrens auf Seiten der Servereinheit benötigten Software-Programme abgelegt. Auch die eingehenden Datenströme können in der genannten oder einer anderen Speichereinheit, einschließlich einem Arbeitsspeicher, abgespeichert werden.
-
Der Standort der Servereinheit ist weitestgehend beliebig. Wenn die Servereinheit an das Internet angebunden ist, kann diese weit von den Sendereinheiten und/oder Empfängereinheiten entfernt liegen, insbesondere können sich die Sendereinheiten, die Empfängereinheiten und/oder die Servereinheit in unterschiedlichen Ländern befinden. Falls die Echtzeitkommunikation dagegen nur z.B. auf eine große Firma beschränkt ist, kann die Servereinheit auch in einem speziellen Serverraum der Firma aufgestellt sein.
-
Erfindungsgemäß wird dabei mittels der Servereinheit auf Basis einer entsprechend programmierten Software, welche ebenfalls Teil der Erfindung ist (s. Anspruch 20), das oben beschriebene Verfahren zur Anpassung eines zu übertragenden Datenstroms an eine vorhandene Ressourcenauslastung durchgeführt. Ebenfalls Teil der Erfindung ist ein Computerprogramm für einen Computer einer Empfängereinheit. Dieses Computerprogramm beinhaltet beispielsweise die Funktion, die Ressourcenauslastung der Empfängereinheit auszuwerten und der Servereinheit bereitzustellen. Das beanspruchte Computerprogrammprodukt gemäß Anspruch 20 kann hierbei auf einem Medium vorliegen (beispielsweise einer CD, einem USB-Stick, etc.) oder direkt in einen Speicher der Servereinheit oder einer Empfängereinheit geladen werden, beispielsweise über das Internet.
-
Weitere Vorteile der Erfindung sind in den nachfolgenden Ausführungsbeispielen beschrieben. Es zeigen:
-
1 eine schematische Darstellung eines Verfahrens zur Anpassung eines zu übertragenden Datenstroms mit vier verschiedenen komprimierten ausgehenden Datenströmen,
-
2 ein Datenraten-Zeit-Diagramm von verfügbaren Ressourcen von vier Empfängereinheiten,
-
3 ein Datenraten-Zeit-Diagramm zur Darstellung von mit der Zeit angepassten ausgehenden Datenströmen, und
-
4 ein Datenraten-Zeit-Diagramm mit vier ausgehenden Datenströmen und einer zur Verfügung stehenden Bandbreite einer Empfängereinheit.
-
In 1 ist ein schematischer Ablauf eines Software-gestützten Verfahrens zur Anpassung eines zu übertragenden Datenstrom Computerprogrammprodukts mit vier verschiedenen komprimierten ausgehenden Datenströmen 4 gezeigt. Vier Sendereinheiten 3 senden jeweils einen eingehenden Datenstrom 2 (der Übersicht halber ist nur jeweils ein entsprechendes Bezugszeichen verwendet worden) mit Video- und vorzugsweise Audiosignalen an eine Servereinheit 1. In der Servereinheit 1 werden die eingehenden Datenströme 2 zu einem Mosaikbild 7 zusammengefügt, welches anschließend in der Servereinheit 1 zu vier verschieden ausgehenden Datenströmen 4a–d mit unterschiedlichen Datenraten komprimiert wird. Die komprimierten ausgehenden Datenströme 4a, 4b, 4c und 4d werden an die Empfängereinheiten 5a, 5b, 5c bzw. 5d verschickt. Die komprimierten ausgehenden Datenströme 4a–d und die Empfängereinheiten 5a–d bilden somit jeweils eine 1:1 Zuordnung. Diese 1:1 Zuordnung bietet sich bei einer relativ kleinen Videokonferenz mit bis zu ca. 10 aktiven Teilnehmern an.
-
Über Datenverbindungen, vorzugsweise Internet-gestützte Datenverbindungen, schicken die Empfängereinheiten 5a–d jeweils Informationen 8 über ihre Ressourcenauslastung – nach deren Ermittlung mit Hilfe eines entsprechenden Computerprogramms in der Empfängereinheit – an die Servereinheit 1 zurück. Aus diesen Informationen 8 wird die Ressourcenauslastung der jeweiligen Empfängereinheiten von der Servereinheit 1 Software-gestützt vorausberechnet.
-
Die gestrichelte Linie deutet an, dass der komprimierte Datenstrom 4a zu einer Sendereinheit 3 zurückgeschickt wird. Die Sendereinheit 3 ist somit eine Teilnehmereinrichtung, in der eine Sendereinheit und eine Empfängereinheit enthalten sind. Im Falle einer Videokonferenz sieht diese Sendereinheit 3 auch die anderen Sendereinheiten 3 bzw. im Falle einer Videokonferenz die Teilnehmer. Der dieser Sendereinheit 3 zugehörige Teilnehmer kann dann in bekannter Weise auf die anderen Teilnehmer reagieren, falls z.B. eine Frage gestellt wird.
-
Ebenfalls gezeigt ist, dass eine zusätzliche Empfängereinheit 6 an der Videokonferenz teilnimmt. Diese zusätzliche Empfängereinheit 6, die beispielhaft für einen von möglicherweise vielen passiven Teilnehmern einer Videokonferenz steht, erhält einen komprimierten ausgehenden Datenstrom 4d zugewiesen. Dabei wird die Datenrate des komprimierten ausgehenden Datenstroms 4d entweder nicht oder nach einem oben beschriebenen Verfahren an die Ressourcenauslastung der zusätzlichen Empfängereinheit 6 angepasst.
-
In 2 ist ein Diagramm von verfügbaren Ressourcen von vier Empfängereinheiten gezeigt. Auf der Ordinatenachse ist die Datenrate 9 mit einem Wertebereich von 0 kbit/s bis 1400 kbit/s aufgetragen. Auf der Abszissenachse ist ein Zeitintervall 10 angegeben. In diesem Beispiel ist das Zeitintervall von 0 bis 21 aufgetragen. Dabei kann z.B. das Zeitintervall Sekunden darstellen (wobei natürlich auch andere Zeiteinteilungen möglich sind). In diesem Fall würde das Diagramm die verfügbaren Ressourcen der Empfängereinheiten 11 in einem Zeitraum von 21 Sekunden zeigen.
-
Des Weiteren sind vier Empfängereinheiten 11a–d mit deren verfügbaren Ressourcen gezeigt. Die Empfängereinheit 11a weist dabei zu jeder Zeit in dem Diagramm die höchste verfügbare Ressource auf. Die verfügbare Ressource, insbesondere deren Bandbreite, liegt dabei ungefähr im Bereich von 700 kbit/s bis 900 kbit/s. Die jeweiligen anderen Empfängereinheiten 11b–d weisen geringere verfügbare, mit der Zeit schwankende Ressourcen auf.
-
In 3 ist ein Diagramm der Datenraten von angepassten ausgehenden Datenströmen gezeigt. Dabei sind der Ordinatenachse und der Abszissenachse wieder die gleichen Wertebereiche und Variablen wie in 2 zugewiesen. Außerdem sind vier ausgehende Datenströme 12a–d dargestellt. Diese vier ausgehenden Datenströme 12a–d bilden mit den vier Empfängereinheiten 11a–d aus 2 jeweils eine 1:1 Zuordnung: Der Empfängereinheit 11a ist der ausgehende Datenstrom 12a zugeordnet, der Empfängereinheit 11b ist der ausgehende Datenstrom 12b zugeordnet, usw.
-
Ebenfalls ist zu erkennen, dass den jeweiligen ausgehenden Datenströmen 12a–d ein vordefinierter Wert bei der Zeit „Eins“ zugeordnet ist. Wie zu sehen ist, sind die vordefinierten Werte für den ausgehenden Datenstrom 12a 1500 kbit/s, für den ausgehenden Datenstrom 12b 1100 kbit/s, für den ausgehenden Datenstrom 12c 700 kbit/s und für den ausgehenden Datenstrom 12d 300 kbit/s. Damit weist der ausgehende Datenstrom 12d die schlechteste Qualität auf. Dies macht sich dadurch bemerkbar, dass z.B. die Auflösung oder die Farbtiefe (im Falle einer Videokonferenz) geringer als bei den anderen Datenströmen ist.
-
Gemäß der 2 wird eine iterative Anpassung der jeweiligen ausgehenden Datenströme 12a–d an die zur Verfügung stehenden Ressourcen der Empfängereinheiten 11a–d aus 2 durchgeführt. Dieses Verfahren wird am Beispiel des ausgehenden Datenstroms 12a und der Empfängereinheit 11a erläutert. Für die anderen ausgehenden Datenströme 12b–d und Empfängereinheiten 11b–d wird bevorzugt analog verfahren.
-
Wie bereits erwähnt beginnt der ausgehende Datenstrom 12a mit einem vordefinierten Wert für die Bandbreite von 1500 kbit/s. Die Empfängereinheit 11a hat zu diesem Zeitpunkt (Zeitpunkt „1“ in 2) allerdings nur eine Bandbreite (Bandbreite soll hier nicht einschränken, sondern nur als Beispiel anzusehen sein) von 700 kbit/s zur Verfügung. Aufgrund dieser Informationen passt die Servereinheit 1 die Datenrate des ausgehenden Datenstroms 12a an die zur Verfügung stehenden Ressourcen der Empfängereinheit 11a iterativ in mehreren Regelschritten „nach unten“ an. Dies geschieht zu Beginn schneller als zu einem späteren Zeitpunkt, wenn sich die Datenraten schon weiter angenähert haben. Eine Anpassung der Datenrate des ausgehenden Datenstroms 12a erfolgt sukzessive in mehreren Regelschritten aufgrund der kontinuierlich oder diskontinuierlich von der Empfängereinheit 11a der Servereinheit 1 zur Verfügung gestellten Informationen über die aktuell bei der Empfängereinheit 11a verfügbare Bandbreite. Diese Regelung der Datenratenanpassung erfolgt beispielsweise zu jedem in den 2 und 3 markierten Zeitpunkten (vorliegend also zu 21 Zeitpunkten).
-
Gegen Ende des in den 2 und 3 gezeigten Zeitintervalls weisen dann schließlich beide Bandbreiten ungefähr den gleichen Wert auf. So liegt die zur Verfügung stehende Bandbreite der Empfängereinheit 11a ca. bei 850 kbit/s, und die Datenrate des ausgehenden Datenstroms 12a bei ca. 830 kbit/s (s. jeweils die Zeitpunkte „21“ in den 2 und 3). Diese Anpassung wurde z.B. mit dem Verfahren der exponentiellen Glättung durchgeführt.
-
In der 4 ist ein Diagramm mit vier ausgehenden Datenströmen 12a–d und einer zur Verfügung stehenden Bandbreite einer Empfängereinheit 11 gezeigt. Der Ordinaten- und Abszissenachse sind wieder die gleichen Variablen wie in 2 und 3 zugewiesen. Den beiden ausgehenden Datenströmen 12c und 12d mit einem vordefinierten Wert von 900 kbit/s bzw. 700 kbit/s ist vorliegend keine Empfängereinheit zugewiesen. Diese Datenströme werden daher nicht angepasst, sondern bleiben konstant auf dem jeweiligen vordefinierten Wert. Der ausgehende Datenstrom 12a weist eine Datenrate von 500 kbit/s und der ausgehende Datenstrom 12b weist eine Datenrate von 300 kbit/s auf. Die Empfängereinheit 11 hat eine zur Verfügung stehende Bandbreite (wieder nur als Beispiel einer Ressource) von 400 kbit/s, welche anfangs leicht ansteigt und somit eine schwankende Ressourcenauslastung aufweist. Die Servereinheit 1 berechnet die Differenzen der gerade verfügbaren Bandbreiten einer jeden Empfängereinheit 11 zu jedem ausgehenden Datenstrom 12a–d. Es wird dann derjenige ausgehende Datenstrom 12 ausgewählt, welcher die geringste Differenz zu der verfügbaren Bandbreite der Empfängereinheit 11 aufweist. Anders ausgedrückt bedeutet dies, dass derjenige ausgehende Datenstrom 12a–d ausgewählt wird, welcher am nächsten an der verfügbaren Bandbreite der Empfängereinheit 11 liegt. In dem Diagramm der 4 ist anfangs der ausgehende Datenstrom 12a zur momentan zur Verfügung stehenden Bandbreite der Empfängereinheit 11 am nächsten. Daher wird der ausgehende Datenstrom 12a „nach unten“ angepasst. Ab dem Zeitpunkt „8“ ist jedoch der ausgehende Datenstrom 12b näher an der verfügbaren Bandbreite der Empfängereinheit 11. Ab diesem Zeitpunkt wird der ausgehende Datenstrom 12b an die verfügbare Ressource der Empfängereinheit 11 angepasst. Der ausgehende Datenstrom 12a passt sich daraufhin wieder seinem vordefinierten Wert von 500 kbit/s an.
-
Mittels der Erfindung ist es möglich, sowohl aktiven als auch passiven Teilnehmern einer Videokonferenz eine deutlich bessere Videoqualität zur Verfügung zu stellen.
-
Die vorliegende Erfindung ist nicht auf die dargestellten und beschriebenen Ausführungsbeispiele beschränkt. Abwandlungen im Rahmen der Patentansprüche sind ebenso möglich wie eine Kombination der Merkmale, auch wenn diese in unterschiedlichen Ausführungsbeispielen dargestellt und beschrieben sind.
-
Bezugszeichenliste
-
- 1
- Servereinheit
- 2
- Eingehender Datenstrom
- 3
- Sendereinheit
- 4
- Ausgehender Datenstrom
- 5
- Empfängereinheit
- 6
- Zusätzliche Empfängereinheit
- 7
- Mosaikbild
- 8
- Informationen über Ressourcenauslastung
- 9
- Datenraten
- 10
- Zeitintervall
- 11
- Verfügbare Ressource von einer Empfängereinheit
- 12
- Datenrate des ausgehenden Datenstroms
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- DE 112012001770 T5 [0002]
- EP 2498491 A1 [0003]