DE102018131617B4 - Verfahren zum Streamen von Datenpaketen zwischen einem Sender und wenigstens einem Empfänger über ein Mobilfunknetzwerk - Google Patents
Verfahren zum Streamen von Datenpaketen zwischen einem Sender und wenigstens einem Empfänger über ein Mobilfunknetzwerk Download PDFInfo
- Publication number
- DE102018131617B4 DE102018131617B4 DE102018131617.8A DE102018131617A DE102018131617B4 DE 102018131617 B4 DE102018131617 B4 DE 102018131617B4 DE 102018131617 A DE102018131617 A DE 102018131617A DE 102018131617 B4 DE102018131617 B4 DE 102018131617B4
- Authority
- DE
- Germany
- Prior art keywords
- data
- transmission
- data packets
- selective
- priority
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000001413 cellular effect Effects 0.000 title claims abstract 3
- 230000005540 biological transmission Effects 0.000 claims abstract description 184
- 230000002123 temporal effect Effects 0.000 claims abstract description 7
- 238000012544 monitoring process Methods 0.000 claims abstract description 5
- 239000003550 marker Substances 0.000 claims description 104
- 239000000872 buffer Substances 0.000 claims description 84
- 238000011156 evaluation Methods 0.000 claims description 29
- 230000007704 transition Effects 0.000 claims description 11
- 230000001960 triggered effect Effects 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 6
- 230000001419 dependent effect Effects 0.000 claims description 6
- 230000003111 delayed effect Effects 0.000 claims description 5
- 230000006872 improvement Effects 0.000 claims description 4
- 230000036961 partial effect Effects 0.000 claims description 2
- 238000003909 pattern recognition Methods 0.000 claims description 2
- 238000004393 prognosis Methods 0.000 claims 1
- 230000001629 suppression Effects 0.000 claims 1
- 238000010295 mobile communication Methods 0.000 description 40
- 230000002829 reductive effect Effects 0.000 description 12
- 230000003044 adaptive effect Effects 0.000 description 10
- 230000009471 action Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 8
- 238000005562 fading Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000001934 delay Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 241000282414 Homo sapiens Species 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 239000000969 carrier Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 2
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 241001136792 Alle Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000008260 defense mechanism Effects 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 210000000697 sensory organ Anatomy 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000004454 trace mineral analysis Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2416—Real-time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Verfahren zum Streamen von Datenpaketen eines Audio- und/oder Videostroms zwischen einem Sender und wenigstens einem Empfänger über ein Mobilfunknetzwerk, wobei der Audio- und/oder Videostrom in eine Vielzahl von Szenen unterteilbar ist, die jeweils zeitlichen Teilabschnitten des gesamten Audio- und/oder Videostroms entsprechen, mit den folgenden Schritten:a. Überwachen des Datenflusses zwischen Sender und Empfänger,b. Bewerten, ob der aktuelle Datenfluss ausreichend ist, um die für die Streaming-Applikation definierten Verzögerungsanforderungen zu erfüllen,c. und, für den Fall, dass der aktuell vorliegende Datenfluss der Streamingverbindung als nicht ausreichend bewertet wird, selektives Senden und/oder Dekodieren der Datenpakete einer Sequenz von Datenpaketen unter Berücksichtigung von mit der Sequenz von Datenpaketen assoziierten Prioritätsmarkern, wobei die Sequenz von Datenpaketen einer Szene des Audio- und/oder Videostroms entspricht.
Description
- Die Erfindung betrifft ein Verfahren zum Streamen von Datenpaketen zwischen einem Sender und wenigstens einem Empfänger über ein Mobilfunknetzwerk.
- Mobilkommunikationssysteme verzeichnen einen kontinuierlichen Zuwachs an Übertragungen von Streaming-Diensten, deren Qualität auch ich Zukunft gesichert werden muss. Kenngrößen für die Qualität von Streaming-Diensten sind die Verzögerung zwischen Anforderung und Beginn der Darstellung, die Häufigkeit des Auftretens von Rebuffering-Phasen aufgrund eines Leerlaufens des empfängerseitigen Pufferspeichers (Buffer), die erforderliche Zeit zum Füllen des Puffers und damit die Unterbrechungsdauer, sowie die Häufigkeit einer nicht durch den Teilnehmer durchgeführte Beendigung des Dienstes. Ein wesentlicher Aspekt ist die Aufrechterhaltung der Echtzeitanforderungen, um für bestimmte Anwendungen eine Darstellung am Empfängerendgerät nahezu gleichzeitig zum Ablauf des Geschehnisses zu ermöglichen.
- In Mobilkommunikationsnetzen werden die in einer Zelle verfügbaren Übertragungsressourcen auf die zu bedienenden Teilnehmer aufgeteilt. Aufgrund von örtlichen und zeitlichen Fluktuationen können temporäre Überlastsituationen auftreten, in denen die einem Teilnehmer zugewiesenen Übertragungsressourcen nicht mehr ausreichen, um die erforderliche Datenrate für das kontinuierliche Füllen des Datenpuffers des mobilen Endgerätes aufrechtzuerhalten.
- Zur Vermeidung der obigen Überlastsituationen werden in heutigen Mobilkommunikationssystemen bereits diverse Maßnahmen ergriffen. Über eine Quality-of-Service (QoS) Steuerung werden unterschiedliche Dienste mit ihren jeweiligen Anforderungen in einzelne Klassen mit unterschiedlichen Prioritäten eingeteilt [R. Müllner, C.F. Ball, K. Ivanov, F. Treml, G. Spring, „Quality of Service in GPRS/EDGE Mobile Radio Networks“, IEEE VTC 2004, Mailand]. Über eine Zugangskontrolle („Admission Control“) wird der Aufbau eines neuen Dienstes nur dann zugelassen, wenn seine QoS-Anforderungen erfüllt werden können. Hierfür können auch bestehende Dienste geringerer Priorität in ihrer Dienstgüte herabgestuft werden. Dem niedrigeren Dienst kann eine geringere Anzahl an Übertragungsressourcen zugeteilt werden, wodurch sich die für diesen Dienst erreichbare Datenrate reduziert. Die durch die Maßnahme frei gewordenen Ressourcen stehen dann für Dienste höherer Priorität zur Verfügung um die laut QoS-Anforderungen benötigten Datenraten zu ermöglichen.
- Alternativ können bestehende Verbindungen bzw. Verbindungsanfragen auch in andere Zellen, die weniger ausgelastet sind, verschoben werden. In der Regel führt dies jedoch dazu, dass die Kommunikation über eine weiter entfernte Basisstation durchgeführt wird, was zu einer Erhöhung der Interferenzen auf der Luftschnittstelle führen kann, da der abstandbedingte höhere Pfadverlust typischerweise durch eine Erhöhung der Sendeleistung kompensiert werden muss. Aufgrund der Mehrwegeausbreitung in Mobilkommunikationssystemen und der gegenseitigen Störung durch Interferenzen können auch übertragungskanalbedingte Beeinträchtigungen in der Datenrate auftreten.
- Die Übertragungsbedingungen über die Luftschnittstelle verschlechtern sich in der Regel, je weiter sich ein Teilnehmer von der versorgenden Basisstation hin zum Zellrand bewegt [R. Müllner, C.F. Ball, K. Ivanov, J. Lienhart, P. Hric, „Contrasting Open-Loop and Closed-Loop Power Control Performance in UTRAN LTE Uplink by UE Trace Analysis“, IEEE ICC 2009, Dresden]. Hierbei steigt die Bit- und Blockfehlerrate an und es müssen härter kodierte Modulations- und Kodierschemas für die Übertragung über die Luftschnittstelle verwendet werden, deren Durchsatzraten an Nutzdaten bei gleicher Ressourcenanzahl entsprechend geringer sind.
- Aufgrund der zeitlichen und örtlichen Schwankungen der Teilnehmerzahl, Übertragungsbedingungen und unterschiedlichen Verkehrsprofilen der Dienste können in Mobilkommunikationssystemen Situationen auftreten, in denen nicht genügend Daten in den Puffern der Endgeräte enthalten sind und es zu Unterbrechung im Abspielen von Streaming-Diensten kommt. Dies tritt nicht nur in den heutigen Netzen der zweiten Generation (2G), dritten Generation (3G) und Long Term Evolution (LTE) / LTE-Advanced (LTE-A) des 3GPP Standards auf, sondern wird auch zukünftige Netze der fünften Generation (5G) oder darüber hinaus betreffen, weil mit steigender Bandbreite auch die Dienstanforderungen ansteigen werden und örtliche und zeitliche Fluktuationen der Teilnehmer, die gleichzeitig bedient werden möchten, sowie Unterschiede in der Qualität des Übertragungskanals immer auftreten werden.
- Ein Beispiel ist die Übertragung eines Fußballspiels während einer Weltmeisterschaft, bei der gleichzeitig eine hohe Menge an Daten für hohe Bildschirmauflösung an sehr viele Nutzer bei unterschiedlichsten Kanalbedingungen übertragen werden soll. Die Daten müssen nahezu in Echtzeit übertragen werden, da ein im Vergleich zu alternativen Übertragungswegen (Satelliten- oder Kabelfernsehen) deutlich verzögertes Abspielen des Fußballspiels auf dem mobilen Endgerät vom Zuschauer als störend empfunden werden wird.
- Die Übertragung eines Fußballspiels ist ein Beispiel aus dem Infotainment-Bereich, der geringere Qualitätsanforderungen hat, als die im Bereich der Fahrzeug-Kommunikation durchgeführten Comfort-Applikationen, Traffic Efficiency Applikationen oder Sicherheitsdienste [C. Lottermann, M. Botsov, P. Fertl, R. Müllner, „Performance Evaluation of Automotive Off-board Applications in LTE Deployments“, IEEE Vehicular Networking Conference (VNC) 2012, Seoul]. Letztere beinhalten periodische Übertragungen von Daten aus dem Fahrzeug, die über Sensoren oder Kameras aufgenommen wurden, an einen Server im Internet. Diese werden dort weiterverarbeitet und in veränderter Form wieder an das Fahrzeug geschickt [Claudia Campolo, Antonella Molinaro, Riccardo Scopigno, Vehicular ad hoc Networks, Springer-Verlag, 2015, ISBN 978-3-319-15496-1, http://www.springer.com/de/book/9783319154961]. Zur Reduzierung der dadurch bedingten Datenflut wurden bereits Verfahren entwickelt, um zu vermeiden, dass bereits erfasste Warnursachen und Warnhinweise nicht von mehreren Fahrzeugen nahezu zeitgleich übertragen werden. Hierdurch lässt sich die Last auf den Datenübertragungswegen reduzieren, um eine schnellere Übertragung wichtiger Informationen zu garantieren. Diese Maßnahmen genügen jedoch nicht, um bei einer zu erwartenden hohen Anzahl an zukünftigen Streaming-Applikationen die Echtzeitanforderungen des Streams zumindest in entscheidenden Momenten aufrechtzuerhalten.
- Es sind ferner Lösungen bekannt, die eine Anpassung der Audio- oder Videoenkodierung an die verfügbare Bandbreite vorsehen. Je nach verfügbaren Übertragungsressourcen wird hier die ursprüngliche Datengröße stärker oder weniger stark reduziert. Allerdings ist auch bei einer solchen Vorgehensweise eine Aufrechterhaltung der Echtzeitanforderungen eines Videos nicht zwingend gegeben.
- Abhängig von der aktuellen Last des Mobilkommunikationssystems werden nach dem heutigen Stand der Technik unterschiedliche Sprachcodecs für mobile Telefonie zugeteilt. In Systemen der zweiten Generation (2G) können z.B. bei Überschreiten eines Lastschwellwertes sogenannte Half-Rate Sprachcodecs verwendet werden. Die für die Sprachenkodierung verwendete Datenrate kann bei Adaptiven Multi-Raten (AMR) Codecs anhand der vorherrschenden Kanalbedingungen ausgewählt werden und somit die für den Fehlerschutz erforderliche Menge an Bits bei der Kanalenkodierung optimiert werden. Hart-codierte Sprachcodecs verfügen über einen hohen Fehlerschutz für die Übertragung über die Luftschnittstelle, decken aber nicht dieselbe Audio-Bandbreite ab wie Sprachcodecs, die eine höhere Anzahl an Bits für die Sprachenkodierung verwenden [3GPP TR 26.975 V11.0.0, „Performance characterization of the Adaptive Multi-Rate (AMR) speech codec“, 2012, http://www.3gpp.org/], [3GPP TR 26.976 V11.0.0, „Performance characterization of the Adaptive Multi-Rate Wideband (AMR-WB) speech codec“, 2012, http://www.3gpp.org/]. Erweiterungen des 2G-Standards bieten mit der Verwendung von Orthogonal Sub-Channels (OSC) und Voice over Adaptive Multi-user channels on One Slot (VAMOS) eine weitere Verdoppelung der auf einem Kanal gemultiplexten Sprachteilnehmer an [M. Säily, G. Sebire, E.P. Riddington, GSM/EDGE: Evolution and Performance, John Wiley & Sons, Ltd, 2010, ISBN: 978-0-470-74685-1, http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470746858,descCd-tableOfContents.html].
- In all diesen Verfahren wird die Enkodierungsrate den Übertragungsbedingungen angepasst, es erfolgt aber immer die Übertragung des gesamten zeitlichen Ablaufs des Datenstroms. Bei einer hohen Anzahl an Übertragungsfehlern aufgrund schlechter Kanalbedingungen steigt die Anzahl der Übertragungsfehler und bei nicht-transparenten Diensten werden diese Blöcke wiederholt gesendet und die korrekte bzw. nicht korrekte Dekodierung dem Sender in einer Rückantwort mitgeteilt. Die Darstellung eines Videos einer bestimmten Länge kann dadurch deutlich länger werden, als die eigentliche Dauer dieses Videos, wenn sie immer wieder durch fehlende Daten unterbrochen wird und die Übertragungsrate nicht ausreicht, um das Videobild in der geforderten Geschwindigkeit abzuspielen. Dieselben Auswirkungen entstehen durch Überlast in Mobilkommunikationssystemen, da aufgrund der hohen Teilnehmerzahl jedem einzelnen Teilnehmer nur eine geringe Menge an Übertragungsressourcen zugeteilt werden kann.
- Die Veröffentlichung „Ahmed, T.; Mehaoua, A.; Boutaba, R.; Iraqi, Y.; Adaptive Packet Video Streaming Over IP Networks: A Cross-Layer Approach. In: IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 23, NO. 2, pp. 385-401, FEBRUARY 2005“ offenbart ein Verfahren zum Streamen von Datenpaketen.
- Aus den Druckschriften
US 2013 / 0 198 322 A1 ,US 2003 / 0 235 196 A1 ,US 2012 / 0 047 230 A1 ,CA 2 973 101 A1 undUS 2008 / 0 098 446 A1 - Es ist demzufolge erstrebenswert, ein geeignetes Verfahren zur Steuerung der Übertragung von Daten aufzufinden, das die vorgenannten Nachteile, insbesondere bei den vorbeschriebenen Applikationsbeispielen, zu vermeiden weiß.
- Die gestellte Aufgabe der Erfindung wird durch ein Verfahren zum Streamen von Datenpaketen zwischen einem Sender und wenigstens einem Empfänger über ein Mobilfunknetz gemäß den spezifizierten Verfahrensschritten nach Anspruch 1 gelöst. Vorteilhafte Ausführungen des Verfahrens sind Gegenstand der abhängigen Ansprüche.
- Wesentlich für das Verfahren ist, dass ein Teil der Übertragungsstrecke zwischen Datenquelle und Empfänger über die Luftschnittstelle eines Mobilfunksystems erfolgt, das insbesondere gemäß einem der bekannten Standards 2G, 3G, 4G, 5G oder einem Nachfolger arbeitet.
- Der nachfolgend verwendete Begriff des Senders bezieht sich zudem nicht zwingend auf die tatsächliche Datenquelle des zu übertragenden Datenstreams. Der Sender ist eine Entität des Mobilfunksystems, die entsprechende Datenpakete des Datenstreams an ein ebenfalls innerhalb des Mobilfunksystems registriertes Empfangsgerät sendet. Je nach Applikation kann es sich bei dem Sender um eine Basisstation des Mobilfunksystems handeln, während das mobile Endgerät des Nutzers das Empfangsgerät darstellt. Soll eine Streaming-Applikation in Aufwärtsrichtung (Uplink) erfolgen, so stellt das mobile Endgerät den Sender und die Basisstation den Empfänger dar.
- Die tatsächliche Datenquelle kann ein zentraler Server eines lokalen Netzwerkes oder des Internets sein. Agiert die Basisstation als Sender, so leitet diese den serverseitig bereitgestellten Datenstream über die Luftschnittstelle an das mobile Endgerät weiter. Ist hingegen das mobile Empfangsgerät die Datenquelle, so wird der Datenstrom vom Empfangsgerät an die Basisstation übertragen, die die empfangenen Datenpakete über das Backbone des Mobilfunknetzes an den adressierten Zielserver weiterreicht.
- Der Fokus der Erfindung liegt hierbei auf der Vermeidung von Übertragungsverzögerungen bedingt durch Änderungen der Übertragungsbedingungen auf der Luftschnittstelle des Mobilfunksystems. Erfindungsgemäß erfolgt dies dadurch, dass der Datenfluss zwischen Sender und Empfänger des Mobilfunknetzwerkes überwacht wird und anschließend eine Bewertung des Datenflusses dahingehend erfolgt, ob der aktuell vorliegende Datenfluss ausreichend ist, um wenigstens eine bzw. die für die ausgeführte Streaming Applikation definierten Verzögerungsanforderungen zu erfüllen. Das Verfahren ist gleichermaßen für einen einzelnen laufenden Stream zwischen Sender und Empfänger oder aber auch mehrere parallel laufende Streams zwischen den Kommunikationspartnern anwendbar.
- Ist das Resultat der Bewertung negativ, d.h. die aktuell vorliegenden Bedingungen genügen nicht um die Anforderungen zu erfüllen, soll erfindungsgemäß auf ein selektives Dekodieren und/oder Senden einzelner Datenpakete bzw. ganzer Sequenzen des Datenstreams übergegangen werden. Unter einem selektiven Dekodieren soll verstanden werden, dass gezielt ausgewählte Datenpakte oder ganze Sequenzen von zusammenhängenden Datenpaketen empfängerseitig nicht dekodiert und dementsprechend weiterverarbeitet werden. Beim selektiven Senden sollen hingegen gezielt ausgewählte Datenpakte oder Sequenzen von Datenpaketen erst gar nicht vom Sender übertragen werden. Die Selektion der nicht zu dekodierenden bzw. nicht zu sendenden Datenpakete bzw. Sequenzen erfolgt anhand eines speziellen Prioritätsmarkers, der dem Sender und/oder Empfänger zusammen mit den Datenpaketen zur Verfügung gestellt wird.
- Der Prioritätsmarker kann bspw. einen numerischen Wert annehmen, der vom Sender bzw. Empfänger ausgewertet werden kann. In Abhängigkeit des Wertes wird dann entschieden, ob das markierte Datenpaket dann für die nachfolgende Maßnahme des nicht-Dekodierens oder nicht-Sendens in Betracht gezogen wird.
- Grundlage für die Ausführung des Verfahrens ist demnach, dass der entsprechende Datenstream mit geeigneten Prioritätsmarkern versehen ist. Das Verfahren setzt hierbei entweder auf einen entsprechend markierten Datenstream auf oder stellt optional zusätzliche Verfahrensschritte bereit, um den zu sendenden Datenstream vorab mit geeigneten Prioritätsmarkern zu versehen. Diese optionalen Schritte können entweder manuell oder aber automatisiert ausgeführt werden. Letzteres bspw. auf Grundlage eines Mustererkennungsverfahrens, das den Datenstream, insbesondere Audio- und Videostream, auf bekannte Bild-, Audio oder Datenmuster untersucht, zu denen zugehörige Prioritätsmarker hinterlegt sind, und den Datenstream anschließend mit den zugehörigen Markern versieht.
- Das Einfügen der Prioritätsmarker kann bereits während der Video- und/oder Audiokodierung eines zu sendenden Datenstroms erfolgen.
- Durch die Maßnahme des selektiven Dekodierens bzw. Sendens lässt sich die zu übertragende bzw. empfängerseitig weiterzubearbeitende Datenmenge gezielt und temporär reduzieren, um dadurch die eingangs aufgezählten Probleme kurzfristig kompensieren zu können. Zwar muss unter Umständen ein gewisser Qualitätsverlust der übertragenen Daten in Kauf genommen werden, dies ist jedoch im Vergleich zu einer drohenden (zunehmenden) zeitlichen Verzögerung zwischen dem Absenden der entsprechenden Datenpakete bis zum tatsächlichen empfängerseitigen Weiterverarbeiten, insbesondere Abspielen des übertragenen Dateninhaltes auf dem Empfangsgerät, vertretbar. Das Verhältnis zwischen Qualitätseinbußen und Verzögerung spielt gerade bei Echtzeitanwendungen eine wesentliche Rolle. Insbesondere bei Fernsteueranwendungen, bei welchen zwischen den beteiligten Parteien wichtige Daten (insbesondere Videodaten) sowie Steuerdaten per Datenstream übertragen werden müssen, sind zeitliche Verzögerungen kaum tolerierbar. Dies gilt besonders für Teleoperationsanwendungen, bspw. die Fernsteuerung eines Kraftfahrzeuges.
- Mittels der vorgenannten Prioritätsmarker wird vorzugsweise die Relevanz der entsprechenden Datenpakete bzw. Sequenzen von Datenpaketen des Datenstroms für die empfängerseitige Nachbearbeitung der Daten gekennzeichnet. Im Falle von Video- bzw. Audiodatenpaketen kann ein solcher Prioritätsmarker die Relevanz für den Betrachter bzw. Zuhörer darstellen. Bei entsprechenden Daten für eine Fernsteuerung bzw. Teleoperation einer Maschine bzw. Fahrzeuges werden die entsprechenden Datensequenzen hinsichtlich ihrer steuerungstechnischen Relevanz für die empfängerseitige Bearbeitung der Daten bewertet. Grundsätzlich ist eine binäre Unterscheidung mittels des Prioritätsmarkers zwischen relevant und nicht relevant ausreichend, bevorzugt ist jedoch eine feinstufigere Bewertungsskala, d.h. der Prioritätsmarker kann mehr als zwei Werte annehmen. Bei Verwendung von nummerischen Werten können zunehmende Werte für die abnehmende Relevanz der Datenpakete stehen.
- Die markierten und gegebenenfalls nicht zu dekodierenden bzw. nicht zu sendenden Sequenzen sind nicht gleichbedeutend mit Rahmen eines Audio- und/oder Videostremas zu verstehen. Gemäß dem erfindungsgemäßen Verfahren sollen also nicht nur einzelne Rahmen, z.B. fehlerhafte Rahmen, nicht dekodiert bzw. nicht gesendet werden, sondern unter Umständen gesamte Szenen. Der Inhalt einer solchen Szene entscheidet folglich darüber, ob sie für selektives Senden/Dekodieren vorgesehen ist. Hierdurch lässt sich der der Erfindung zu Grunde liegende Gedanke realsieren, nämlich bei Übertragungsengpässen in Mobilkommunikationsnetzen ausgewählte kurze Szenen geringer Wichtigkeit eines Streaming-Dienstes besser gar nicht zu übertragen, als Unterbrechungen bei der Darstellung am Empfangsgerät zu bekommen. Damit wird für Streaming-Dienste mit Echtzeitanforderungen erreicht, dass ein Auseinanderlaufen der Zeit zwischen Live-Aufnahme und Darstellung beim Empfänger vermieden wird.
- Idealerweise werden die Prioritätsmarker In-Band mit den Datenpaketen übertragen. Bspw. kann ein Prioritätsmarker in Form einer optionalen Bitposition in das Datenpaket, insbesondere den Header des Datenpaketes bzw. der Sequenz eingefügt werden. Im Idealfall ist der Prioritätsmarker Bestandteil desjenigen Headers der Datenpakete eines Audio- und/oder Videostreams, in diesem ebenfalls das verwendete Modulations- und/oder Kodierungsschema des Datenstroms signalisiert wird.
- Die entsprechende Bewertung des aktuellen Datenflusses zwischen Sender und Empfänger kann auf unterschiedliche Art und Weise umgesetzt sein. Die entsprechenden Kriterien, die für die Bewertung des aktuellen Datenflusses herangezogen werden, können insbesondere davon abhängig sein, ob eine Bewertung empfängerseitig und/oder senderseitig ausgeführt wird.
- Besonders bevorzugt ist es, wenn eine Bewertung anhand ein oder mehrerer Bewertungskriterien erfolgt, d.h. entsprechende Kriterien bspw. Messparameter werden gegen Referenzwerte verglichen, wobei Abweichungen eine entsprechende Bewertung zulassen. Zudem ist es besonders bevorzugt, wenn nicht nur eine binäre Bewertung des Datenflusses, d.h. ausreichend oder nicht ausreichend, ausgeführt wird, sondern besser eine Bewertung in unterschiedlichen Bewertungsgraden erfolgt, bspw. ausreichend, knapp nicht ausreichend, bei weitem nicht ausreichend, usw.. Dies ermöglicht eine bessere Abstimmung und Optimierung der nachfolgend auszuführenden Maßnahmen. Gemäß bevorzugter Ausführung können den unterschiedlichen Bewertungsgraden unterschiedliche Werte des Prioritätsmarkers zugeordnet sein. Der resultierende Bewertungsgrad bestimmt demnach, welche der markierten Datenpakte nicht dekodiert bzw. nicht gesendet werden sollen. Beispielsweise kann dem entsprechenden Bewertungsgrad ein spezifischer Wert des Prioritätsmarkerwertes zugeordnet sein, sodass für das selektive Dekodieren und/oder Senden lediglich solche Datenpakete bzw. Sequenzen in Betracht gezogen werden, die mit dem entsprechenden Wert des Prioritätsmarkers markiert sind. Denkbar ist auch eine Zuordnung einer Teilmenge von Prioritätsmarkern pro Bewertungsgrad, d.h. bei einem bestimmten Bewertungsgrad werden alle Datenpakete nicht dekodiert bzw. nicht gesendet, deren Wert kleiner oder gleich einem definierten Prioritätsmarkerwert sind.
- Für die Bewertung kann gemäß einer bevorzugten Ausführungsform vorgesehen sein, dass für die ein oder mehreren Bewertungskriterien passende Schwellwerte definiert werden und bei Unter- bzw. Überschreiten des entsprechenden Schwellwertes beispielsweise ein selektives Senden oder Dekodieren ausgelöst wird. Dabei können einzelne Bewertungskriterien untereinander durch ODER bzw. UND-Verknüpfungen zu einer Bedingung zusammengefügt sein.
- Die vorgenannten Bewertungsgrade lassen sich beispielsweise dadurch realisieren, dass für ein einzelnes Bewertungskriterium unterschiedliche Schwellwerte definiert werden. Unterschiedliche Schwellwerte eines Kriteriums sind idealerweise prioritätsmarkerspezifisch, sodass bei Überschreiten eines für einen ersten Prioritätsmarker spezifischen Schwellwertes lediglich Datenpakete bzw. Sequenzen, die mit dem ersten Prioritätsmarker markiert sind, für die selektive Dekodierung bzw. das selektive Senden in Betracht gezogen werden, während bei Über- und Unterschreiten eines entsprechenden Schwellwertes für einen zweiten Prioritätsmarker entweder nur Daten bzw. Datensequenzen, die mit dem zweiten Prioritätsmarker und gegebenenfalls ersten Prioritätsmarker markiert sind, in Betracht gezogen werden.
- Weiterhin kann es gemäß einer weiteren vorteilhaften Ausgestaltung der Erfindung vorgesehen sein, dass die Maßnahme des selektiven Dekodierens mehrstufig ausgestaltet ist. Dies bedeutet, dass beispielsweise ein selektives Dekodieren initial gemäß einer ersten Ausführungsstufe ausgeführt wird, und, sofern diese Maßnahme nicht zum gewünschten Ziel führt, das selektive Dekodieren gemäß einer zweiten Stufe fortgesetzt wird. Ein konkretes Beispiel kann sein, dass die Maßnahme des selektiven Dekodierens initial vorsieht, dass zunächst lediglich Wiederholungen für nicht korrekt empfangene Datenpakete bzw. Sequenzen nicht mehr angefordert werden. In der Regel sehen Streamingprotokolle vor, dass empfängerseitig fehlerhaft detektierte Datenpakete vom Empfänger beim Sender erneut angefordert werden, was üblicherweise zu einem erhöhten Datenfluss und letztendlich zu einer entsprechenden zeitlichen Verzögerung führt. Durch das Unterbinden einer solchen Wiederholungs-Anfrage kann zum einen die zu übertragene Datenmenge reduziert werden und zum anderen wird verhindert, dass empfängerseitig das weitere Abspielen des Datenstreams solange verzögert wird, bis das korrekt übertragene Datenpaket empfangen wird. Durch diese Maßnahme können zwar die fehlerhaften Datenpakete nicht oder nicht richtig dekodiert werden, dies ist allerdings in gewissem Rahmen und insbesondere für die mit geringerer Relevanz markierten Datenpakete vertretbar. Für die fehlerhaften Datenpakete können empfängerseitig zudem Fehlerverdeckungsmaßnahmen („Error-Concealment“) ergriffen werden.
- Sollte diese erste Stufe nicht zum gewünschten Ergebnis, d.h. zur ausreichenden Verbesserung des Datenflusses führen, werden in einer nächsten Stufe einzelne Datenpakete bzw. Sequenzen des Datenstreams empfängerseitig nicht mehr dekodiert, und zwar unabhängig davon ob diese zuvor richtig oder fehlerhaft übertragen worden sind. Hierdurch kann eine empfängerseitige Verzögerung gegebenenfalls verkleinert werden.
- Um den Verlust einzelner Datenpakete bzw. Sequenzen für den Endanwender möglichst unauffällig zu gestalten, kann gegebenenfalls vorgesehen sein, entsprechende Maßnahmen für einen weichen Übergang zwischen Datensequenzen, zwischen denen nicht dekodierte Datenpakete liegen, auszuführen. Im Falle eines Videostreams kann beispielsweise vorgesehen sein, dass mittels Interpolation zwischen den sequentiell dekodierten Datenpaketen ein weicher Übergang geschaffen wird. Genauso kann hier auch mit einer Anpassung der Helligkeit gearbeitet werden. In äquivalenter Weise kann bei Audiostreams vorgegangen werden, wobei hier als mögliche Option eine Anpassung der entsprechenden Lautstärke vorgesehen werden kann.
- Das mehrstufige Verfahren zur selektiven Dekodierung kann gemäß einer optionalen Ausführungsform vorsehen, dass von einer niedrigeren Stufe in eine höhere Stufe erst dann übergegangen wird, wenn ein definierbarer Timer während der Ausführung der niedrigeren Stufe abgelaufen ist und die die Maßnahme auslösenden Bewertungskriterien weiterhin erfüllt sind. Ein solcher Timer kann vorzugsweise prioritätsmarkerabhängig sein, d.h. die abzuwartende Zeitspanne hängt von dem Wert des Prioritätsmarkers ab, der derzeit die auszuwählenden Datenpakete für die selektive Dekodierung bestimmt.
- Das zuvor genannte Unterbinden von Wiederholungen für nicht korrekt empfangene Datenpakete kann beispielsweise dadurch erreicht werden, dass der Empfänger anstatt einer ansonsten zu sendenden negativen Bestätigung an den Sender, die ein erneutes Senden des darin bezeichneten Datenpakets auslösen würde, stattdessen eine positive Bestätigung an den Sender übermittelt. Gleichermaßen muss gegebenenfalls sichergestellt werden, dass höhere Protokollschichten ebenfalls keine Wiederholung für fehlende Daten auslösen, indem diese entsprechend über das ausgeführte selektive Dekodieren bzw. Senden informiert werden.
- Als wenigstens ein Kriterium für die Bewertung des Datenflusses kann der Zustand des empfängerseitigen Datenpuffers betrachtet werden. Wie bereits im einleitenden Teil der Anmeldung beschrieben wurde, kommt es beim Abspielen eines entsprechenden Datenstreams dann zu Verzögerungen, wenn im Datenpuffer nicht ausreichend Daten für die nachfolgende Datenverarbeitung zur Verfügung stehen. Demzufolge wird als maßgebliches Kriterium für die Bewertung des Datenflusses definiert, dass die im Datenpuffer enthaltene Datenmenge gegen einen entsprechenden Grenzwert, d. h. eine minimale Datenmenge verglichen wird und bei Unterschreitung dieser Datenmenge eine entsprechende Maßnahme, d.h. ein selektives Senden und/oder Dekodieren ausgelöst wird.
- Denkbar ist hier eine Betrachtung der im Empfangspuffer befindlichen absoluten Datenmenge. Alternativ oder zusätzlich könnte auch die relative Datenmenge betrachtet werden, die das Verhältnis der aktuellen absoluten Datenmenge zu einer initialen Datenmenge des Datenpuffers beschreibt. Die initiale Datenmenge stellt hierbei die Datenmenge dar, die erreicht werden muss, bevor empfängerseitig die Weiterverarbeitung des Datenstreams erstmalig gestartet wird.
- Denkbar ist es unterschiedliche minimale Datenmengen für unterschiedliche Prioritätsmarker zu definieren als auch unterschiedliche minimale Datenmengen als Schwellwerte für die Entscheidung zu definieren, ob nachfolgend ein selektives Dekodieren oder alternativ ein selektives Senden initiiert werden soll.
- Als wenigstens ein Kriterium für die Bewertung des Datenflusses kann auch das Verhältnis zwischen der abgehenden und eingehenden Datenrate eines empfangsseitigen Datenpuffers herangezogen werden. Ist beispielsweise das Verhältnis zwischen abgehender und eingehender Datenrate größer als 1, so kann in Kürze mit einem Leerlaufen des Datenpuffers gerechnet werden und mit einem Abbruch der Weiterverarbeitung des Streams. Der Vergleich des bestimmten Verhältnisses gegen einen entsprechenden Schwellwert kann demnach als weiteres Kriterium für das Auslösen des selektiven Dekodierens herangezogen werden. Alternativ zur eingehenden Datenrate kann auch die innerhalb des Mobilfunknetzwerkes ausgehandelte Datenrate zwischen Sender und Empfänger herangezogen werden. In diesem Zusammenhang sei beispielsweise auf die in den jeweiligen Standards zu findende sogenannte „Guaranteed Bit Rate“ (GBR) verwiesen.
- Ein Kriterium für die Bewertung des Datenflusses kann zudem die senderseitige Nettodatenrate und eine ausgehandelte Datenrate des Mobilfunksystems sein, insbesondere ebenfalls die Guaranteed Bit Rate (GBR). Auch dieses Verhältnis kann gegen einen minimalen Wert verglichen werden und bei Unterschreitung des minimalen Wertes ein selektives Senden initiiert werden. Die betrachteten Parameter machen eine senderseitige Überwachung sinnvoll.
- Vor dem Auslösen eines selektiven Sendens kann es weiterhin vorteilhaft sein, wenn eine mit einem gemeinsamen Prioritätsmarker markierte Sequenz des Datenstroms zuvor in mehrere Teilsequenzen unterteilt wird, wobei die einzelnen Teilsequenzen mit unterschiedlichen Prioritätsmarkern versehen werden. Insbesondere ist es in diesem Zusammenhang sinnvoll, wenigstens eine dieser Teilsequenzen mit dem für die geringste Relevanz stehenden Prioritätsmarker zu versehen, sodass für das selektive Senden zusätzliche Datenpakete zum Nichtsenden zur Verfügung stehen. Als konkretes Beispiel sei hier eine Szene von etwa 20 Sekunden eines Videostreams genannt, der einen geschlossenen Vorhang einer Theateraufführung zeigt. Diese Sequenz wird nun in insgesamt drei Teilsequenzen aufgeteilt, wobei die erste Teilsequenz die ersten 5 Sekunden widerspiegelt und mit einem ersten Prioritätsmarker (geringe Relevanz) markiert wird. Die nachfolgende Sequenz von etwa 10 Sekunden wird mit einem zweiten Prioritätsmarker (sehr geringe Relevanz) markiert, während die verbleibende Teilsequenz von 5 Sekunden wieder mit dem ersten Prioritätsmarker gekennzeichnet wird. Wird die Maßnahme des selektiven Sendens für den zweiten Prioritätsmarker ausgelöst, so werden die Datenpakete zur zweiten Teilsequenz nicht übertragen. Die gesamte Szene halbiert sich dadurch auf 10 Sekunden, der Betrachter wird aber dennoch eine verkürzte Szene des geschlossenen Vorhangs sehen. Wäre die ursprüngliche Szene von 20 Sekunden mit dem zweiten Prioritätsmarker markiert gewesen, wäre diese vollständig verworfen worden.
- Vorstellbar ist es ebenso, dass sich die vorherrschenden Übertragungsbedingungen des Mobilfunknetzes nach einer negativen Bewertung des Datenflusses deutlich verbessern, so dass etwaige Maßnahmen möglicherweise nicht notwendig wären. In einem solchen Fall würde es beispielsweise wegen der kritischen Bewertung zum Auslösen entsprechender Maßnahmen kommen, obwohl wegen der verbesserten Übertragungsbedingungen die Datenmenge im Datenpuffer wieder zunimmt. Um diesem Sonderfall Rechnung zu tragen kann es vorteilhaft sein, wenn bei Überschreiten eines entsprechenden Schwellwertes (negative Bewertung) zusätzlich ein definierter Timer ausgelöst wird und die mit dem Schwellwert verknüpfte Maßnahme erst nach Ablauf dieses Timers tatsächlich ausgeführt wird. Ein solcher Timer ist vorzugsweise ebenfalls prioritätsmarkerabhängig.
- Während des Ablaufens des Timers wird überprüft, ob die Bedingungen auf der Mobilfunkschnittstelle besser werden. Dies lässt sich beispielsweise anhand der gemessenen Empfangsqualität bzw. eines Empfangspegels des Sendesignals beurteilen. Alternativ kann als Indikator für eine Verbesserung der Übertragungsbedingungen auch eine Änderung des eingesetzten Modulations- bzw. Codierungsschemas (MCS) der bestehenden Mobilfunkverbindung zwischen Sender und Empfänger dienen. Denkbar ist auch eine vorteilhafte Änderung der allokierten Ressourcen (Resource Blocks). Sollten sich also die Übertragungsbedingungen zwischen Sender und Empfänger anhand der vorstehenden Indikatoren in einem definierbaren Bereich verbessern, kann auch bei Überschreiten des entsprechenden Schwellwertes das Auslösen der entsprechenden Maßnahme noch verhindert werden.
- Neben dem erfindungsgemäßen Verfahren betrifft die vorliegende Erfindung zudem ein System zum Streamen eines Datenstromes zwischen einem Sender und Empfänger über ein Mobilfunksystem, insbesondere ein Mobilfunksystem nach einem der Standards 2G, 3G, 4G, 5G oder einem höheren Standard. Hierbei liegen empfängerseitig und/oder senderseitig entsprechende Mittel zur Durchführung der vorgenannten Verfahrensschritte vor, sodass bezüglich der sich dadurch ergebenden Vorteile und Eigenschaften auf die vorstehenden Ausführungen verwiesen wird.
- Weitere Vorteile und Eigenschaften der Erfindung sollen nachfolgend anhand der in den Figuren dargestellten Szenarien verdeutlicht werden. Es zeigen:
-
1 : eine schematische Darstellung des Systems zur Durchführung des erfindungsgemäßen Verfahrens, -
2 : eine Übertragungsskizze zur Veranschaulichung einer Streaming-Anwendung mit einem konventionellen System, -
3 : das Szenario gemäß2 bei problematischen Übertragungsbedingungen, -
4 : eine Übertragungsskizze zur Veranschaulichung einer Streaming-Anwendung mit dem erfindungsgemäßen System und unter Ausführung des erfindungsgemäßen Verfahrens, -
5 : eine Blockdarstellung des empfängerseitigen Aufbaus sowie eine Grafik (5a ) zur Erläuterung der definierten Schwellwerte anhand des Emfpangspuffers , -
6 : eine Diagrammdarstellung zur Erläuterung der anfallenden Datenmenge bei einem Videostream über die Zeit und -
7 : das Szenario gemäß4 mit ausgeführten erfindungsgemäßen Maßnahmen. -
1 zeigt die Vorrichtung 1 zur Markierung einer Streaming-Szene mit einem Prioritätsmarker, das Sendemodul 2 zum Senden eines Datenstreams und das Empfangsmodul 3 zum Empfangen des gesendeten Datenstreams. Die Vorrichtung 1 zur Markierung einer Streaming-Szene mit einem Prioritätsmarker verfügt über zumindest eine Schnittstelle 10, über die sie die Information 20 über die inhaltliche Relevanz der Szene erhält, und ein Kontrollmodul 30 zur Kennzeichnung der Relevanz einer Szene 40 mittels eines Prioritätsmarkers auf Grundlage der Information 20 über die inhaltliche Relevanz eines Streaming-Segments. Anschließend wird die Information 40 über die vergebenen Prioritätsmarker an das Sendemodul 2 mit der Vorrichtung 60 zum selektiven Senden weitergeleitet. - Die Vorrichtung 60 zum selektiven Senden kann Teil des Sendemoduls 2 sein, z.B. einer Basisstation des Mobilkommunikationssystems für die Übertragung in Abwärtsrichtung oder eines mobilen Endgeräts für die Übertragung in Aufwärtsrichtung. Die Information 40 über den Prioritätsmarker wird unverändert von der Vorrichtung 60 zum selektiven Senden, gesteuert durch das Kontrollmodul 50, an das Empfangsmodul 3 übertragen, das ebenso über ein Kontrollmodul 70 verfügt. Das Empfangsmodul stellt die empfangenen Daten der Vorrichtung 80 zum selektiven Dekodieren zu Verfügung, die Bestandteil des Empfangsmoduls sein kann, z.B. eines mobilen Endgerätes für die Übertragung in Abwärtsrichtung oder einer Basisstation für die Übertragung in Aufwärtsrichtung.
- Die Vorrichtung 80 zum selektiven Dekodieren kann ausgelegt sein, die Information 40 über den Prioritätsmarker auszulesen und basierend darauf eine Entscheidung zum selektiven Dekodieren der zugehörigen Datenpakete zu treffen. Die Entscheidungslogik der Vorrichtung 80 arbeitet dabei derart, dass bei auftretenden Übertragungsengpässen nur Datenpakete mit Inhalten hoher Relevanz dekodiert werden. Ferner soll ein Wiederholungsübertragen nicht korrekt empfangener Datenpakete mit geringerer inhaltlicher Relevanz nicht angefordert werden, um so zeitliche Verzögerungen der Darstellung bzw. Auswertung relevanter Inhalte zu vermeiden.
- Die Vorrichtung 60 zum selektiven Senden kann ausgelegt sein, in Abhängigkeit des Wertes des Prioritätsmarkers Datenpakete von Szenen geringer inhaltlicher Relevanz erst gar nicht zu senden und damit das Volumen an zu übertragenden Daten zu reduzieren. Auch hier wird das Ziel verfolgt, bei Übertragungsengpässen weniger relevante Szenen einer Streaming-Applikation erst gar nicht zu übertragen, als für relevante Szenen eine Verzögerung zu riskieren.
-
2 zeigt ein Mobilkommunikationssystem 100, über das eine Videostreaming-Übertragung gemäß des Stands der Technik erfolgt. Dieses Beispiel beschreibt einen ersten Fall, für den die Datenübertragungsbedingungen in Bezug auf Auslastung und Kanalfehler hinreichend gut sind, so dass der Videostream unterbrechungsfrei beim Empfänger abgespielt werden kann. Das Mobilkommunikationssystem 100 entspricht dem 3GPP LTE Standard. Ein Server 110 im Internet ist über die SGi-Schnittstelle 120 mit dem Packet Data Network (PDN) Gateway (PDN-GW) 130 verbunden. Dieses ist über die S5-Schnittstelle 140 mit dem Serving Gateway (S-GW) 150 verbunden. Über die S11-Schnittstelle 160 erfolgt die Anbindung an die Mobility Management Entity (MME) 170. Über die S1-Schnittstelle 180 ist der S-GW 150 mit der LTE-Basisstation (eNodeB) 190 verbunden und über die Luftschnittstelle (Uu) 200 erfolgt die Verbindung zum mobilen Endgerät 210 („UE“). - Auf dem Server 110 ist eine Videodatei 300 gespeichert, die unterschiedliche Szenen 1 bis 5 beinhaltet. Ein Teilnehmer fordert über sein mobiles Endgerät 210 das Abspielen des Videostreams 300 an, dessen Daten über das Mobilkommunikationssystem 100 übertragen werden. Die Verzögerungszeit bis zum Start der Videodarstellung am Bildschirm des mobilen Endgeräts berechnet sich aus der Dauer zwischen der Anforderung der Datenübertragung durch den Teilnehmer, und dem Zeitpunkt, bis die ersten Videostreamdaten am mobilen Endgerät erfolgreich empfangen werden, sowie der Reproduktionsverzögerung. Letztere beschreibt die Zeitspanne zwischen dem Empfang der Daten und dem tatsächlichen Beginn des Abspielens des Videos. Diese Zeitdauer beinhaltet das initiale Füllen des Datenpuffers im mobilen Endgerät 210.
- In
2 ist die Zeitachse 310 dargestellt, auf der der Beginn der Übertragung der Nutzdaten in Abwärtsrichtung mit t1 bezeichnet wird. Die Reproduktion des Videostreams ist durch 320 gekennzeichnet. Der Beginn des Darstellens der ersten Szene erfolgt zum Zeitpunkt t1, wobei die Zeitdifferenz Δt1 = t1' - t1 der beschriebenen Verzögerungszeit entspricht. - Die Nutzdaten werden dabei separiert und in kleinen Paketen übertragen. Dazu werden den Nutzdaten zusätzliche Bits beigefügt, die es dem Empfänger ermöglichen, die Pakete in der richtigen Reihenfolge wieder zusammenzufügen und fehlerhaft empfangene Daten nochmals anzufordern. Fehler entstehen dabei in erster Linie auf der Luftschnittstelle Uu 200 durch störende Signale anderer Teilnehmer, die dieselbe Frequenz („co-channel interference“) oder benachbarte Frequenzen („adjacent channel interference“) verwenden. In diesem ersten Beispiel wird davon ausgegangen, dass fehlerhaft empfangene Daten durch eine oder mehrere Wiederholungen rechtzeitig beim Empfänger 210 ankommen und so dekodiert werden können, dass im Datenpuffer des mobilen Endgeräts 210 stets genügend Daten enthalten sind und der Teilnehmer ein unterbrechungsfreies Abspielen des Videostreams erfährt. In diesem Beispiel ist die Zeitdifferenz t5, - t1, gleich der Zeitdifferenz t5 - t1
-
3 zeigt die Situation im Falle eines Engpasses bei der Datenübertragung gemäß des heutigen Stands der Technik. Bei der Übertragung der ersten Szene war die Datenrate noch hinreichend hoch, der zeitliche Versatz Δt1 = t1, - t1 entspricht demjenigen aus2 und ist bedingt durch das initiale Füllen des Datenpuffers im mobilen Endgerät 210, bevor das Abspielen des Videostreams beginnt. Das Ende der ersten Szene ist der Beginn der zweiten Szene und entspricht in beiden2 und3 denselben Zeiten. Bei der Übertragung der Daten für Szene 2 tritt nun ein Engpass bei der Datenübertagung auf. Dieser Engpass kann in reellen Mobilfunknetzen typischerweise durch folgende Situationen bedingt sein, nämlich ein Anstieg des Verkehrs in der das mobile Endgerät 210 versorgenden Zelle, die Mobilität des Teilnehmers oder ein Anstieg auftretender Interferenzen. - Der in
3 dargestellte Engpass bei der Übertragung der Daten für die zweite Szene kann durch eines der oben beschriebenen drei Szenarien oder durch eine Kombinationen dieser Szenarien entstehen. Auch weitere Einflussfaktoren sind denkbar. Das Auftreten jedes dieser Ereignisse kann jedoch dazu führen, dass der Zufluss von Nutzdaten in den Datenpuffer des mobilen Endgerätes 210 nicht hoch genug ist, um den kontinuierlichen Abfluss der Daten für die Darstellung des Video-Streams am Bildschirm des mobilen Endgerätes zu kompensieren. Es entstehen Unterbrechungslücken bei der Darstellung des Video-Streams und der Teilnehmer sieht in der Regel ein eingefrorenes Bild. Während dieser Unterbrechung werden weiterhin Daten von der Basisstation des Mobilkommunikationssystems an das mobile Endgerät 210 übertragen und dessen Datenpuffer wird weiter gefüllt. Die Dauer der Unterbrechung bis das Abspielen des Video-Streams fortgesetzt wird, wird als Rebuffering-Time bezeichnet. - In diesem Beispiel wurde angenommen, dass die Übertragung über die Luftschnittstelle den Engpass bedingt. Ebenso kann ein Engpass zwischen den Netzelementen des Mobilkommunikationssystems 100 auftreten, oder außerhalb des Mobilkommunikationsnetzes 100 liegen, z.B. auf den Verbindungsstrecken des Servers 110 mit dem Mobilkommunikationsnetz 100 oder es kann eine Überlast des Servers 110 auftreten.
- Eine weitere Ursache kann durch die Mobilität des Teilnehmers 210 und dessen Bewegung in ein durch das Mobilkommunikationssystem 100 nicht versorgtes Gebiet bedingt sein. Dies kann beispielsweise die Einfahrt in eine Tiefgarage sein und das Abstellen des Autos in dieser Tiefgarage, bis der Teilnehmer wieder ein Gebiet erreicht, dessen Signal die Mindestanforderungen an Empfangspegel und -qualität erfüllt.
- All diesen Ursachen ist es gemeinsam, dass aufgrund der Übertragung aller Sequenzen des Video-Streams die Zeitdauer des Endes der zweiten Szene und Beginn der dritten Szene, t3, auf der Zeitachse 310 in
3 gegenüber t3 weiter verschoben ist. Dadurch besteht zwischen der als Echtzeit einer Live-Übertragung angenommenen Zeitachse 300 (für das Versenden der Daten) und der Zeitachse 310 (für die Darstellung des Video-Streams am mobilen Endgerät 210) kein konstanter zeitlicher Offset mehr, der durch das initiale Füllen des Datenpuffers gegeben ist, sondern die Zeiten laufen auseinander. Durch die verlängerte Zeitdauer der Übertragung der zweiten Szene ist Δt3 = t3' - t3 in3 größer als in2 . - Auch die Übertragungsdauern der dritten und vierten Szenen sind in
3 länger dargestellt, als in2 . Dadurch laufen die Zeiten weiter auseinander. Für die Live-Übertragung eines Sportevents kann dies bedeuten, dass die interessanten Szenen schon weit zurückliegen, bis sie der Betrachter an seinem mobilen Endgerät 210 tatsächlich dargestellt bekommt. - Die grundlegende Idee der vorliegenden Erfindung ist die Einführung eines Prioritätsmarkers (PM), mit der die inhaltliche Wichtigkeit einer Szene vorab festgelegt wird. Zudem soll eine modifizierte Flusskontrolle eingeführt werden, über die kontinuierlich überprüft wird, ob die für die Darstellung eines Streams aus dem Datenpuffer des mobilen Endgerätes 210 abfließende Datenmenge durch neu hinzukommende, von der Basisstation 190 an das mobile Endgerät 210 übertragene Daten, kompensiert wird. Fließen mehr Daten ab als neu hinzukommen, soll über einen schwellwertbasierten Algorithmus ein mehrstufiges Verfahren eingeleitet werden, bei dem im letzten Schritt nur noch Daten von Szenen eines Videos übertragen werden, deren Prioritätsmarker die höchste Stufe anzeigt. Der Begriff Video wird hier stellvertretenden für alle Arten von Streaming-Diensten verwendet, insbesondere auch für Audio-Streaming. Bei Übertragungsengpässen werden dabei Szenen, die mit einem niedrigen Prioritätsmarker gekennzeichnet sind, komplett verworfen, um selektiv Daten wichtiger Szenen über den vorherrschenden Engpass übertragen zu können und damit ein zusätzliches Auseinanderlaufen der Zeiten zu vermeiden.
- Dieses Verfahren kann unabhängig oder in Ergänzung zu anderen Verfahren für das Kompensieren von Übertragungsengpässen verwendet werden. Die Reduzierung der Datenmenge bei der Quellcodierung durch eine geringere Auflösung oder Farbtiefe ist eine Maßnahme, die unabhängig stattfinden kann. Ebenso können die in den heutigen Mobilkommunikationssystemen etablierten Maßnahmen zur Zugangskontrolle, Lastkontrolle und Lastabwehrmechanismen unverändert durchgeführt werden.
- Anwendungsbereiche
- Die folgende Beschreibung verwendet das Beispiel einer Video-Stream Live-Übertragung eines Sportereignisses, um die Echtzeitrelevanz darzustellen. Neben Anwendungen aus dem Consumer-Bereich Infotainment, einer Kombination aus Information und Unterhaltung, dient diese Erfindung Anwendungen für das teleoperierte Fahren, dem ferngesteuerten Fahren durch einen Teleoperator. Hierbei werden in der Aufwärtsrichtung („uplink“) Videodaten vom Fahrzeug zum Teleoperator und in der Abwärtsrichtung („downlink“) Regeldaten für die Aktuatorik übertragen.
- Weitere Beispiele sind Sicherheitsdienste für den Automobilbereich, speziell der Datenaustausch zwischen den mit On-Board Kameras gefilmten Umgebungsbereich eines Fahrzeuges und der Infrastruktur im Bereich des autonomen Fahrens oder Fahrer-Assistenzsystemen.
- Die vorliegende Erfindung ist nicht auf die aktuellen 3GPP Technologien 2G, 3G und LTE/LTE-A eingeschränkt, sondern dient vielmehr der aufkommenden 5G-Technologie bzw. dem Zusammenspiel aus LTE/LTE-A und 5G.
- Festlegen der inhaltlichen Relevanz einer Szene
- Ein Streaming-Dienst soll anhand seines Prioritätsmarkers in eine Vielzahl virtueller Szenen unterteilt werden. Eine mit einem bestimmten Wert festgelegte Szene kann dabei einer oder mehrerer tatsächlicher Szenen eines Films entsprechen, oder auch nur einem Bruchteil daraus. Der Prioritätsmarker kann an einer beliebigen Stelle des Films beginnen und einen Anfangspunkt markieren. Da das Ziel dieser Erfindung darin liegt, Daten von Szenen mit einem geringen Prioritätsmarker bei Übertragungsengpässen nicht zu übertragen, soll auch ein unveränderter Wert des Prioritätsmarkers in bestimmten Abständen übertragen werden.
- Ein Beispiel für Werte, die der Prioritätsmarker annehmen kann, ist nachfolgend dargestellt.
- • Wert 0: höchster Wert, alle Szenen eines Datenstreams sollen übertragen werden.
- • Wert 1: höchster Wert für Streaming-Applikationen, die mit einem Prioritätsmarker enkodiert wurden.
- • Wert 2: Mittlere Priorität.
- • Wert 3: repräsentiert Szenen, deren Übertragung aus inhaltlichen Gesichtspunkten die geringste Bedeutung haben.
- Somit beinhaltet der Wertebereich für die Enkodierung die Stufen 1, 2 und 3. Eine Erweiterung oder weitere Unterteilung ist denkbar. Um die Kompatibilität zu Filmen herzustellen, die ohne Prioritätsmarker enkodiert wurden, soll das Nichtvorhandensein eines Prioritätsmarkers mit dem Wert 0 gleichgesetzt werden.
- Die Festlegung der Bedeutung einer Szene wird dabei entweder automatisiert nach bestimmten Mustern oder manuell festgelegt. Bei einem bedeutenden Sportereignis oder kulturellen Ereignis kann der Beginn einer mit einem bestimmten Prioritätsmarker versehenen Szene durch einen Menschen markiert werden. Der voreingestellte Wert (auch englisch default value) ist dabei 1, d.h. die Szene wird automatisch als relevant für die Übertragung markiert. Abweichend davon wird beispielsweise der Wert 2 für weniger relevante Szenen verwendet und der Wert 3 markiert Szenen, die bei der Übertragung als erstes wegfallen sollen, falls Engpässe auftreten.
- Beispiele für die Zuweisung des Prioritätsmarkers für die Übertragung eines Fußballspiels:
- Prioritätsmarker 1
- • Standardeinstellung.
- • Interessante Spielszenen, Torraumszenen.
- Prioritätsmarker 2
- • Das Spiel befindet sich im Aufbau und ist weit entfernt von einer Torchance.
- Prioritätsmarker 3
- • Der Ball befindet sich im Aus, der Spielfluss ist für mehrere Sekunden unterbrochen.
- • Ein/e Spieler/in wurde gefoult, es erfolgt eine Unterbrechung des Spiels.
- • Spielunterbrechung aufgrund der Auswechslung eines/r Spielers/Spielerin.
- • Halbzeitpause oder Spielunterbrechung aufgrund von Wettereinflüssen oder ähnlichem.
- Beispiele für die Zuweisung des Prioritätsmarkers für die Übertragung einer Ballettaufführung:
- Prioritätsmarker 1
- • Standardeinstellung.
- • Tanzszene mit wichtigen Tanzfiguren.
- Prioritätsmarker 2
- • Szene einer weniger wichtigen Handlung.
- • Tanzfiguren von nicht höchster Priorität.
- Prioritätsmarker 3
- • Der/die letzte Tänzer/in verlässt die Bühne.
- • Der Vorhang ist geschlossen.
- In einem weiteren Ausführungsbeispiel erfolgt die Festlegung des Wertes des Prioritätsmarkers in automatisierter Form durch Erkennen bestimmter Muster. Hier sollen in bevorzugter Weise selbstlernende Algorithmen verwendet werden, die z.B. einen geschlossenen Vorhang und das Fehlen von Tänzern/Tänzerinnen auf der Bühne erkennen. In einem weiteren Schritt sollen diese Algorithmen zwischen wichtigen und weniger wichtigen Tanzfiguren unterscheiden können.
- Beispiele für die Zuweisung des Prioritätsmarkers für die Übertragung einer Fahrszene zur Anwendung in einem Teleoperator-Arbeitsplatz als Rückfallebene des autonomen Fahrens:
- Prioritätsmarker 1
- • Standardeinstellung.
- • Fahrszene aus Sicht des Fahrers (Aufnahme der nach vorne gerichteten Fahrerassistenzkamera).
- Prioritätsmarker 2
- • Für den Teleoperator weniger relevante Sichtbereiche für eine temporäre Übernahme der Fahraufgabe
- • z.B. seitlicher Sichtbereich (niedrigere Relevanz für nach vorne ausgerichtetes Fahrmanöver).
- Prioritätsmarker 3
- • Für den Teleoperator irrelevante Sichtbereiche für eine temporäre Übernahme der Fahraufgabe
- • z.B. hinterer Sichtbereich (keine Relevanz für nach vorne ausgerichtetes Fahrmanöver).
- Beispiele für die Zuweisung des Prioritätsmarkers in einem Audio-Stream bei der Übertragung eines Konzertes:
- Prioritätsmarker 1
- • Standardeinstellung.
- • Musik.
- Prioritätsmarker 2
- • Ansagen während des Konzertes.
- Prioritätsmarker 3
- • Zeitraum vor Beginn einer Ansage und nach Beendigung einer Ansage bis das nächste Musikstück beginnt.
- • Pausen.
- Weiteres Beispiel für die Zuweisung des Prioritätsmarkers in einem Videostrom für Video-Telekonferenzsysteme mit mehreren Teilnehmern in einem Raum: Dabei erhält die gerade sprechende Person den höchsten Prioritätsmarker. Andere Teilnehmer, die gerade nicht aktiv am Gesprächsverlauf teilnehmen oder etwas beitragen erhalten einen niedrigeren Prioritätsmarker. Der Prioritätsmarker bezieht sich hierbei auf die Datenübertragung des Videobildes (oder Bildausschnitts) der entsprechenden Person.
- Hinzufügen des Prioritätsmarkers bei der Enkodierung der Streaming-Applikation.
- Anforderungen
- Der Prioritätsmarker muss so enkodiert werden, dass er sowohl von den höheren als auch den unteren Schichten des OSI-Schichtenmodells dekodiert werden kann. Für die Überprüfung des korrekten Empfangs der Daten sind die unteren Schichten des Schichtenmodells verantwortlich. Das mobile Endgerät gibt der Basisstation Rückmeldung über korrekt bzw. nicht korrekt dekodierte Datenpakete. Um zu vermeiden, dass bei Übertragungsengpässen Wiederholungen von Datenpaketen mit geringem Prioritätsmarker angefordert werden, müssen sowohl die Basisstation, als auch das mobile Endgerät in die Lage versetzt werden, den Prioritätsmarker auszulesen. Bevorzugt soll der Prioritätsmarker im Header eines Datenpakets enkodiert werden, von der Basisstation ausgelesen und bei der Kanalenkodierung hinzugefügt werden, so dass das mobile Endgerät bereits bei der Kanaldekodierung über die inhaltliche Relevanz des Datenpakets informiert ist.
- • Bevorzugt soll hierfür ein optionales Bit bzw. Feld im Header verwendet werden, in dem auch das Modulations- und Kodierschema angegeben ist, mit der das Datenpaket für die Übertragung über die Luftschnittstelle enkodiert wurde. Der Empfänger liest zunächst dieses Feld aus und weiß damit, welchen Codec er zur Dekodierung verwenden soll. Mit dem Auslesen des Prioritätsmarkers erhält er nun auch die Information über die inhaltliche Relevanz für die Dekodierung.
- • Bei den in heutigen Mobilkommunikationssystemen verwendeten Sprachcodecs, z.B. den adaptiven Multiraten Codecs („Adaptive Multi-Rate, AMR“) wird der verwendete Codec Mode in ein zwei Bit großes Feld geschrieben und In-Band mit den Nutzdaten übertragen. Ein schneller Wechsel des Codec Modes kann stattfinden, weil die Information über den Sprachcodec, der zur Dekodierung verwendet werden soll, mit den Sprachbits übertragen wird und zuerst ausgelesen wird. Ebenso soll der in der vorliegenden Erfindung definierte Prioritätsmarker vor der Dekodierung des Datenpakets ausgelesen werden.
- Ebenso muss die Information über den Prioritätsmarker für die höheren Schichten des OSI-Modells zugänglich sein. Wird bei Übertragungsengpässen eine Szene übersprungen, so muss gewährleistet werden, dass das Datenpaket eindeutig definiert ist, bei dem die Darstellung fortgesetzt werden soll und es muss verhindert werden, dass die höheren Schichten die fehlenden Pakete für die übersprungene Szene erneut anfordern.
- Sanfter Übergang
- Zudem muss am Schnittpunkt zwischen der letzten dargestellten Szene und der ersten darzustellenden Szene nach dem Überspringen einer Szene ein fließender Übergang stattfinden. In einem Ausführungsbeispiel soll hier für den Videoteil durch Interpolation ein Verschmelzen der vorherigen und der neuen Szenen erfolgen, womit für den Betrachter kein harter Schnitt entsteht. Eine alternative Möglichkeit ist das Ausblenden der vorangegangenen und das Einblenden der kommenden Szene durch eine kurzzeitige Helligkeitsreduzierung und ein Einblenden in Form einer ansteigenden Helligkeit. Eine weitere Ausprägung für einen sanften Übergang im Falle des Ausblendens einer Szene ist ein Hinzufügen von Unschärfe und/oder eines Helligkeitsanstiegs gefolgt vom Wechsel auf die nächste Szene und einer kontinuierlichen Herausnahme der Unschärfe und Rücknahme der Helligkeitsanpassungen.
- In ähnlicher Weise soll mit dem Audio-Teil verfahren werden, bei dem der Übergang bevorzugt durch Ausblenden, also kontinuierlicher Verringerung der Lautstärke und anschließendem Einblenden durch sukzessives Wiederherstellen der ursprünglichen Lautstärke, erfolgt.
-
4 zeigt das erfindungsgemäße Markieren einzelner Szenen mit dem Prioritätsmarker PM, der die Werte [1; 3] verwendet. Die Szenen 1 und 5 sind mit der höchsten Stufe 1 des Prioritätsmarkers PM versehen, die Szenen 2 und 3 haben den PM-Wert 3 und verfügen damit über die niedrigste inhaltliche Relevanz. Szene 4 erhält in diesem Beispiel den Prioritätsmarker 2. - Verfahren zur Übertragung der Daten anhand des Wertes ihres Prioritätsmarkers PM
- Über eine Datenflusskontrolle kann der Empfänger dynamisch steuern, mit welcher Geschwindigkeit die Gegenseite Blöcke senden darf. Dabei sind für das Abspielen des Video-Streams in Echtzeit bestimmte zeitliche Anforderungen gegeben. Ein temporäres Ungleichgewicht kann innerhalb bestimmter Grenzen toleriert werden, ohne dass dies zu negativen Beeinträchtigungen beim Betrachter führt. So kommt es beispielsweise in Mobilkommunikationsnetzen immer wieder zu sogenannten Fading-Einbrüchen, die durch die Mehrwegeausbreitung („Rayleigh-Fading“) bzw. temporäre Abschattung („Slow-Fading“) bedingt sind. Dabei wird die Empfangssignalstärke deutlich reduziert und als Konsequenz auch die Empfangssignalqualität, wenn der resultierende Empfangspegel nahe am Grundrauschen („noise floor“) des Empfängers liegt oder Störsignale („interferer“) weniger stark gedämpft werden.
-
5 zeigt die Datenkommunikationsstrecken des Mobilkommunikationssystems 100 mit seinen Komponenten und Schnittstellen, sowie einen Server 110 im Internet. Das mobile Endgerät 210 ist weiter unterteilt in die logischen Komponenten Sende- und Empfangseinheit 220, Datenpuffer 230 und Darstellungs- und Ausgabeeinheit 240. Letztere beinhaltet sowohl die Hardware zur Darstellung eines Videostreams an einem Bildschirm und die zur Aufbereitung erforderliche Software, als auch den zur Ausgabe eines Audiostreams erforderlichen Audioteil, bestehend aus Hardware (Lautsprecher) und Software. - Die Sende- und Empfangseinheit 220 ist über die interne Datenschnittstelle D1 (250) mit dem Datenpuffer 230 verbunden. Die Daten werden zwischen dem Datenpuffer und der Darstellungs- und Ausgabeeinheit 240 über die interne Datenschnittstelle D2 (260) ausgetauscht. Diese internen Datenschnittstellen D1 und D2 sind in der Regel so dimensioniert, dass sie keinen Engpass für die Darstellung von Videostreams oder Audiostreams darstellen. Deshalb wird hier nur von dem Mobilkommunikationssystem 100 inklusive des Servers 110 im Internet als Engpass gesprochen.
- Im Weiteren verfügt das mobile Endgerät 210 über einen Prozessor 270 zur Weiterverarbeitung der Daten, über Eingabeeinheiten zur Bedienung des Endgerätes 210 sowie weitere Datenspeichereinheiten außerhalb des Anwendungszweckes als Datenpuffer für Streamingapplikationen.
- Schwellwertqesteuertes Verfahren zum Auslösen selektiver Dekodierung
- Die Aktionen zur selektiven Dekodierung sollen ausgeführt werden, wenn eines der folgenden Kriterien oder eine Kombination daraus erfüllt sind:
- 1. Unterschreiten eines absoluten oder relativen Schwellwertes der für die Streaming-Applikation im Datenpuffer enthaltenen Daten:
- Wird ein Streamingdienst über das Hypertext-Übertragungsprotokoll (kurz: http) durchgeführt, so wird zum initialen Füllen des Puffers bereits ein bestimmter Anteil der Gesamtdatenmenge übertragen, z.B. 25%. Da die Teilnehmer oftmals nach den ersten Sekunden einer Videodarstellung auf ein anderes Video weiterklicken, ist es nicht sinnvoll, diesen initialen Anteil zu hoch zu wählen. Die zwischengespeicherte Menge an Daten soll aber hoch genug sein, um die Zeit zu überbrücken, bis die nächste Portion an Daten in den Puffer geschrieben wird. In der Regel werden die Daten zum Füllen des Puffers fortan portionsweise übertragen.
- Erfindungsgemäß werden zwei Schwellwerte definiert. Der Parameter minThdSelectiveDecAbsoluteData gibt die Mindestdatenmenge der im Datenpuffer 230 für diese Applikation vorhandenen Daten an. Die Abkürzung Dec bezieht sich auf die Dekodierung, während für das selektive Senden die Abkürzung Tx (Transmit) verwendet wird. Der Parameter minThdSelectiveDecRelativeData definiert die im Verhältnis zum initialen Füllen noch vorhandene anteilige Datenmenge, z.B. 20%. Über den Prozessor 270 gesteuert soll fortlaufend die im Datenpuffer 230 vorhandene absolute Datenmenge absoluteData und relative Füllmenge relativeData bestimmt werden. Um kurzfristige Schwankungen auszugleichen, sollen beide Messwerte über die Zeit gefiltert werden, z.B. in Form einer exponentiellen Glättung. Fällt ein Messwert oder beide unter die jeweiligen Schwellwerte, so sollen die Schritte zur selektiven Dekodierung eingeleitet werden.
- Der Datenpuffer 230 ist in
5a mit den zugehörigen Schwellwerten noch einmal separat dargestellt. Gestrichelte Linien repräsentieren die zu definierenden Schwellwerte, während die aktuell abgegriffenen Füllstandwerte (absoluteData und relativeData) durch die durchgezogenen Linien dargestellt sind. Der Wert relativeData berechnet sich aus dem Verhältnis von absoluteData zu initAbsoluteData. Letzterer (initAbsoluteData) wird als Bezugsgröße des relativen Wertes verwendet und nicht die Speicherkapazität des Datenpuffers, da der Speicher dynamisch zugeteilt wird und die Hardwareeinheit „Speicher“ für mehrere Applikationen verwendet werden kann. - 2. Unterschreiten eines Schwellwertes für das Verhältnis von aus dem Datenpuffer abfließenden zu einfließenden Daten:
- In heutigen Systemen wird die Darstellung einer Streamingapplikation nach dem initialen Füllen des Datenpuffers 230 gestartet. Ab diesem Zeitpunkt ist die für die unterbrechungsfreie Darstellung notwendige Datenrate messbar. Dazu sollen über den Prozessor 270 gesteuerte Messungen der pro Zeiteinheit aus dem Datenpuffer 230 abfließenden und zur Darstellungs- und Ausgabeeinheit 240 fließenden Datenmenge für diese Applikation durchgeführt werden. Bevorzugt soll auch hier eine zeitliche Filterung der einzelnen Messwerte durchgeführt werden. Der kontinuierlich am Filterausgang abgegriffene Wert wird in der vorliegenden Erfindung als flowRateBufferOutput bezeichnet und kann beispielsweise 1 Mbit/s betragen.
- Parallel dazu soll die in den Datenpuffer 230 einfließende Datenrate gemessen werden. Hierzu soll über den Prozessor 270 gesteuert kontinuierlich gezählt werden, wie viele Daten über die Sende- und Empfangseinheit 220 fehlerfrei, d.h. unter Abzug der Wiederholungen empfangen und für diese Applikation in den Datenpuffer 230 geschrieben wurden. Da nach dem initialen Füllen die Daten für Streamingapplikationen portionsweise übertragen werden, ist auch hier eine zeitliche Filterung der Messwerte erforderlich. Der am Filterausgang kontinuierlich abzugreifende Wert sei als flowRateBufferlnput bezeichnet. In einem Beispiel soll dieser Wert 0,5 Mbit/s betragen.
- In der vorliegenden Erfindung wird das Verhältnis aus einfließender zu ausfließender Datenrate flowRateBufferinputlflowRateBufferOutput fortlaufend, das heißt mit jedem neuen Wert, der an einem oder an beiden Filtern ausgelesen wird, berechnet. Verfügen der Eingangs- und Ausgangsfilter über unterschiedliche Ausgabezyklen, so soll zur Berechnung des aktuellen Verhältnisses der neu ausgegebene Wert des einen Filters verwendet werden und der zuletzt verfügbare Wert des zweiten Filters. Für die beiden oben aufgeführten Beispielwerte hat das Verhältnis
- bufferlnputOutputRatio = flowRateBufferlnput / flowRateBufferOutput
- In manchen Ausführungsbeispielen soll anstelle der Messung der abgeflossenen Datenrate die für die Verbindung ausgehandelte garantierte Datenrate verwendet werden, z.B. den über den QoS-Parameter Guaranteed Bit Rate (GBR) definierten Wert [3GPP TS 23.203 V12.3.0, „Policy and charging control architecture (Release 12)“, 2013, http://www.3gpp.org] [3GPP TS 23.107 V11.0.0, „Quality of Service (QoS) concept and architecture (Release 11)“, 2012, http://www.3gpp.org]. In diesen Ausführungsbeispielen sollen Maßnahmen zur selektiven Dekodierung oder selektivem Senden dann durchgeführt werden, wenn das zeitlich gefilterte Verhältnis bufferlnputOutputRatio = flowRateBufferlnput/ GBR den Schwellwert minBufferInputOutputRatio unterschreitet.
- Kombination der beiden Auslösekriterien
- In einer Ausprägung der vorliegenden Erfindung sollen die Auslösekriterien 1 und 2 durch eine UND-Kombination verbunden werden, d.h. selektive Dekodierung wird erst dann initiiert, wenn das Verhältnis zwischen ein- und ausfließender Datenmenge den Schwellwert minBufferlnputOutputRatio unterschreitet und die absolute oder relative Menge der im Datenpuffer 230 für die Streamingapplikation vorhandenen Daten die Schwellwerte minThdSelectiveDecAbsoluteData bzw. minThdSelectiveDecRelativeData unterscheitet. Das Kriterium dieser Ausprägung z.B. für das Aufrufen der Funktion selectiveDecoding() ist:
IF {[bufferlnputOutputRatio < minBufferlnputOutputRatio] AND [(absoluteData < minThdSelectiveDecAbsoluteData) OR (relativeData < minThdSelec- tiveDecRelativeData)]} THEN selectiveDecoding()
n-1 stufiges Verfahren
Hierzu soll ein n-1 stufiges Verfahren implementiert werden, wobei n die Anzahl der für selektives Dekodieren verwendeten Prioritätsklassen darstellt, exklusive PM = 0.
Für die Verwendung von drei Prioritätsklassen PM = 1, 2 und 3 wird somit ein zweistufiges Verfahren durchgeführt. Der Schwellwert mit der Bezeichnung 3 legt den Beginn der Maßnahmen selectiveDecodingPM3() für mit PM = 3 enkodierte Pakete fest. Das oben beschriebene Kriterium ist damit:
IF {[bufferlnputOutputRatio < minBufferinputOutputRatio3] AND [(abso- lute Data < minThdSelectiveDecAbsoluteData3) OR (relativeData < minThdSelectiveDecRelativeData3)]} THEN selectiveDecodingPM3()
Der Schwellwert mit der Bezeichnung 2 definiert den Beginn der Maßnahmen selectiveDecodingPM2() für die mit PM = 2 enkodierten Pakete. Das oben beschriebene Kriterium ist damit:
IF {[bufferlnputOutputRatio < minBufferInputOutputRatio2] AND [(abso- luteData < minThdSelectiveDecAbsoluteData2) OR (relativeData < minThdSelectiveDecRelativeData2)]} THEN selectiveDecodingPM2()
Bevorzugt werden die Parameter folgendermaßen gesetzt, um zu erreichen, dass zunächst Pakete des niedrigsten Prioritätsmarkers verworfen werden und erst bei einem niedrigeren Füllstand des Datenpuffers die Pakete des nächst höheren Prioritätsmarkers PM = 2:
- ◯ minBufferlnputOutputRatio2 < minBufferlnputOutputRatio3
- ◯ minThdSelectiveDecAbsoluteData2 < minThdSelectiveDecAbsoluteData3
- ◯ minThdSelectiveDecRelativeData2 < minThdSelectiveDecRelativeData3
3. Prognosen bzgl. einer in Kürze eintretenden Verbesserung der Situation
Das Auslösen von Maßnahmen zur selektiven Dekodierung und selektivem Senden bei einem Unterschreiten des Schwellwertes minBufferlnputOutputRatio durch die Variable bufferlnputOutputRatio kann durch Prognosen über eine in Kürze eintretende Erhöhung der Empfangsdatenrate verzögert werden. Ist die Empfangsdatenrate gering, weil der Teilnehmer sich in ungünstigen Kanalbedingungen befindet, letztere aber einen positiven Trend zeigen, so soll das Einleiten von Aktionen zur selektiven Dekodierung bzw. selektivem Senden verzögert werden. Ungünstige Kanalbedingungen auf der Luftschnittstelle zeichnen sich beispielsweise durch geringe Empfangspegel und/oder Empfangsqualität aus. Die Auswahl des Modulations- und Codierschemas (MCS) erfolgt primär anhand der Empfangsqualität, deshalb ist dieser Indikator von höherer Bedeutung. Beide Werte, die Empfangsqualität und der Empfangspegel werden bei aktiven Verbindungen kontinuierlich gemessen, in Abwärtsrichtung durch das mobile Endgerät und in Aufwärtsrichtung durch die Basisstation. Um die Fehlerrate bei ungünstigen Kanalbedingungen gering zu halten, werden hart-kodierte MCS verwendet, d.h. MCS mit einer geringen Nutzdatenrate, aber hoher Redundanz. Erfolgt ein Umschalten beispielsweise von Vierphasenumtastung („Quadrature Phase Shift Keying, QPSK“) auf eine 16-Quadraturamplitudenmodulation („16 Quadrature Amplitude Modulation, 16QAM“), so kann bei gleichbleibender Anzahl der Verbindung zugewiesener Ressource-Blöcke („resource blocks, RB“) eine Erhöhung der Nutzdatenrate erreicht werden. Dies kann beispielsweise aufgrund einer Lastreduzierung der über die Basisstation und deren Transportnetzanbindung versorgten Teilnehmer erfolgen.
Ist eine Erhöhung der Anzahl der Ressource-Blöcke möglich oder zeigt die Verwendung der MCS einen positiven Trend, so kann in diesen Ausführungsbeispielen das Einleiten von Maßnahmen zur selektiven Dekodierung und selektivem Senden verzögert werden.
Ein bevorstehender Zellwechsel kann auch zu einer in Kürze eintretenden Erhöhung der Empfangsdatenrate führen. Ebenso kann das Erreichen des Versorgungsgebietes einer weiteren Basisstation dazu führen, dass über Carrier-Aggregation Daten von mehreren Basisstationen an das mobile Endgerät geschickt werden können. Dies sind typische Anwendungsfälle für LTE-A und 5G-Systeme. Für all diese Ereignisse soll ein Timer t aufgezogen werden und die Maßnahmen zur selektiven Dekodierung bzw. selektivem Senden sollen erst nach Ablauf dieses Timers t angestoßen werden.
4. Prioritäten bei mehrfachen Diensten
Werden an einem mobilen Sendeempfänger oder an den mit diesem verbundenen Geräten oder Sensoren mehrere Dienste gleichzeitig ausgeführt, deren Daten über diese eine Verbindung oder mehreren Verbindungen zu mehreren Basisstationen übertragen werden, so soll eine Priorisierung der Dienste durchgeführt werden. Maßnahmen zur selektiven Dekodierung sollen erst angestoßen werden, wenn die Dienste geringerer Priorität in ihrer Ressourcenzuteilung schon reduziert wurden und immer noch zu wenig Empfangsdaten für den Streaming-Dienst übertragen werden. Die Priorisierung soll sich anhand der QoS-Parameter bzw. QoS Class Identifier (QCI) Klassen richten.
Schwellwertgesteuertes Verfahren zum Auslösen selektiver Dekodierung
Die Auslösepunkte zur Durchführung von Maßnahmen zur selektiven Dekodierung sind damit:
- 1. Das Unterschreiten der aktuell im Datenpuffer 230 des mobilen Endgerätes für die betrachtete Applikation verfügbaren absoluten oder relativen Datenmenge (absoluteData < minThdSelectiveDecAbsoluteData oder relativeData < min ThdSelectiveDecRelativeData).
- 2. Das Unterschreiten eines Schwellwertes durch das Verhältnis von in den Puffer einlaufenden zu aus dem Puffer abfließenden Daten (bufferlnputOutputRatio < minBufferlnputOutputRatio).
- 3. Ablauf des Timers t.
Die ersten beiden Punkte sollen einzeln oder in Kombination über eine UND-Verknüpfung den Start eines mehrstufigen Verfahrens zur Durchführung selektiver Dekodierung auslösen. Der dritte Punkt stellt eine Verzögerung dieser Maßnahmen bis zum Ablauf des Timers t dar.
Mehrstufiges Verfahren zur Durchführung selektiver Dekodierung und selektiven Sendens
Maßnahme A: Selektives Dekodieren
Schritt 1: Im ersten Schritt sollen Anforderungen zum erneuten Übertragen fehlerhaft empfangener Daten („Re-transmissions“) unterbunden werden. Stattdessen sollen nur Vorwärtsfehlerkorrekturmaßnahmen („forward error correction“) durchgeführt werden. Dazu soll bei Übertragungsfehlern für die mit dem niedrigsten Prioritätsmarker versehenen Szenen nicht versucht werden, durch eine erneute Anforderung das fehlerhaft empfangene Datenpaket zu korrigieren.
Gelingt es durch die Vorwärtsfehlerkorrekturmaßnahmen nicht, die Daten korrekt wiederherzustellen, so sollen bei Audio-Streams alleine FehlerverdeckungsMaßnahmen („Error-Concealment“) durchgeführt werden, um die beim Hörer subjektiv empfundene Degradation der Qualität gering zu halten. Dies erfolgt im heutigen Mobilkommunikationssystem beispielweise durch das Kopieren des davorliegenden Sprachrahmens kombiniert mit einer Reduzierung der Lautheit. Für Video-Streams sollen durch Extrapolation des vorherigen Rahmens zwar härtere Übergänge zu dem danach folgenden Rahmen in Kauf genommen werden, aber dadurch eine weitere Verzögerung in der Datenübertragung vermieden werden.
Um zu vermeiden, dass eine Unterbrechung der Streaming-Darstellung am Ausgabegerät eintritt, soll die Menge der zu übertragenden Daten reduziert werden. Dies erfolgt erfindungsgemäß in einem ersten Schritt dadurch, dass Wiederholungen von fehlerhaft empfangenen Datenpaketen, die mit einem Prioritätsmarker PM = 3 klassifiziert sind, nicht stattfinden. Die einzelnen MCS sind so abgestuft, dass Blockfehlerraten typischerweise bei 10% bis 20% liegen. Für eine fehlerfreie Datenübertragungen müssen 10% bis 20% der Pakete erneut übertragen werden, dennoch ist der resultierende Nutzdatendurchsatz bei dem weniger hart kodierten MCS höher, als auf ein härter kodiertes MCS umzuschalten, das zwar aufgrund der härteren Kanalkodierung eine geringere Blockfehlerrate aufweist, aber weniger Bits für die Übertragung von Nutzdaten bereitstellt.
Durch das Unterbinden dieser Wiederholungen wird die Menge der zu übertragenden Daten um die Wiederholungen reduziert.
Diese Maßnahme kann bei Übertragungsengpässen für alle Prioritätsmarker durchgeführt werden, bevorzugt soll aber zunächst die selektive Dekodierung nur für die unteren Stufen durchgeführt werden, d.h. ein Nicht-Dekodieren von Datenpaketen, die mit PM = 3 und PM = 2 gekennzeichnet sind. Dies entspricht dem Grundsatz dieser Erfindung, bevorzugt einzelne Szenen komplett wegzulassen, als Echtzeitanforderungen für die wichtigen Szenen zu verletzen.
- • Änderungen in den unteren Protokollschichten:
- Für diese Pakete muss die Anforderung eines wiederholten Sendens dieses Pakets deaktiviert werden, d.h. das mobile Endgerät schickt für dieses Paket ein ACK (acknowledgement) anstelle eines NACK (negative acknowledgement) an die Basisstation. Die Basisstation bestätigt dann dem Sender (Streaming-Server), dass das nicht-dekodierte Paket richtig angekommen sei und der Sender verzichtet damit auf ein wiederholtes Senden dieses Pakets.
- • Änderungen in den höheren Protokollschichten:
- Ebenso muss auf der Darstellungsseite (mobiles Endgerät) dafür gesorgt werden, dass die höheren Schichten des Übertragungssteuerungsprotokolls (Transmission Control Protocol / Internet Protocol, TCP/IP) die nichtdekodierten und damit fehlenden Datenpakete nicht nochmals vom Sender (Streaming-Server) anfordern.
Der Vorteil dieser Maßnahme ist: Je seltener auf Paketwiederholungen gewartet werden muss und je weniger Pakete weniger relevanter Szenen dekodiert werden müssen, desto schneller kann der Datenpuffer mit Daten wichtiger Szenen gefüllt werden. Damit kann ein Leerlaufen des Datenpuffers vermieden werden und damit eine Unterbrechung bei der Darstellung der Streaming-Applikation. Es wird auch ein Auseinanderlaufen der Zeitachsen vermieden, damit kann der Echtzeitcharakter des übertragenen Ereignisses erhalten bleiben und das am Display dargestellte Fußballspiel endet nahezu zeitgleich mit dem Ende des echten Spiels im Stadion.
In 4 sind die gemäß dieser Erfindung enkodierten Prioritätsmarker dargestellt. Die Darstellung der Streaming-Applikation am Bildschirm des mobilen Endgeräts 210 beginnt zum Zeitpunkt t1' nach einer initialen Füllphase des Datenpuffers. Sind im darauffolgenden Verlauf die Auslösekriterien für selektives Dekodieren von Paketen mit PM = 3 erfüllt, so werden ab diesem Zeitpunkt für fehlerhaft empfangene Pakete dieser PM-Klasse keine Wiederholungen mehr angefordert.
Schritt 2: Ist nach Ablauf eines prioritätsmarkerabhängigen Timers tPM3 die Bedingung für selektives Dekodieren immer noch gegeben, so werden in einem zweiten Schritt mit PM = 3 enkodierte Pakete nicht mehr dekodiert und damit verworfen. Im Gegensatz zum Schritt 1 werden nicht nur fehlerhaft empfangene, sondern ganze Sequenzen einer Streaming-Applikation für die Darstellung nicht berücksichtigt. Dadurch entstehen Lücken, deren Übergänge durch Ein- und Ausblenden oder ähnliche Maßnahmen für den Betrachter als weniger hart erscheinen sollen.
- • Der Empfänger soll dem Sender den erfolgreichen Erhalt dieser Pakete durch eine ACK-Message quittieren, so dass dieser die verworfenen Datenpakete nicht noch einmal sendet.
- • Ebenso soll die Applikation das Fehlen von Paketen akzeptieren, so dass vermieden wird, dass die höheren Schichten ein erneutes Senden dieser Pakete anfordern.
Sobald die Voraussetzungen für selektives Dekodieren von PM = 2 Paketen gegeben sind, also die für diesen Prioritätsmarker definierten Schwellwerte unterschritten sind, sollen die in Schritt 1 und 2 definierten Maßnahmen für mit PM = 2 enkodierte Pakete durchgeführt werden und zwar unabhängig davon, welche Schritte gerade für Pakete der Klasse PM = 3 durchgeführt werden. So können während eines bestimmten Zeitintervalls für Pakete mit PM = 2 nur die Wiederholungen falsch dekodierter Pakete nicht mehr angefordert werden (Schritt 1), während Pakete mit PM = 3 bereits komplett verworfen werden.
Maßnahme B: Selektives Senden
Der Streaming-Service, beispielsweise die Übertragung einer Ballett-Liveaufführung, wird an Teilnehmer mit unterschiedlichen Übertragungsbedingungen gesendet. Für die dedizierte Verbindung zu einem bestimmten Teilnehmer sollen gemäß der Erfindung, abhängig von der Empfangsdatenrate am mobilen Endgerät, einzelne Szenen mit bestimmten Prioritätsmarkern, z.B. PM3 oder PM2 von der Basisstation oder bevorzugt von der Datenquelle (Streaming-Server) nicht gesendet werden. Bevorzugt wird eine ursprünglich lange Szene mit Prioritätsmarker 3 in mehrere kleinere Szenen mit unterschiedlichen Prioritätsmarkern unterteilt. So kann beispielsweise das Bild eines für 20 Sekunden geschlossenen Bühnenvorhangs in eine erste Szene von 8 Sekunden Dauer mit Prioritätsmarker 3 unterteilt werden, gefolgt von einer zweiten Szene, die für eine Dauer von 4 Sekunden mit einem Prioritätsmarker 2 enkodiert wird und anschließend wieder eine Szene von 8 Sekunden Dauer mit Prioritätsmarker 3. Das hat den Vorteil, dass je nach Lastsituation und Übertragungsbedingungen die zweite Szene gesendet und am mobilen Endgerät dekodiert wird, wodurch der Teilnehmer den reellen Zeitablauf näher mitbekommt, ohne dass Unterbrechungen beim Abspielen der Streaming-Applikation auftreten.
Auslösekriterien für Selektives Senden
In einem Ausführungsbeispiel (a) liegt die Detektion zur Durchführung von Maßnahmen zum selektiven Senden beim mobilen Endgerät und die Basisstation wird durch eine Nachricht des mobilen Endgerätes an die Basisstation informiert, diese Maßnahmen durchzuführen und durch eine weitere Nachricht, diese Maßnahmen wieder einzustellen. In einem weiteren Ausführungsbeispiel (b) liegt die Kontrollinstanz für die Durchführung von selektivem Senden bei der Basisstation, ein Austausch mit dem mobilen Endgerät erfolgt nur, um zu vermeiden, dass die höheren Schichten des Protokoll-Stacks das Senden der fehlenden Datenpakete anfordert.
(a) Durch den Empfänger angefordertes selektives Senden
Die in dieser Erfindung für selektives Dekodieren eingeführten absoluten und relativen Schwellwerte sollen ergänzt werden durch absolute und relative Schwellwerte für selektives Senden. Für die n Prioritätsmarker sollen n-1 Schwellwerte definiert werden, beginnend mit n = 2 für den ersten Prioritätsmarker PM = 2, für dessen Datenpakete selektives Senden durchgeführt werden darf. Ebenso wie für selektives Dekodieren definiert, sollen Datenpakete mit PM = 1 komplett übertragen und dekodiert werden. Schwellwerte, die sich auf die absolute Datenmenge beziehen, sind minThd-SelectiveTxAbsoluteData2, minThdSelectiveTxAbsoluteData3, ... , minThdSelectiveTxAbsoluteData(n). Schwellwerte, die sich auf eine relative Datenmenge beziehen, sind minThdSelectiveTxRelativeData2, minThdSelectiveTxRelativeData3, ..., minThdSelectiveTxRelativeData(n).
Unterschreitet der absolute und/oder relative Füllstand des Datenpuffers einen dieser Schwellwerte, so informiert das mobile Endgerät die Basisstation, dass fortan Datenpakete, die über den entsprechenden Prioritätsmarker verfügen, nicht in Abwärtsrichtung von der Basisstation zum mobilen Endgerät gesendet werden sollen. Ein Beispiel hierfür ist, dass Datenpakete, die mit PM = 2 gekennzeichnet wurden, nicht mehr gesendet werden, wenn die im Puffer für diese Applikation verfügbare Datenmenge den Schwellwert minThdSelectiveTxAbsoluteData2 bzw. minThdSelectiveTxRelativeData2 unterschreitet. Dasselbe Prinzip soll in der Gegenrichtung für das Versenden von Datenpaketen einer Streaming-Applikation an das Mobilkommunikationsnetz angewandt werden. Ein Beispiel hierfür ist das Versenden eines über die On-Board-Kamera eines Fahrzeuges aufgenommenen Video-Streams.
Zugleich soll der Empfänger für die fehlenden Datenpakete keine Wiederholungen beim Sender anfordern. Dies gilt sowohl für die unteren Schichten des Protokoll-Stacks, als auch für die oberen Schichten. Über letzteres wird unterbunden, dass die Applikation das Senden bewusst nicht gesendeter Datenpakete anfordert. Dadurch werden Datenpakete von weniger wichtigen Szenen nicht übertragen. In Überlastsituationen erfolgt eine lückenhafte Übertragung, aber der Bezug zur Echtzeit bleibt erhalten. Die der Verbindung zugeteilten Übertragungsressourcen können zur Übertragung von Datenpaketen darauffolgender Szenen verwendet werden, die einen höheren Prioritätsmarker ausweisen. Zusätzlich sollen Hysteresen definiert werden. Selektives Senden soll beendet werden, wenn die absolute und/oder relative Füllmenge des Datenpuffers den jeweiligen Schwellwert plus die konfigurierte Hysterese überschreitet.
In einem weiteren Ausführungsbeispiel sendet der Empfänger, z.B. das mobile Endgerät über einen Signalisierungskanal eine Meldung an den Sender, z.B. die Basisstation, dass der Füllstand des Datenpuffers einen bestimmten Schwellwert unterschritten hat und meldet, sobald dieser wieder überschritten ist. Anhand dieser Meldungen trifft die Basisstation dann die Entscheidung für selektives Senden. Alternativ kann der Füllstand des Datenpuffers kontinuierlich übertragen werden.
(b) Durch den Sender initiiertes selektives Senden
QoS-Parameter, wie die garantierte Bitrate („guaranteed bit rate, GBR“) oder die mit den jeweiligen QCI-Klassen verbundenen Delay-Werte werden zwischen dem mobilen Endgerät und den Core-Netzelementen des Mobilkommunikationssystems ausgehandelt. Bei LTE/LTE-A und 5G findet das Radio Resource Management (RRM) und damit die Zuteilung der Ressourcen in der Basisstation (eNodeB) statt. In LTE können bis zu acht Träger („bearer“) zu einem mobilen Endgerät aufgebaut werden. Jeder Träger verfügt dabei über einen zugehörigen QCI, eine definierte maximale Bitrate („maximum bit rate, MBR“), eine garantierte Bitrate („guaranteed bit rate, GBR“) und eine teilnehmerspezifische Allocation/Retention Priority. Der QCI ist ein Index, der die Priorität des Trägers, die zulässige Verzögerung („delay“), die Paketfehlerrate („packet error rate“) und weitere Charakteristika („GBR oder non-GBR“) repräsentiert.
Für die aufkommende 5G-Technologie ist es vorgesehen, die Ressourcen des Mobilkommunikationssystems in Stücke, sogenannte logische Slices, zu unterteilen. Unterschiedlichen Anwendungsbereichen werden dabei unterschiedliche Slices zugeteilt, für die bestimmte QoS-Profile bestehen, z.B. kurze Verzögerungszeiten oder hohe Durchsatzraten. So kann beispielsweise dem Anwendungsbereich „Autonomes Fahren“ ein Slice zugeteilt werden mit einer entsprechenden Menge virtualisierter Ressourcen.
Beim Aufbau oder der Änderung eines Trägers werden die Attribute QCI, MBR, GBR und ARP vom Core-Netz des Mobilkommunikationssystems an das Funknetz („Radio Access Network, RAN“) übermittelt. Damit haben das im eNodeB implementierte RRM, insbesondere die dynamische Bandbreitenzuteilung („adaptive transmission bandwidth, ATB“) und der Scheduler Kenntnis über die Dienstanforderungen und können die entsprechende Menge an Übertragungsressourcen zuteilen.
In der vorliegenden Erfindung soll diese Kenntnis für die Entscheidung zur Durchführung von selektivem Senden verwendet werden. Dazu soll in der Basisstation („eNodeB“) die vom Sender abfließende Nettodatenrate gefiltert ausgegeben werden. Die Nettodatenrate soll die Nutzbits angeben, unter Abzug von Protokoll-Headern und Wiederholungen. Nach dem initialen Füllen des Datenpuffers beim Empfänger (in Abwärtsrichtung am mobilen Endgerät) soll der geglättete Filter-Ausgabewert mit der für diese Anwendung ausgehandelten GBR verglichen werden. Dazu wird bevorzugt das Verhältnis aus abfließender Nettodatenrate und GBR gebildet. Unterschreitet es einen Schwellwert minFlowRatioSelectiveTx, so sollen die Maßnahmen zum selektiven Senden initiiert werden. Zusätzlich soll ein Hysteresewert hystFlowRatioSelectiveTx eingeführt werden und die Maßnahmen zum selektiven Senden sollen wieder beendet werden, wenn das Verhältnis aus Nettodatenrate und GBR wieder über den Wert minFlowRatioSelectiveTx + hystFlowRatioSelectiveTx steigt.
Das Erkennen des Startpunktes, also des Endes des initialen Füllen des Datenpuffers, soll bevorzugt anhand der Analyse des Übertragungsprofils erfolgen. Hierzu ist in 6 der Zeitverlauf der für ein Video-Stream übertragenen Datenmenge für vier unterschiedliche Video-Auflösungen schematisch dargestellt. Auf der linken Seite ist der Verlauf für eine Auflösung von 360p dargestellt. Die Zahl 360 steht hierbei für die vertikale Auflösung und der Buchstabe p für progressive Bildübertragung. Der Aufbau der Verbindung beginnt zum Zeitpunkt t1 und die pro Zeiteinheit übertragene Menge an Daten M(t) zeigt ein lokales Maximum M2(t2) zum Zeitpunkt t2. Zum Zeitpunkt t3 ist das initiale Füllen des Datenpuffers abgeschlossen und es wurde ungefähr ein Viertel der Gesamtdatenmenge übertragen. Die weiteren Daten werden dann portionsweise in deutlich geringerer Menge pro Zeiteinheit übertragen bis die Übertragung zum Zeitpunkt t4 beendet ist. Zum Zeitpunkt t5 beginnt die Übertragung des Video-Clips bei einer Auflösung von 480p und die pro Zeiteinheit übertragene Datenmenge erreicht ihr Maximum zum Zeitpunkt t6. Das initiale Füllen des Datenpuffers ist zum Zeitpunkt t7 abgeschlossen und auch in diesem Beispiel ist eine eindeutige Unterscheidbarkeit zum darauffolgenden, portionsweisen Übertragen der weiteren Daten gegeben.
In einem Ausführungsbeispiel soll die vom Sender (in Abwärtsrichtung ist dies die Basisstation) pro Zeiteinheit an den Empfänger (in Abwärtsrichtung ist dies das mobile Endgerät) übertragene Datenmenge kontinuierlich erfasst werden. Ein signifikanter Abfall der pro Zeiteinheit übertragenen Datenmenge M(t) soll als Indikator für das Ende des initialen Füllens des Datenpuffers verwendet werden. Dies ist durch die Differenz ΔM23 bzw. ΔM67 dargestellt. Das Ende des initialen Füllens des Datenpuffers soll also als derjenige Zeitpunkt erkannt werden, wenn für zwei aufeinanderfolgende Zeitpunkte ta und tb die relative Differenz der übertragenen Daten Ma und Mb bezogen auf Ma größer als eine festlegbare Differenz ΔMab ist, d.h.
Es soll dabei nicht der Absolutbetrag der relativen Differenz der Datenmenge verwendet werden, um die zeitliche Reihenfolge zu berücksichtigen. Würde der Absolutbetrag dieser Differenz verwendet werden, d.h. so würde bereits der Anstieg von t5 auf das lokale Maximum bei t6 fälschlicherweise als Indikator für das Ende des initialen Füllen des Datenpuffers betrachtet werden. Hierzu muss aber der negative Gradient als Indikator dienen, was erreicht ist, wenn
Ein fehlerhaftes Identifizieren des Abfalls nach t1 als Ende des initialen Füllen des Datenpuffers kann dadurch vermieden werden, dass eine Mindestzeitspanne und/oder eine Mindestdatenmenge als zusätzliches Kriterium verwendet werden. Die Übertragung des in 6 dargestellten Video-Clips bei einer Auflösung von 480p ist zum Zeitpunkt t8 abgeschlossen. Aufgrund der höheren Auflösung 2 (480p) ist auch die zwischen t7 und t8 übertragene Anzahl an Daten höher als die zwischen den Zeitpunkten t3 und t4 für die Auflösung 1 (360p). Es folgt die Übertragung desselben Video-Clips bei einer Auflösung von 720p, beginnend zum Zeitpunkt t9 und abgeschlossen zum Zeitpunkt t10. Das automatisierte Erkennen des Endes des initialen Füllens des Datenpuffers gestaltet sich hier deutlich schwieriger, weil die nach dem initialen Füllen pro Zeiteinheit übertragene Datenmenge ein ähnliches Niveau hat wie die zum initialen Füllen übertragene. Das oben beschriebene Differenzkriterium würde das Ende des initialen Füllens des Datenpuffers nicht hinreichend zuverlässig erkennen. Deshalb soll hierfür ein Timer aufgezogen werden und zusätzlich ein Counter für die Menge der übertragenen Daten. Das Ende des initialen Füllens des Datenpuffers soll als der Zeitpunkt definiert werden, zu dem entweder das Differenzkriterium ODER eines der letzteren Kriterien erfüllt ist, der Ablauf des Timers oder das Erreichen eines Grenzwertes durch das Hochzählen des Counters.
Eine weitere Übertragung bei einer Auflösung von 1080p ist in 6 dargestellt mit einer längeren Übertragungsdauer t12 - t11 im Vergleich zum Intervall t10 - t9 aufgrund der höheren zu übertragenden Datenmenge. Für die Aufwärtsrichtung vom mobilen Endgerät zur Basisstation soll selektives Senden vom mobilen Endgerät durchgeführt werden. In diesem Fall sollen beide Schwellwerte minFlowRatioSelectiveTx und hystFlowRatioSelectiveTx im mobilen Endgerät verwendet werden und die Maßnahmen zum selektiven Senden durch das mobile Endgerät initiiert und auch wieder beendet werden.
Durch das selektive Senden wird ein unnötiges Übertragen von Datenpaketen vermieden, die beim mobilen Endgerät aufgrund ihres Prioritätsmarkers PM nicht dekodiert werden. Nützlich ist dies vor allem für Situationen, in denen viele Teilnehmer gleichzeitig in einer Zelle des Mobilkommunikationssystems Streaming-Dienste nutzen. Beispiele im Bereich des autonomen Fahrens sind Übertragungen von Hindernissen, die unerwartet auf der Straße auftreten oder Live-Übertragungen einer Kultur- oder Sportveranstaltung im Bereich des Infotainments (information and entertainment) [Claudia Campolo, Antonella Molinaro, Riccardo Scopigno, Vehicular ad hoc Networks, Springer-Verlag, 2015, ISBN 978-3-319-15496-1, http://www.springer.com/de/book/9783319154961]. Im ersten Fall ist die Aufwärtsrichtung betroffen und im zweiten Fall die Abwärtsrichtung. Besonders vorteilhaft wirkt sich dies in Mobilkommunikationssystemen im Time Division Duplex (TDD) Mode aus, z.B. in LTE TDD, in der eine Bandbreitenreduzierung in einer Richtung eine Bandbreitenerhöhung in der Gegenrichtung ermöglicht.
Selektives Senden hat einen weiteren Vorteil: Nicht nur für den betrachteten Teilnehmer werden die relevanten Szenen rechtzeitig an dessen Ausgabegerät dargestellt, selektives Senden in Überlastsituationen kommt allen in dieser Funkzelle aktiven Teilnehmern zugute. Entstehen Kapazitätsengpässe aufgrund einer temporären hohen Anzahl an Teilnehmern, z.B. aufgrund eines Hindernisses auf einer stark befahrenen Straße, wird durch selektives Senden die Gesamtmenge an zu übertragenden Daten reduziert. Dies ist ein selbstheilender Prozess, denn in diesen Situationen kommt es zu einem Aufschaukeln der zu übertragenden Daten. Diese können in Standardsituationen aufgrund der natürlichen Fluktuationen des Verkehrs abgebaut werden, nicht aber in Situationen, die über einen längeren Zeitraum in Überlast sind. Durch selektives Senden steht damit ein größerer Anteil der in der Funkzelle verfügbaren Ressourcen für andere Teilnehmer zur Verfügung. Wird das hier beschriebene lastabhängige selektive Senden für mehrere Verbindungen durchgeführt, so kann die Überlastsituation schnell reduziert werden.
Die sich über die Zeit ändernden Übertragungsbedingungen auf der Luftschnittstelle des Mobilkommunikationssystems sind in groben Stufen in 400 repräsentiert. Das Diagramm in 410 zeigt den zeitlichen Verlauf der Menge an Daten, die für diese Streaming-Applikation im Speicher des mobilen Endgerätes 210 zwischengespeichert werden. Die Skala zeigt den Nullwert (0) und den Maximalwert (max) an, sowie die beiden Schwellwerte minThdSelectiveDecAbsoluteData2 und minThdSelectiveDecAbsoluteData3. Der Wert initAbsoluteData symbolisiert das Niveau des initialen Füllens des Datenpuffers. Zudem ist der Schwellwert minThdSelectiveTxAbsoluteData3 zur Durchführung von selektivem Senden von Datenpaketen, die mit PM = 3 enkodiert wurden, dargestellt.
Aus Gründen der Übersicht zeigt 7 nicht den Schwellwert minThdSelectiveTxAbsoluteData2 zur Durchführung von selektivem Senden von Datenpaketen mit PM = 2. Um die Darstellung zu vereinfachen, wurden hierbei die absoluten Schwellwerte und nicht die relativen dargestellt. Die Übertragungszeiten der Pakete über das Mobilkommunikationsnetz sind hier als verschwinden klein angenommen, so dass zum Zeitpunkt t1 das Füllen des Datenpuffers des mobilen Endgeräts 210 beginnt. Zum Zeitpunkt t1, ist der Füllstand initAbsoluteData erreicht und das Abspielen der ersten Szene an der Darstellungseinheit des mobilen Endgerät 210 beginnt. Während der Darstellungszeit der ersten Szene sei die Menge der aus dem Datenpuffer abfließenden Daten vereinfachend als gleich groß der Menge an ankommenden Daten angenommen, so dass der Füllstand des Datenpuffers konstant bei initAbsoluteData bleibt. Dies sei bis zum Ende der Darstellung der ersten Szene zum Zeitpunkt t2, angenommen.
Ab dem Zeitpunkt t2, verschlechtern sich die Übertragungsbedingungen 400, beispielsweise durch sich verändernde Kanalbedingungen durch Bewegen des Teilnehmers von der Basisstation in Richtung Zellrand. Gleichbedeutend hiermit wäre die Allokation zusätzlicher Teilnehmer in der Zelle, die durch dieselbe(n) Basisstation(en) bedient werden und sich die verfügbaren Ressourcen teilen. In beiden Fällen kommt es zu einer geringeren Empfangsdatenrate am mobilen Endgerät 210, im ersten Fall durch das Umschalten auf robustere MCS, die pro Zeiteinheit eine geringere Anzahl an Nutzdaten übertragen und/oder einer höheren Blockfeherrate und im zweiten Fall durch die geringere Zuweisung von Übertragungskapazitäten an das betrachtete mobile Endgerät 210.
Zum Zeitpunkt t2, sind bereits ein Großteil der Daten der zweiten Szene im Datenpuffer des mobilen Endgerätes 210 enthalten, der Füllstand kann aber nicht bei initAbsoluteData aufrechterhalten werden und fällt ab. Dargestellt ist dies in 7 durch 420. Unter der Annahme einer für die Applikation gleichbleibenden, aus dem Datenpuffer abfließenden Datenrate bedeutet dies, dass das Verhältnis
- bufferlnputOutputRatio = flowRateBufferlnput / flowRateBufferOutput
Am Punkt 430 unterschreitet die Menge der im Datenpuffer für diese Streaming-Applikation enthaltenen Daten den Schwellwert minThdSelectiveDecAbsoluteData3. Ab diesem Zeitpunkt wird der Timer tPM3 aufgezogen und es wird in einem ersten Schritt nur mehr Vorwärtsfehlerkorrektur für Datenpakete durchgeführt und keine Wiederholungen fehlerhaft dekodierter Datenpakete angefordert. Da nach Ablauf des Timers tPM3 am Punkt 440 die Bedingung für selektives Dekodieren immer noch gegeben ist, wird der zweite Schritt initiiert und es werden die mit PM = 3 gekennzeichneten Datenpakete nicht mehr dekodiert. Da die Pakete sequentiell von der Datenquelle (Server) übertragen werden, belegen sie nach wie vor Ressourcen auf der Luftschnittstelle, es muss aber nicht die korrekte Reihenfolge abgewartet werden, weil diese Pakete verworfen werden. Dies ist insbesondere für sogenannte Carrier-Aggregation Systeme von Vorteil, wie sie in 2G- und 3G-, aber vor allem in LTE-, LTE-A und 5G-Systemen bestehen. In 2G- und 3G-Systemen empfängt das mobile Endgerät 210 an unterschiedlichen Empfängern Daten, die von der Basisstation über unterschiedliche Träger (auch englisch Carrier) gesendet wurden [M. Säily, G. Sebire, E. Riddington, GSM/EDGE: Evolution and Performance, John Wiley & Sons, Ltd, 2010, ISBN: 978-0-470-74685-1, http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470746858,descCd-tableOfContents.html]. Beide Träger befinden sich in diesen Technologien typischerweise in derselben Basisstation, wobei die Interferenz auf der oder den Frequenzen, die von einem ersten Träger verwendet werden, höher sein kann als die Interferenz auf den für einen zweiten Träger verwendeten Frequenzen. In LTE- und LTE-A Systemen wird dagegen auch Inter-Site Carrier-Aggregation durchgeführt, das mobile Endgerät empfängt dabei Daten von verschiedenen Basisstationen und fügt sie im Empfangsmodul zusammen. Systemübergreifendes Senden von Daten ist ein wesentliches Prinzip von 5G-Systemen, in denen beispielsweise das mobile Endgerät gleichzeitig Daten von verschiedenen 5G- und LTE-/LTE-A Basisstationen empfängt.
Unter Verwendung des in dieser Erfindung beschriebenen Verfahrens für selektives Dekodieren muss nicht das vollständige Empfangen von Paketen der Szene n-1 abgewartet werden, bis Pakete der Szene n empfangen werden, sondern es können Pakete der mit einem hohen Prioritätsindikator PM = 1 enkodierten Szene n bereits dekodiert werden, während parallel dazu die eintreffenden Pakte der mit PM = 3 enkodierten Szene n-1 verworfen werden.
Am Punkt 450 wird die Schwelle minThdSelectiveTxAbsoluteData3 unterschritten und es werden von der Basisstation keine mit Prioritätsmarker PM = 3 enkodierten Pakete mehr gesendet. In diesem Beispiel stellt die Luftschnittstelle den limitierenden Faktor für den Datendurchsatz dar.
Da seit dem Zeitpunkt t4 Daten der mit PM = 2 gekennzeichneten vierten Szene verfügbar sind, schützt ein Nichtsenden der verbleibenden Datenpakete der Szene 3 und stattdessen ein Übertragen der mit dem höheren Prioritätsmarker gekennzeichneten Datenpakete der Szene 4, vor einem weiteren Auseinanderlaufen der Zeitskalen. In diesem Beispiel werden in diesem Zeitrahmen die Übertragungsbedingungen besser, was durch den steilen Verlauf der Kurve zwischen den Punkten 450 und 460 dargestellt ist. In diesem Ausführungsbeispiel sei der Schwellwert zum Beenden von selektivem Senden von PM = 3 Datenpaketen mit dem Schwellwert für selektives Dekodieren von PM = 2 Datenpaketen minThdSelectiveDecAbsoluteData2 gleichgesetzt. Ab dem Punkt 460 wird nur mehr selektives Dekodieren durchgeführt für die mit PM = 3 gekennzeichneten Rahmen, während nach Überschreiten des Schwellwertes minThdSelectiveDecAbsoluteData2 keinerlei Maßnahmen zum selektiven Dekodieren mehr durchgeführt werden. Aus Gründen der Übersicht wurden keine Hysteresen eingezeichnet, diese können aber in weiteren Ausführungsbeispielen konfiguriert werden, um ein zu häufiges Wechseln zwischen den Maßnahmen zu vermeiden.
Am Punkt 480 überschreitet der Füllstand des Datenpuffers mit den besser werdenden Übertragungsbedingungen den initialen Schwellwert initAbsoluteData. Mit den hier durchgeführten Maßnahmen wurde die Gefahr einer Unterbrechung der Streaming-Applikation verhindert. Der Teilnehmer spürt die durchgeführten Maßnahmen durch fehlende Teile von Szenen und mehr oder weniger abgehackten Übergängen zwischen aufeinanderfolgenden Bildern, weil anstelle von erneutem Senden von fehlerhaft empfangenen Datenpaketen nur eine Vorwärtskorrektur durchgeführt wurde. Auch Sprünge im Ablauf der Streaming-Applikation sind vorhanden, weil durch selektives Dekodieren und selektives Senden Teile der weniger wichtigen Szenen nicht übertragen wurden.
Das wesentliche Ziel wurde aber erreicht: Das Verhindern eines Auseinanderlaufens der Zeiten t und t'. Der Darstellungszeitpunkt t5' (Punkt 490) des Endes der vierten Szene (Beginn der fünften Szene) liegt so, dass mit t5' - t1' = t5 - t1 seit Beginn der Darstellung dieselbe Zeitdauer beim Betrachter durchlaufen wurde wie beim Sender und das Ende der vierten Szene nur um den Zeitversatz durch das initiale Füllen des Datenpuffers verschoben ist. Das Ende eines Fußballspiels sieht der Betrachter daher nahezu zeitgleich mit dem tatsächlichen Ende des Spiels.
Das in 7 dargestellte Beispiel beinhaltet die mit PM = 1 gekennzeichnete Szene 5. Gemäß dieser Erfindung werden für Datenpakete mit PM = 1 keine Maßnahmen zur selektiven Dekodierung durchgeführt. Somit entspricht dieser Teil dem Systemverhalten gemäß des Stands der Technik.
Ab dem Zeitpunkt t5, werden Daten der mit PM = 1 markierten fünften Szene am Ausgabegerät dargestellt (490). Die zu diesem Zeitpunkt vorherrschenden guten Übertragungsbedingungen verschlechtern sich ab dem Punkt 500 kontinuierlich. Dies ist ein typisches Szenario für ein sich von der Basisstation wegbewegendes Fahrzeug, dessen mobiles Endgerät 210 eine Streaming-Applikation durchführt. Noch sind genügend Daten im Puffer vorhanden, um die durch die Applikation geforderte Datenrate aufrecht zu erhalten. Durch die schlechten Kanalbedingungen auf der Luftschnittstelle können nicht genügend Daten zwischen der Basisstation und dem mobilen Endgerät 210 übertragen werden, so dass das Verhältnis zwischen den in den Puffer einfließenden und abfließenden Daten geringer als 1 ist. Im Folgenden unterschreitet die absolute Menge der im Puffer gespeicherten Daten die Schwellwerte minThdSelectiveDecAbsoluteData3 und minThdSelectiveDecAbsoluteData2 (510), es dürfen aber keine Maßnahmen zur selektiven Dekodierung ergriffen werden, weil die Pakete dieser Szene den Prioritätsmarker 1 besitzen und komplett dargestellt werden müssen. Nach zwischenzeitlichem Unterscheiten des Schwellwertes minThdSelectiveTxAbsoluteData3 wird am Punkt 520 der Pufferstand 0 erreicht, das heißt es sind keine Daten für diese Applikation im Puffer des mobilen Endgerätes 210 enthalten. Es beginnt ab dem Punkt 520 die sogenannte Rebuffering-Time Δtr5', während dieser Daten in den Puffer des mobilen Endgerätes 210 geschrieben werden, aber nicht abfließen. Diese Rebuffering-Unterbrechung erscheint dem Teilnehmer als eingefrorener Bildschirm bei einer Video-Streaming Applikation bzw. als Stille-Periode bei einem Audio-Stream. Ab dem Punkt 530 ist die Rebuffering-Dauer zu Ende und die Streaming-Applikation wird am Ausgabegerät fortgesetzt.
Weitere Anwendungsfälle für die selektive Übertragung unter Einführung eines Prioritätsmarkers:
- 1. Video-Telekonferenz:
- • Aufteilung eines Videobildes (z.B. eine von einer Kamera aufgezeichnete Videokonferenz-Aufnahme) in Teilbereiche unterschiedlicher Relevanz (Beispiel: aktueller Sprecher hat eine hohe Relevanz, die umgebenden Personen eine geringere).
- • Anpassung der Kompression auf Basis des für den jeweiligen Teilbereich definierten Prioritätsmarkers (Beispiel: Teilbereich des Bildes mit dem aktuellen Sprecher wird mit einem niedrigen Quantisierungsparameter [=hohe Bildqualität] enkodiert, die umgebenden Teilbereiche hingegen mit einem hohen Quantisierungsparameter [=geringe Bildqualität].
- • In einer weiteren Ausprägung könnten unwichtige Teilbereiche komplett ausgeblendet bzw. nicht übertragen werden, oder die örtliche Auflösung des Videobildes angepasst werden.
- 2. Autonomes Fahren und teleoperiertes Fahren:
- • Automatische Erkennung der für Szenenwahrnehmung relevanten Bildbereiche einer Kamera und Festlegung des Prioritätsmarkers der unterschiedlichen Bildbereiche für die Übertragung des für die Situation relevanten Bildbereichs
- • Weiteres Vorgehen analog 1.
- 3. Taktiles Internet:
- • Erweiterung der Sinnesorgane Hören und Sehen auf Fühlen. Selektives Markieren der zu übertragenden Daten mittels eines Prioritätsmarkers anhand der physiologischen Wahrnehmung des Menschen.
Vorteile der Erfindung
Sowohl im Bereich des autonomen Fahrens und der Kommunikation von Fahrzeugen untereinander bzw. über ein Mobilkommunikationssystem, als auch im Consumer-Bereich für Mobilkommunikation gibt es Anwendungsfälle, für die die Übertragung wichtiger Daten unter Aufrechterhaltung der Echtzeit höchste Priorität hat. Um ein Auseinanderlaufen der Zeitpunkte für die Darstellung dieser Daten einerseits oder dem Bereitstellen dieser Daten an einen Server, der diese Daten weiter verarbeitet und dem Auftreten der dargestellten Ereignisse andererseits zu vermeiden, beschreibt die vorliegende Erfindung ein Verfahren, das bei Übertragungsengpäs- sen selektiv weniger relevante Daten verwirft und damit gegebenenfalls ganze Teilszenen einer Videoübertragung nicht darstellt, als die Übertragung relevanter Daten zu verzögern.
Übertragungsengpässe können in Mobilkommunikationssystemen immer auftreten, da das Versorgungsgebiet und die hierfür bereitgestellte Kapazität örtlichen und zeitlichen Verkehrsschwankungen ausgesetzt ist. Im Falle eines Hindernisses auf einer für autonomes Fahren genutzten Straße kann es aufgrund einer unerwartet hohen Last an Mobilkommunikationsteilnehmern zu Kapazitätsengpässen kommen. Für den Anwender eines Video- oder Audio-Streams wirkt sich dies ähnlich aus wie eine Übertragung über einen stark durch Interferenzen gestörten Funkkanal: Die für die Applikation geforderte Datenrate kann nicht bereitgestellt werden und es kann zu Unterbrechungen kommen, z.B. zum Einfrieren des am Ausgabegerät dargestellten Videos. Ebenso können sicherheitsrelevante Videosequenzen, die in Aufwärtsrichtung von einem Fahrzeug zu anderen Fahrzeugen geschickt werden, oder zu einem Server, der diese Daten analysiert und weitere Aktionen durchführt, verspätet ankommen.
Das hier beschriebene Verfahren zum selektiven Senden und Dekodieren ermöglicht den Einsatz dieser Dienste auch unter kritischen Bedingungen. Es ist ein adaptives Verfahren, das Streaming-Anwendungen in voller Länge überträgt, solange die Übertragungsbedingungen des Mobilkommunikationssystems es zulassen. Verschlechtern sich diese Bedingungen, so sorgt dieses Verfahren automatisch dafür, dass z.B. die Information über ein sich auf der Straße befindliches Hindernis in Echtzeit über das Mobilkommunikationssystem an den Server im Internet übertragen wird, dort ausgewertet und als Warnhinweis an die weiteren Fahrzeuge übermittelt werden kann. Unwichtige Szenen werden dagegen bewusst verworfen. Für den Consumer-Bereich gilt: Der Nutzer eines Infotainment-Dienstes, der sich die Übertragung eines Fußballspieles anschaut, sieht den Torschuss in Echtzeit, während gegebenenfalls Unterbrechungspausen des Spiels nicht übertragen werden.
Anwendungsbereiche
Selektives Senden und Dekodieren ist für alle Arten von Streaming-Applikationen anwendbar, für Punkt-zu-Punkt Verbindungen (auch englisch point-to-point), als auch für Point-to-Multipoint wie Broadcast-Streams, Multimedia Broadcast/Multicast Service (MBMS, 3GPP TS 26.346 V12.0.0, Multimedia Broadcast/Multicast Service (MBMS); Protocols and codecs, 2013, http://www.3gpp.org/ftp/Specs/2013-12/Rel-12/26_series/) / Evolved MBMS (eMBMS), oder Bündelfunk.
In Mobilkommunikationsnetzen gewinnen Streaming-Dienste immer mehr an Bedeutung. Da der Inhalt nicht gespeichert oder weitergeleitet wird, besteht für das Bereitstellen der Inhalte über Streaming-Dienste schneller eine Einigung zwischen dem Content-Provider und dem Nutzer, als für Video- und Audio-Dateien, die heruntergeladen werden können. Dies hat deutlich zu dem kontinuierlichen Wachstum dieser Dienste beigetragen.
Im Automobilbereich werden in der Evolution von Fahrerassistenzsystemen bis hin zum vollständig autonomen Fahren immer mehr Daten zwischen Fahrzeugen oder auch zwischen Fahrzeugen und zentralen Servern im Internet ausgetauscht. Die Übertragung der Daten kann beispielsweise über die etablierten Mobilkommunikationssysteme des 3GPP Standards erfolgen. In bestimmten Anwendungsfällen werden Daten, die über eine On-Board Kamera des Fahrzeuges aufgezeichnet wurden, an einen zentralen Server weitergeleitet und dort analysiert, bevor die verarbeiteten Daten zurück an das Fahrzeug oder an eine Vielzahl von Fahrzeugen gesendet werden. Ein typischer Anwendungsfall ist das Aufzeichnen von Parklücken am Straßenrand durch die seitlichen Fahrzeugkameras. Hierzu kann ein kontinuierlicher Video-Stream vom Fahrzeug an den zentralen Server gesendet werden, der dann die Erkennung eines freien Parkplatzes durchführt und mit den übertragenen Positionsdaten verknüpft. Eine weitere Alternative ist die Implementierung der Erkennungslogik eines freien Parkplatzes im Fahrzeug. Hier werden nur kurze Videosequenzen an den Server geschickt. Gemäß der vorliegenden Erfindung werden die Sequenzen, die einen freien Parkplatz erkennen mit Prioritätsmarker 1 gekennzeichnet. Sequenzen, die belegte Parkplätze zeigen, werden mit einem geringeren Prioritätsmarker gekennzeichnet, z.B. PM = 3 und werden verworfen, falls ungünstige Übertragungsverbindungen über das Mobilkommunikationssystem vorliegen, um die Echtzeitübertragung aufrechtzuerhalten. Somit erhält der Server bei guten Übertragungsbedingungen alle Informationen und erhält damit den Gesamtblick auf die Parkplatzsituation. Das Verfahren ist selbstadaptiv: Sobald die Übertragungsbedingungen schlechter werden und die Echtzeitübertragung nicht mehr möglich ist, werden nur mehr die wichtigsten Szenen übertragen.
Einen wesentlichen Vorteil bietet das hier beschrieben Verfahren für sicherheitsrelevante Dienste (auch englisch Safety Services). Ein Fahrzeug auf einer Landstraße, dessen On-Board Kameras nicht nur die Witterungsbedingungen, sondern auch schlecht einsehbare Seitenstraßen erfassen, kann den anrückenden Gegenverkehr vor Hindernissen oder einmündenden langsamen Fahrzeugen warnen. Hierzu muss aber die relevante Information in Echtzeit übertragen werden können. Ein sich auf der Fahrbahn befindliches Hindernis, eine Ölspur oder ein aus einem Waldweg einmündender Holztransporter wird von den Kameras erfasst und gemäß der vorliegenden Erfindung mit Prioritätsmarker PM = 1 gekennzeichnet. Die vor Eintreffen dieses Ereignisses aufgezeichneten Videosequenzen werden dagegen mit PM = 3 aufgezeichnet. Konnten diese aufgrund einer hohen Anzahl an erforderlichen Wiederholungen wegen Übertragungsfehlern bei ungünstigen Kanalbedingungen nicht in Echtzeit übertragen werden, so werden sie gemäß dieser Erfindung verworfen und es kann sofort mit dem Senden der mit PM = 1 gekennzeichneten Datenpakete begonnen werden.
Claims (17)
- Verfahren zum Streamen von Datenpaketen eines Audio- und/oder Videostroms zwischen einem Sender und wenigstens einem Empfänger über ein Mobilfunknetzwerk, wobei der Audio- und/oder Videostrom in eine Vielzahl von Szenen unterteilbar ist, die jeweils zeitlichen Teilabschnitten des gesamten Audio- und/oder Videostroms entsprechen, mit den folgenden Schritten: a. Überwachen des Datenflusses zwischen Sender und Empfänger, b. Bewerten, ob der aktuelle Datenfluss ausreichend ist, um die für die Streaming-Applikation definierten Verzögerungsanforderungen zu erfüllen, c. und, für den Fall, dass der aktuell vorliegende Datenfluss der Streamingverbindung als nicht ausreichend bewertet wird, selektives Senden und/oder Dekodieren der Datenpakete einer Sequenz von Datenpaketen unter Berücksichtigung von mit der Sequenz von Datenpaketen assoziierten Prioritätsmarkern, wobei die Sequenz von Datenpaketen einer Szene des Audio- und/oder Videostroms entspricht.
- Verfahren nach
Anspruch 1 , dadurch gekennzeichnet, dass vor dem Senden des Datenstreams Sequenzen von Datenpaketen des zu senden Datenstreams hinsichtlich ihrer Relevanz für den Betrachter bewertet und priorisiert werden, indem die Sequenzen mit entsprechenden Prioritätsmarkern markiert werden. - Verfahren nach
Anspruch 2 , dadurch gekennzeichnet, dass das Markieren ausgewählter Sequenzen manuell oder automatisiert erfolgt, wobei eine Automatisierung auf einer Mustererkennung basiert und vordefinierte Muster mit diesen zugeordneten Prioritäten markiert werden. - Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass Prioritätsmarker während einer Video- oder Audioenkodierung erstellt und dem resultierenden Audio- und/oder Videostrom hinzugefügt werden, wobei der wenigstens eine Prioritätsmarker n-Band signalisiert wird und im Header der Datenpakete verortet ist, durch den ebenfalls ein verwendetes Modulations- und/oder Kodierungsschema signalisiert wird.
- Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Bewertung des aktuellen Datenflusses anhand eines oder mehrerer Bewertungskriterien in mehreren Bewertungsgraden erfolgt und unterschiedliche Bewertungsgrade unterschiedlichen Werten des Prioritätsmarkers zugeordnet sind, so dass der zugeordnete Wert des Prioritätsmarkers die Datenpakete definiert, die für das selektive Senden und/oder Dekodieren der Datenpakete in Betracht gezogen werden.
- Verfahren nach
Anspruch 5 , dadurch gekennzeichnet, dass die ein oder mehreren Bewertungskriterien gegen zugeordnete Schwellwerte verglichen werden und bei Unter- bzw. Überschreiten wenigstens eines Schwellwertes oder einer UND-Verknüpfung von Schwellwerten ein selektives Dekodieren und/oder Senden ausgelöst wird, wobei die Schwellwerte prioritätsmarkerabhängig definiert sind und/oder das Auslösen eines selektiven Sendens oder Dekodierens von unterschiedlichen Schwellwerten abhängt. - Verfahren nach
Anspruch 5 oder6 , dadurch gekennzeichnet, dass das selektive Dekodieren für die in Betracht zu ziehenden Datenpakete in unterschiedlichen Stufen ausgeführt wird, wobei in einer ersten Stufe Wiederholungen für nicht-korrekt empfangene Datenpakete von Sequenzen geringer Relevanz nicht angefordert werden und in einer zweiten Stufe durch den Empfänger Teilszenen eines Streams nicht dekodiert werden. - Verfahren nach
Anspruch 7 , dadurch gekennzeichnet, dass ein Übergang in eine höhere Stufe erfolgt, falls die Bedingungen für die niedrigere Stufe nach Ablauf eines Timers immer noch erfüllt sind, wobei der Timer prioritätsmarkerabhängig ist. - Verfahren nach einem der vorhergehenden
Ansprüche 7 oder8 , dadurch gekennzeichnet, dass das Unterbinden von Wiederholungen für nicht-korrekt empfangene Datenpakete dadurch erreicht wird, dass der Empfänger anstatt einer negativen Bestätigung eine positive Bestätigung an den Sender versendet. - Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass im Falle eines selektiven Sendens/Dekodierens empfängerseitig höhere Protokollschichten der Übertragungssteuerung darüber informiert werden, dass nicht-dekodierte/nicht-gesendete Datenpakete der Sequenzen und damit fehlende Datenpakete der Sequenzen nicht nochmals vom Sender angefordert werden.
- Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass als wenigstens ein Kriterium für die Bewertung des Datenflusses die in einem empfängerseitigen Datenpuffer enthaltene absolute und/oder relative Datenmenge erfasst wird und gegen wenigstens eine minimale absolute und/oder relative Datenmenge verglichen wird und eine Unterschreitung der minimalen Datenmenge ein selektives Dekodieren und/oder Senden auslöst, wobei die Entscheidung ob ein selektives Senden oder Dekodieren auszuführen ist von der Unterschreitung unterschiedlicher Schwellwerte abhängt.
- Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass als wenigstens ein Kriterium für die Bewertung des Datenflusses das Verhältnis zwischen der abgehenden und eingehenden Datenrate eines empfangsseitigen Datenpuffers und/oder das Verhältnis zwischen eingehender Datenrate des empfangsseitigen Datenpuffers und einer ausgehandelten Datenrate des Mobilfunksystems erfasst wird und gegen wenigstens einen minimalen Verhältniswert verglichen wird, wobei die Unterschreitung des minimalen Verhältniswertes ein selektives Dekodieren auslöst.
- Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass als wenigstens ein Kriterium für die Bewertung des Datenflusses das Verhältnis der senderseitigen Nettodatenrate und einer ausgehandelten Datenrate des Mobilfunksystems erfasst und gegen wenigstens einen minimalen Verhältniswert verglichen wird, wobei bei Unterschreitung des minimalen Verhältniswertes ein selektives Senden initiiert wird, wobei die Überwachung des Kriteriums senderseitig ausgeführt und ein selektives Senden senderseitig initiiert wird.
- Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass vor dem Auslösen eines selektiven Sendens wenigstens eine mit einem gemeinsamen Prioritätsmarker markierte Sequenz des Datenstreams in mehrere Teilsequenzen mit unterschiedlichen Prioritätsmarkern aufgeteilt wird.
- Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Auslösen eines selektiven Dekodierens und/oder Sendens nach Über- und/oder Unterschreitung des Schwellwertes wenigstens eines Bewertungskriteriums um eine definierbare Zeit verzögert wird, falls eine Verbesserung des Datenflusses prognostiziert werden kann, wobei eine vorteilhafte Prognose anhand einer Erhöhung der Empfangsqualität oder des Empfangspegels des Sendesignals und/oder einer Änderung des eingesetzten Modulations- und Codierungsschemas (MCS) der bestehenden Mobilfunkverbindung zwischen Sender und Empfänger und/oder einer Änderung allokierter Ressourcen (Ressource Blocks) ermittelt werden kann.
- Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass Sender und Empfänger ein mobiles Endgerät oder eine Netzwerkkomponente eines Mobilfunksystems nach einem der Standards 2G, 3G, 4G, 5G oder höher sind.
- System zum Streamen eines Datenstromes zwischen einem Sender und Empfänger, wobei zumindest ein Teilbereich der Übertragungsstrecke durch ein Mobilfunksystem gebildet ist, dadurch gekennzeichnet, dass empfängerseitig und/oder senderseitig entsprechende Mittel zur Durchführung des Verfahrens gemäß einem der vorstehenden Ansprüche vorgesehen sind.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102018131617.8A DE102018131617B4 (de) | 2018-12-10 | 2018-12-10 | Verfahren zum Streamen von Datenpaketen zwischen einem Sender und wenigstens einem Empfänger über ein Mobilfunknetzwerk |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102018131617.8A DE102018131617B4 (de) | 2018-12-10 | 2018-12-10 | Verfahren zum Streamen von Datenpaketen zwischen einem Sender und wenigstens einem Empfänger über ein Mobilfunknetzwerk |
Publications (3)
Publication Number | Publication Date |
---|---|
DE102018131617A1 DE102018131617A1 (de) | 2020-06-10 |
DE102018131617A8 DE102018131617A8 (de) | 2020-07-23 |
DE102018131617B4 true DE102018131617B4 (de) | 2023-03-30 |
Family
ID=70776281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102018131617.8A Active DE102018131617B4 (de) | 2018-12-10 | 2018-12-10 | Verfahren zum Streamen von Datenpaketen zwischen einem Sender und wenigstens einem Empfänger über ein Mobilfunknetzwerk |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102018131617B4 (de) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030235196A1 (en) | 2002-06-21 | 2003-12-25 | Kumar Balachandran | Methods and systems for provision of streaming data services in an internet protocol network |
US20080098446A1 (en) | 2004-08-11 | 2008-04-24 | Vidiator Enterprises Inc, | Multicast and Broadcast Streaming Method and System |
US20120047230A1 (en) | 2010-08-18 | 2012-02-23 | Cisco Technology, Inc. | Client-initiated management controls for streaming applications |
US20130198322A1 (en) | 2012-02-01 | 2013-08-01 | Cisco Technology, Inc. | System and method to reduce stream start-up delay for adaptive streaming |
CA2973101A1 (en) | 2015-01-08 | 2016-07-14 | Arris Enterprises Llc | Server-side adaptive bit rate control for dlna http streaming clients |
-
2018
- 2018-12-10 DE DE102018131617.8A patent/DE102018131617B4/de active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030235196A1 (en) | 2002-06-21 | 2003-12-25 | Kumar Balachandran | Methods and systems for provision of streaming data services in an internet protocol network |
US20080098446A1 (en) | 2004-08-11 | 2008-04-24 | Vidiator Enterprises Inc, | Multicast and Broadcast Streaming Method and System |
US20120047230A1 (en) | 2010-08-18 | 2012-02-23 | Cisco Technology, Inc. | Client-initiated management controls for streaming applications |
US20130198322A1 (en) | 2012-02-01 | 2013-08-01 | Cisco Technology, Inc. | System and method to reduce stream start-up delay for adaptive streaming |
CA2973101A1 (en) | 2015-01-08 | 2016-07-14 | Arris Enterprises Llc | Server-side adaptive bit rate control for dlna http streaming clients |
Non-Patent Citations (1)
Title |
---|
Ahmed, T.; Mehaoua, A.; Boutaba, R.; Iraqi, Y.; Adaptive Packet Video Streaming Over IP Networks: A Cross-Layer Approach. In: IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 23, NO. 2, pp. 385-401, FEBRUARY 2005. |
Also Published As
Publication number | Publication date |
---|---|
DE102018131617A8 (de) | 2020-07-23 |
DE102018131617A1 (de) | 2020-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60305793T2 (de) | Verfahren, Sender und Empfänger zur Anpassung der Kodierrate an eine wechselnde Übertragungsrate | |
DE60035795T2 (de) | Kanaltyp-umschaltungskontrolle | |
DE112008003708B4 (de) | Verfahren zum Übertragen von Daten und Kommunkationsvorrichtung | |
DE10345220B4 (de) | Verfahren zur Übertragung von Daten | |
DE102016001331B4 (de) | Streaming von Videos über ein hybrides Netzwerk | |
DE112013001313B4 (de) | Ermitteln und Übergehen zu einer verbesserten VOIP-Sitzung | |
DE60206606T2 (de) | Verfahren und vorrichtung zur verbesserung eines datendurchsatzes | |
DE102005005251A1 (de) | Datensicherungsschicht-Protokolleinheit, Mobilfunkeinrichtung und Verfahren zum Abbilden von mittels einer Mobilfunkeinrichtung zu übertragenden Daten von mindestens einem logischen Kanal und von zu übertragenden Kontrolldaten auf mindestens einen Transportkanal | |
DE20307251U1 (de) | Benutzervorrichtung, welche eine intelligente Flusssteuerung auf Basis der Kanalqualitätsbedingungen durchführt | |
DE102005043001A1 (de) | Verfahren zum Senden mehrerer Datenströme, Verfahren zum Demultiplexen von mittels mehrerer Empfangsantennen empfangenen Sende-Datenströmen, Sendeeinrichtung zum Senden mehrerer Datenströme, Empfangseinrichtung zum Demultiplexen von mittels mehrerer Empfangsantennen empfangenen Sende-Datenströmen und Computerprogrammelemente | |
DE10393436B4 (de) | Bitratensteuermittel in einem Telekommunikationssystem | |
WO2013167424A1 (de) | Verfahren zur übertragung von daten in einem paketorientierten kommunikationsnetzwerk und entsprechend eingerichtetes teilnehmergerät an dem kommunikationsnetzwerk | |
EP2057789B1 (de) | Steuerung einer lastanpassung in einem funk-kommunikationssystem | |
CN112640343A (zh) | 发送端的mcs调整方法、设备、无人机和存储介质 | |
DE102018131617B4 (de) | Verfahren zum Streamen von Datenpaketen zwischen einem Sender und wenigstens einem Empfänger über ein Mobilfunknetzwerk | |
EP2764648B1 (de) | Verfahren zur laufzeitoptimierung bei paketorientierter mobilfunkübertragung von datentelegrammen | |
DE112009004257B4 (de) | Funkkommunikationsvorrichtung | |
WO2003019895A1 (de) | Verfahren zur übertragung von datenpaketen in einem funk-kommunikationssystem | |
EP3086575B1 (de) | Verfahren zur synchronisierung der wiedergabe eines von einem sender an eine mehrzahl an mobilen audio-endgeräten versendeten digitalen signals | |
CN113014501A (zh) | 数据传输方法、系统、编码器及计算机可读存储介质 | |
EP2683184B1 (de) | Verfahren zur Datenübertragung und Kommunikationssytem | |
DE19824143A1 (de) | Verfahren zur Datenübertragung und Kommunikationssystem | |
EP1415411B1 (de) | Verfahren, vorrichtungen und computerprogrammprodukte zur anpassung der uplinksignalisierung beim multicasting | |
DE112019007486T5 (de) | Multimediadienst-bereitstellungsvorrichtung und multimediadienst-bereitstellungsverfahren | |
DE102013104718A1 (de) | Verfahren und Vorrichtung für host-gesteuerte Paketdatenunterdrückung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |