-
Die vorliegende Erfindung bezieht sich auf die Bestimmung einer Qualität eines Mediadatenstroms mit variierender Qualität. Ausführungsbeispiele betreffen ein parametrisches Modell zur Qualitätsmessung eines Mediadatenstroms
-
Für die Übertragung von Audio- und Videosignalen stehen in der modernen Übertragungstechnik spezielle Kodierverfahren zur Datenreduktion zur Verfügung. Diese werden eingesetzt, um abhängig von der aktuellen Kapazität des Übertragungskanals dem Endbenutzer die bestmögliche Qualität zur Verfügung zu stellen. In der nachfolgenden Beschreibung werden die Begriffe GOP, Intra-Frame, I-Frame, P-Frame und B-Frame verwendet, die im Zusammenhang mit bekannten Videokodierverfahren, wie beispielsweise Kodierverfahren gemäß dem H.264-Standard oder H.265-Standard, angeben, auf welche Art einzelne Videobilder komprimiert werden. Um eine effiziente Kompression bereitzustellen, kodieren bekannte Videokodierverfahren nicht jedes Bild komplett neu, sondern nutzen Redundanzen aus, indem nur gelegentlich ein vollständiges Bild kodiert wird. Für die dazwischenliegenden Bilder wird beispielsweise durch eine Abschätzung von Bewegungen zwischen den Bildern nur eine Differenz zu einem vorhergehenden Bild oder zu einem nachfolgenden Bild neu kodiert, so dass, als Konsequenz hieraus, bei einem vorliegenden Mediadatenstrom oder Bitstrom nicht jedes Bild einzeln dekodierbar ist, sondern dass Abhängigkeiten zwischen den einzelnen Bildern oder Rahmen (Frames) existieren. Die kleinste, unabhängig zu dekodierende Einheit ist die sogenannte „Group of Pictures” (GOP), und solche GOP-Strukturen beginnen üblicherweise mit einem vollständig kodierten Bild, welches als I-Frame oder Intra-Frame bezeichnet wird, gefolgt von P- oder B-Frames, die nachfolgende Bilder abhängig von den vorhergehenden oder nachfolgenden Bildern kodieren.
-
6 zeigt eine typische Übertragungsstrecke zur Übertragung eines Medieninhalts, z. B. eines Videos, zu einem Endbenutzer oder Client. Die Übertragungsstrecke umfasst eine Datenbank 10, die Mediadaten, die den zu übertragenden Medieninhalt darstellen, speichert, einen Streaming-Server 12, der die Auslieferung der Mediadaten an den Endbenutzer 14 über ein Netzwerk 16 übernimmt, das Netzwerk 16 selbst sowie den bereits erwähnten Endbenutzer oder Client 14. Der Client 14 empfängt die Mediadaten und umfasst einen Mediaplayer oder Player, um die empfangenen Mediadaten auf einem Bildschirm darzustellen.
-
Die anhand der 6 gezeigte, typische Übertragungsstruktur bewirkt eine Übertragung eines Medieninhalts, beispielsweise unter Verwendung adaptiver Streaming-Verfahren, wie beispielsweise MPEG DASH (Dynamic Adaptive Streaming over HTTP) oder Apple HLS (HTTP Live Streaming). Solche adaptiven Streaming-Verfahren stellen dem Client 14, bzw. dem auf dem Client installierten Medienplayer oder Player den Medieninhalt in mehreren Qualitätsstufen zur Verfügung. Wird der Medieninhalt mit einer niedrigen Qualitätsstufe übertragen, so ist für die Übertragung des Inhalts eine geringere Datenrate erforderlich, als sie für die Übertragung von Medieninhalten mit einer höheren Qualitätsstufe erforderlich ist. Die beste, mögliche Qualität zur Anzeige des Medieninhalts durch einen Player variiert damit abhängig davon, wie hoch die Datenrate ist, die zur Übertragung des Medieninhalts zu einem bestimmten Zeitpunkt bzw. während einer bestimmten Zeitdauer zur Verfügung steht. Um effizient eine Vielzahl von Playern mit jeweils unterschiedlichen Anforderungen gleichzeitig bedienen zu können, greifen adaptive Streaming-Verfahren auf vorkodierte Daten zurück. Beispielsweise wird ein Video in Zeitabschnitte unterteilt und für jeden Zeitabschnitt werden vorab kodierte Versionen mit unterschiedlichen Qualitätsstufen erstellt, wobei die Datenmenge zur Darstellung der niedrigen Qualitätsstufen deutlich geringer ist als die Datenmenge, die zur Darstellung hoher Qualitätsstufen erforderlich ist. Ein vorbestimmtes Protokoll ermöglicht den Playern, das Video mit variierenden bzw. unterschiedlichen Qualitätsstufen zu laden, indem an Zeitabschnittsgrenzen zwischen den einzelnen Qualitätsstufen umgeschaltet bzw. gewechselt wird. Solche Zeitabschnitte können beispielsweise 2 bis 10 Sekunden lang sein und werden auch als Chunks bezeichnet.
-
Der auf dem Client 14 installierte Player umfasst einen Eingangspuffer, in dem eine ausreichende Anzahl an Daten gehalten wird, um einen Medieninhalt zu dekodieren. Falls der Eingangspuffer des Players leerzulaufen droht, fordert der Player Daten bzw. Chunks an, welche eine niedrige Qualitätsstufe aufweisen, und daher schneller übertragen werden können. Ist hingegen der Eingangspuffer des Players gut gefüllt, so greift der Player auf Daten mit höherer Qualitätsstufe zurück, und fordert von dem Server 12 den Medieninhalt mit höherer Qualität an, da aufgrund des gut gefüllten Eingangspuffers ausreichend Daten zur Dekodierung und Darstellung bereitstehen, so dass die längere Übertragungsdauer für die Daten mit höherer Qualität in Kauf genommen werden kann. Auf diese Weise lässt sich auf Empfängerseite im Allgemeinen ein kontinuierlicher Datenstrom, beispielsweise ein Videofilm, ohne störende Unterbrechung durch erneutes Auffüllen des Eingangspuffers darstellen, allerdings mit unterschiedlicher bzw. schwankender Bildqualität, abhängig von dem Füllstand des Eingangspuffers und von der verfügbaren Datenrate zur Übertragung der angeforderten Bilddaten.
-
Die gerade erwähnten Unterbrechungen werden auch als Stalling oder Rebuffering bezeichnet. Nur in seltenen Fällen kommt es bei einem solchen Ansatz zu Unterbrechungen, und die Videoqualität wird auf die mit der vorhandenen Netzwerkverbindung, beispielsweise einer Internetverbindung, bestmögliche Qualität geregelt. Das Qualitätsempfinden eines Betrachters wird hauptsächlich durch die Kodierqualität sowie durch die Häufigkeit und Dauer von Unterbrechungen bestimmt, sowie durch die Zeit, die erforderlich ist, um anfänglich, also beim Start des Abspielens, den Eingangspuffer des Players ausreichend mit Daten zu befüllen, was auch als „Initial Buffering” bezeichnet wird. Bei UDP (User Datagram Protocol) basierten Übertragungen bzw. bei Übertragungen ohne Sicherungsschicht kann es zu Übertragungsstörungen kommen, wobei andere bekannte Streaming-Verfahren TCP (Transmission Control Protocol) basiert sind, wodurch Übertragungsstörungen vermieden werden.
-
Bei den oben erwähnten Streaming-Verfahren ist es erwünscht, die Qualität des von dem Endbenutzer wahrgenommenen Medieninhalts, beispielsweise des wiedergegebenen Videos, automatisch durch eine geeignete Einrichtung zu beurteilen. Hierzu existieren verschiedenen Vorschläge und auch internationale Standards, beispielsweise die nachfolgend kurz erläuterten Konzepte zur automatischen Beurteilung der Qualität eines Videos.
-
Bekannte Ansätze oder Konzepte zur automatischen Beurteilung der Qualität des von einem Endbenutzer wahrgenommenen Videos lassen sich in drei Klassen einteilen. Eine Klasse verwendet Full-Reference-(FR-)-Qualitätsmessverfahren, eine andere Klasse verwendet No-Reference-(NR)-Qualitätsmessverfahren, und wiederum eine andere Klasse verwendet Reduced-Reference-(RR-)Qualitätsverfahren.
-
Full-Reference-(FR-)Qualitätsmessverfahren vergleichen den ursprünglichen, nicht durch Kompression verschlechterten Mediainhalt mit dem Mediainhalt, dessen Qualität zu bestimmen ist. Nachteilhaft ist hier die Notwendigkeit des Zugriffs auf die Ursprungsfassung des Mediainhalts.
-
No-Reference-(NR)-Qualitätsmessverfahren bestimmen die Qualität ausschließlich auf Basis des empfangenen Mediainhalts bzw. des diesen Mediainhalt darstellenden empfangenen Datenstroms. Gegebenenfalls werden hier nur Übertragungsstörungen detektiert und zur Bestimmung des Qualitätsmaßes quantifiziert.
-
Reduced-Reference-(RR-)Qualitätsverfahren stellen eine Zwischenlösung zwischen den FR- und den NR-Verfahren dar, indem zur Bestimmung der empfangsseitigen Qualität nicht ausschließlich der empfangene Datenstrom bzw. der empfangene Mediainhalt verwendet wird, sondern auf der Senderseite in Echtzeit ermittelte Zwischenergebnisse herangezogen werden, um die empfangsseitige Qualität zu bestimmen. Diese Parameter oder Zwischenergebnisse werden üblicherweise im übertragenen Mediadatenstrom mitübertragen (mitkodiert).
-
Die Aufgabe der vorliegenden Erfindung besteht darin, die von einem menschlichen Betrachter wahrgenommene Qualität eines Mediadatenstroms mit hoher Genauigkeit, geringem Aufwand und allein basierend auf Informationen, die auf der Empfängerseite vorhanden sind, zu bestimmen.
-
Diese Aufgabe wird durch den Gegenstand der unabhängigen Patentansprüche gelöst.
-
Die vorliegende Erfindung beruht auf der Erkenntnis, dass zusätzlich zu der oben genannten Klassifizierung existierender Qualitätsmessverfahren weitere Möglichkeiten bestehen, diese zu unterscheiden, nämlich dahin gehend, welche Eingangsdaten zur Analyse verwendet werden. Hierbei kann zwischen Mediainhalt-basierten Verfahren, parametrischen Verfahren und hybriden Verfahren unterschieden werden. Mediainhalt-basierte Verfahren analysieren beispielsweise die einzelnen Pixel eines Videobildes oder ein Audiosignal, wohingegen parametrische Verfahren zur Analyse Informationen verwenden, die aus dem Mediendatenstrom oder Bitstrom gewonnen werden, beispielsweise eine Bitrate oder Informationen über Übertragungsstörungen. Soweit verfügbar werden zusätzlich Metainformationen in die Beurteilung mit einbezogen, beispielsweise der Codectyp. Hybride Verfahren stellen eine Mischung aus den Mediainhalt-basierten Verfahren und den parametrischen Verfahren dar und verwenden beide Arten von Informationen.
-
Bekannte standardisierte Mediainhalt-basierte Verfahren sind alle entweder FR-Verfahren oder RR-Verfahren, wohingegen standardisierte parametrische Verfahren allesamt NR-Verfahren sind. Im Bereich von hybriden Verfahren sind NR-Verfahren, RR-Verfahren und FR-Verfahren standardisiert. Parametrische NR-Verfahren haben Vorteile in puncto Anwendbarkeit und Rechenzeitbedarf, stellen aber bezüglich der erzielbaren Genauigkeit und Universalität, verglichen mit FR-Verfahren, einen Kompromiss dar.
-
Gemäß der vorliegenden Erfindung wurde erkannt, dass sich mit parametrischen Verfahren, insbesondere parametrischen NR-Verfahren, bei geeigneter Wahl der aus dem empfangenen Medieninhalt abgeleiteten Indikatoren, eine Qualitätsbeurteilung mit hoher Genauigkeit erzielen lässt, ohne dass ein Zugriff auf ein Pixel oder auf ein Referenzsignal notwendig ist, wodurch erreicht wird, dass bei einfacher Anwendbarkeit des Verfahrens eine hohe Genauigkeit erreicht wird. Ausführungsbeispiele der vorliegenden Erfindung stellen somit ein parametrisches NR-Verfahren entsprechend der oben wiedergegebenen Klassifizierung dar, welches sich jedoch durch die verwendeten Indikatoren bzw. Parameter sowie durch die Art der zeitlichen Aggregation dieser Parameter von den im Stand der Technik bekannten Ansätzen unterscheidet, nämlich dahin gehend, dass aufgrund der Auswahl der Indikatoren/Parameter und aufgrund der Auswahl der Aggregation eine hohe Genauigkeit erzielt wird, ohne dass der Vorteil der einfachen Anwendbarkeit aufgegeben werden muss.
-
Somit liegt ein Kerngedanke der vorliegenden Erfindung darin, dass erkannt wurde, dass die von einem menschlichen Betrachter wahrgenommene Qualität eines Mediadatenstroms mit hoher Genauigkeit und geringem Aufwand allein basierend auf Informationen bestimmt werden kann, die empfängerseitig vorhanden sind, wobei Ausführungsbeispiele darauf basieren, die auf der Empfängerseite von einem Streaming-Server empfangenen Daten, beispielsweise einen Mediadatenstrom, zu analysieren und die bei einer Analyse gewonnenen Informationen als Indikatoren, ggf. zusammen mit weiteren a-priori Kenntnissen zu dem Übertragungssystem, zu aggregieren, um die Qualität des empfangenen Mediasignals zu bewerten.
-
Vorteilhafte Ausgestaltungen der vorliegenden Anmeldung sind Gegenstand der abhängigen Patentansprüche. Bevorzugte Ausführungsbeispiele der vorliegenden Anmeldung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert.
-
Es zeigen:
-
1 ein schematisches Blockschaltbild einer Netzwerkumgebung mit einem Server und einem Client, zwischen denen eine Mediadatenstromübertragung mit variierender Qualität stattfindet, und in der gemäß einem Ausführungsbeispiel der erfindungsgemäße Ansatz zur Qualitätsbestimmung eingesetzt wird;
-
2 eine schematische Darstellung eines Mediadatenstroms und des in dem Mediadatenstrom kodierten Mediainhalts, der auf Serverseite mit verschiedenen Qualitäten bereitgestellt wird;
-
3 ein Blockdiagramm der erfindungsgemäßen Vorrichtung gemäß einem Ausführungsbeispiel;
-
4 ein Blockdiagramm der erfindungsgemäßen Vorrichtung gemäß einem weiteren Ausführungsbeispiel;
-
5 ein Flussdiagramm eines Verfahren zur Bestimmung einer Qualität eines Mediadatenstroms während einer Messdauer gemäß einem Ausführungsbeispiel; und
-
6 eine bekannte Server-Client-Netzwerkumgebung zur Bitraten-adaptiven Mediadatenstromübertragung.
-
1 zeigt eine Umgebung mit einem Server und einem Client, in der das Konzept zur Bestimmung einer Qualität eines Mediadatenstroms gemäß einem Ausführungsbeispiel der vorliegenden Anmeldung verwendet wird. 1 zeigt insbesondere eine Übertragungsstrecke, wie sie bereits anhand der 6 gezeigt wurde, mit einer Mediendatenbank 10, in der Mediainhalte vorkodiert gespeichert sind, einem Server 12, der Zugriff auf die Mediadatenbank 10 hat, und einem Client 14, der mit dem Server 12 über ein Netzwerk 16 kommunikativ verbunden ist. Bei dem Client 14 handelt es sich beispielsweise um ein auf einem Endgerät eines Benutzers ablaufendes Computerprogramm bzw. eine Applikation. Bei dem Endgerät kann es sich beispielsweise um ein mobiles Endgerät, wie z. B. ein Mobiltelefon, ein Notebook oder dergleichen handeln. Das Netzwerk 16 kann einen drahtgebundenen Anteil und/oder einen drahtlosen Anteil aufweisen. Der Server 10 ist beispielsweise ein Computer oder ein Computernetzwerk und die Mediadatenbank 14 umfasst beispielsweise eine oder mehrere Festplatten oder andere nicht-flüchtige Speicher. Im Rahmen der Kommunikation zwischen Server 12 und Client 14 sendet der Server 12 beispielsweise einen Mediadatenstrom über das Netzwerk 16 zu dem Client 14. Die folgende Beschreibung nimmt exemplarisch an, dass es sich bei dem Mediadatenstrom um einen Videodatenstrom handelt, der als Mediainhalt ein Video darstellt. Die vorliegende Erfindung ist aber nicht auf Videos beschränkt, vielmehr kann das erfindungsgemäße Konzept auch auf andere Medieninhalte angewendet werden, z. B. Audioinhalte, 3D-Gittermodelle oder dergleichen.
-
2 veranschaulicht exemplarisch einen Mediadatenstrom 18 und den damit übertragenen Mediainhalt 20, z. B. ein Video. Der Mediadatenstrom 18 umfasst eine Sequenz von Datenstromabschnitten 22, in die unterschiedliche Mediaabschnitte 24 des Mediainhalts 20 in über den Mediainhalt hinweg variierender Qualität-zu-Bitrate kodiert sind. Das Video 20, das in 2 als Beispiel für ein zeitveränderliches Mediensignal dient, ist beispielsweise in die Mediaabschnitte 24 unterteilt, indem direkt aneinander angrenzende aufeinanderfolgende Zeitabschnitte des Videos die einzelnen Mediabschnitte 24 bilden. Jeder Mediaabschnitt 24 umfasst also eine jeweilige Sequenz von Bildern 26 des Videos 20. Die Variation der Qualität-zu-Bitrate, mit welcher die Abschnitte 24 in die Datenstromabschnitte 22 kodiert sind, wird beispielsweise nach geeigneten Kriterien gesteuert, um auf Seiten des Clients 14 ein Leerlaufen eines Datenstrompuffers, einen sogenannten „Stall”, in der Echtzeitwiedergabe des Mediainhalts bzw. Videos 20 am Client 14 zu vermeiden sowie andererseits ein Überfüllen des Puffers. Bei dem adaptiven Streaming kann es sich beispielsweise um ein http-basiertes Streaming des Mediadatenstroms 18 handeln, wie z. B. MPEG DASH, wonach der Server 12 dem Client 14 über sogenannte MPDs, Media Presentation Description, Informationen über zur Verfügung stehende downloadbare Qualität-zu-Bitrate-Stufen liefert. Auf Basis dieser Stufen kann ein im Client 14 befindliches Einstellungsmodul die Auswahl unter den zur Verfügung stehenden Stufen abhängig von Schätzungen über die effektiv zur Verfügung stehende Übertragungsdatenrate von Server 12 zu Client 14 und abhängig von einem aktuellen Pufferfüllstand am Client 14 durchführen und verändern.
-
Wie es in 2 gezeigt ist, ist in der Mediadatenbank 10 beispielsweise für jede einer Mehrzahl von Qualität-zu-Bitrate-Stufen Q1–Q4 für jeden Mediaabschnitt 24 ein Datenstromabschnitt gespeichert. Diese sind in 2 mit Rechtecken 28 veranschaulicht. Der tatsächlich für einen Client 14 ausgegebene Mediadatenstrom 18 setzt sich somit aus einer Sequenz bzw. einen Strom von Datenstromabschnitten 22 zusammen, wobei jeder Datenstromabschnitt 22 einem unterschiedlichen der Mediaabschnitte 24 zugeordnet ist, und einem der für diesen Mediaabschnitt 24 zur Verfügung stehenden gespeicherten Datenstromabschnitten 28 entspricht. In 2 ist exemplarisch dargestellt, dass die Medienabschnitte 24 zwischen den Zeitpunkten t0, t1, t2 und t3 in dem Mediadatenstrom 18 mit den Qualitätsstufen Q1, Q3 und Q2 übertragen werden, aber wie gesagt, diese Auswahl ist situationsabhängig für die einzelnen Client 14. In 2 ist die situationsabhängige Qualität-zu-Bitrate-Einstellung mit dem Pfeil 30 angedeutet. Sie kann, wie beschrieben, beispielsweise durch den Client 14 vorgenommen werden. Es sei bemerkt, dass die Mediaabschnitte 24 unterschiedlich sein können, und z. B. Mediaabschnitte umfassen, die getrennt voneinander in dem Mediadatenstrom kodiert sind, wie z. B. GOPs, d. h. Bildsequenzen, die unabhängig voneinander dekodierbar sind, wie z. B. IPPP ... PP-Bildsequenzen oder dergleichen. In Einheiten solcher Mediainhalte kann der Mediadatenstrom 18 die Qualität-zu-Bitrate in den Stufen Q1–Q4 ändern.
-
Um die Qualität des Mediadatenstroms am Client 14 oder an einem anderen Ort entlang der Übertragungsstrecke zwischen dem Server 12 und dem Client 14 zu bestimmen, sieht das nachfolgend beschriebene Konzept zur Qualitätsbestimmung vor, dass eine Vorrichtung 32 (siehe 1) aus den Datenstromabschnitten 22 eine Mehrzahl von ersten Qualitätsindikatoren bestimmt, für eine Mehrzahl von Kurzzeit-Zeitdauern jeweils einen Kurzzeitqualitätswert unter Verwendung der Mehrzahl von ersten Qualitätsindikatoren bestimmt, eine Mehrzahl von statistischen Werten unter Verwendung einer Mehrzahl von Kurzzeitqualitätswerten bestimmt, und ein Qualitätsmaß q für die Qualität des Mediadatenstroms unter Verwendung der statistischen Werten liefert. Gemäß Ausführungsbeispielen kann vorgesehen sein, das Qualitätsmaß q für die Qualität des Mediadatenstroms ferner unter Verwendung einer Mehrzahl von zweiten Qualitätsindikatoren zu liefern, die z. B. durch den Client 14 (siehe den gestrichelten Pfeil in 1) bereitgestellt werden.
-
Nachfolgend werden anhand der 3 und 4 Ausführungsbeispiele betreffend die Implementierung des erfindungsgemäßen Konzepts zum Bestimmen einer Qualität eines Mediendatenstroms während einer Messdauer näher erläutert. 3 zeigt ein Blockdiagramm der erfindungsgemäßen Vorrichtung gemäß einem Ausführungsbeispiel. In 3 ist zum einen die erfindungsgemäße Vorrichtung 32 dargestellt, die bereits kurz anhand der 1 erläutert wurde, sowie der Client 14. Bei dem in 3 gezeigten Ausführungsbeispiel umfasst der Client einen Mediaplayer oder Player 34, der den Mediadatenstrom 18 von dem Netzwerk 16 empfängt und verarbeitet. Der Player 34, der auf dem Client 14 implementiert ist, kann gemäß dem in 3 dargestellten Ausführungsbeispiel ferner einen Eingangspuffer 34a aufweisen, um die empfangenen Daten aus dem Mediadatenstrom zu puffern, wie dies oben erläutert wurde, und um abhängig von dem Füllzustand des Puffers 34a und abhängig von der verfügbaren Datenrate Daten mit einer entsprechenden Qualität zum Füllen des Puffers anzufordern. Bei dem anhand der 3 beschriebenen Ausführungsbeispiel sei angenommen, dass der Mediadatenstrom ein Videodatenstrom ist, und der Client 14 umfasst ferner eine Anzeige 36 zur Darstellung der von dem Player empfangenen, dekodierten und aufbereiteten Videoinformationen. Bei anderen Ausführungsbeispielen kann der Mediadatenstrom Audioinformationen enthalten, und in diesem Fall umfasst der Client neben dem Player 34 ein geeignetes Ausgabegerät, beispielsweise Lautsprecher oder Ähnliches. Bei wieder anderen Ausführungsbeispielen, bei denen das Video auch Audioinformation, z. B. ein Tonsignal, enthält, umfasst die Anzeige 36 entweder integriert oder separat hierzu geeignete Ausgabegeräte für die Audioinformation, beispielsweise Lautsprecher.
-
Die erfindungsgemäße Vorrichtung zum Bestimmen der Qualität des Mediadatenstroms umfasst ein Bitstrom-Analysemodul 38, welches auch als Mediadatenstrom-Analysemodul bezeichnet wird. Die Vorrichtung 32 umfasst ferner ein Kurzzeit-Aggregationsmodul 40 und ein Langzeit-Aggregationsmodul 42. Das Bitstrom-Analysemodul 38 ist konfiguriert, um aus dem Mediadatenstrom 18 eine Mehrzahl von ersten Qualitätsindikatoren 1a bis 1j zu bestimmen, die durch das Bitstrom-Analysemodul 40 ausgegeben werden. Das Kurzzeit-Aggregationsmodul ist konfiguriert, um für eine Kurzzeit-Zeitdauer, die kürzer ist als die Messdauer, einen Kurzzeitqualitätswert qk unter Verwendung der Mehrzahl von ersten Qualitätsindikatoren 1a bis 1j zu bestimmen, wobei das Kurzzeit-Aggregationsmodul ausgebildet ist, um für eine Mehrzahl von Kurzzeit-Zeitdauern k jeweils zumindest einen Kurzzeitqualitätswert qk zu liefern. Das Langzeit-Aggregationsmodul 42 ist konfiguriert, um für die Messdauer eine Mehrzahl von statistischen Werten 2a bis 2c unter Verwendung einer Mehrzahl von Kurzzeitqualitätswerten qk zu bestimmen, und um ein Qualitätsmaß q für die Qualität des Mediadatenstroms unter Verwendung der statistischen Werte zu liefern. Gemäß Ausführungsbeispielen kann vorgesehen sein, dass das Langzeit-Aggregationsmodul 42 ein Statistikmodul 44 aufweist, welches mit dem Kurzzeit-Aggregationsmodul 40 verbunden ist, um die Kurzzeitqualitätswerte qk von dem Kurzzeit-Aggregationsmodul 40 zu empfangen und basierend auf diesen empfangenen Kurzzeitqualitätswerten die statistischen Werte 2a bis 2c zu erzeugen, und diese an ein Aggregationsmodul 46 bereitzustellen, welches basierend auf den empfangenen statistischen Werten das Qualitätsmaß q berechnet und ausgibt.
-
Gemäß weiteren Ausführungsbeispielen kann vorgesehen sein, das Qualitätsmaß q zusätzlich unter Verwendung von zweiten Qualitätsindikatoren 2d bis 2p zu bestimmen, wobei die zweiten Qualitätsindikatoren bei dem in 3 dargestellten Ausführungsbeispiel von dem Client 14, genauer gesagt durch den Player 34, dem Aggregationsmodul 46 des Langzeit-Aggregationsmoduls 42 bereitgestellt werden.
-
Das anhand der 3 dargestellte Ausführungsbeispiel zeigt den Mediaplayer 34 des Client 14, der die Kommunikation mit dem in 1 gezeigten Server 12 steuert und beispielsweise auf Anfrage eines Endnutzers oder zu Überwachungszwecken auch automatisch Teile (Chunks) eines Videos oder ein vollständiges Video von dem Server anfordert und nach der Dekodierung des Mediadatenstroms den dekodierten Inhalt bereitstellt, beispielsweise auf dem Anzeigegerät 36. Die erfindungsgemäße Messvorrichtung umfasst, wie oben erwähnt, die Module 38, 40 und 42, wobei das Bitstrom-Analysemodul 38 gemäß einem Ausführungsbeispiel permanent die Kommunikation zwischen dem Player 34 und dem Server 12 mitschneidet, z. B. durch eine Überwachung der Netzwerkschnittstelle des Players 34. Die Analyse des so beobachteten Bitstroms liefert die erwähnten Indikatoren 1a bis 1j, die gemäß Ausführungsbeispielen über einen kurzen Zeitraum gemittelt werden können. Die so erhaltenen Indikatoren werden an das Kurzzeit-Aggregationsmodul 40 weitergereicht, welches eine Sequenz von Kurzzeitqualitätswerten qk erzeugt, die dem Statistikmodul 44 des Langzeit-Aggregationsmoduls 42 bereitgestellt werden, wobei das Statistikmodul 44 die empfangenen Indikatoren zu den statistischen Werten 2a bis 2c weiterverarbeitet, die dann gemeinsam mit den von dem Player 34 gelieferten Indikatoren 2d bis 2p von dem Aggregationsmodul 46 kombiniert werden, um das endgültige Qualitätsmaß q zu ermitteln.
-
Der erfindungsgemäße Ansatz gemäß dem anhand der 3 dargestellten Ausführungsbeispiel basiert darauf, die auf der Empfängerseite von einem Streaming-Server empfangenen Mediadaten bzw. den Mediadatenstrom 18 zu analysieren, und die bei dieser Analyse gewonnenen Informationen als erste Indikatoren 1a bis 1j gemeinsam mit durch den Player 34 bereitgestellten Indikatoren 2d bis 2p zu aggregieren, um hieraus die Qualität des empfangenen Medieninhalts zu bewerten.
-
Gemäß Ausführungsbeispielen werden durch die Analyse des Mediadatenstroms ein oder mehrere der nachfolgenden Indikatoren gewonnen:
- • Ein Resolution-Ratio-Indikator 1a (Auflösungsverhältnis-Indikator), der das Verhältnis zwischen einer Auflösung der Darstellung des Medieninhalts durch die Anzeige 36 bzw. durch das Ausgabegerät des Client 14 zu der im Mediadatenstrom 18 tatsächlich übertragenen Auflösung anzeigt, wobei die Auflösung durch das empfängerseitig vorhandene Anzeigegerät 36 im Regelfall a-priori bekannt ist. Der Indikator 1a trägt einer Skalierung des Mediasignals, beispielsweise des Videosignals, Rechnung und berücksichtigt, dass die unterschiedlichen, von dem Server 16 angeforderten Qualitätsstufen im Regelfall auch mit unterschiedlichen Bildauflösungen einhergehen, welche durch den Player 34 aber alle auf die gleiche Größe auf dem Bildschirm 36 skaliert werden.
- • Ein Frame-Rate-Indikator 1b (Rahmenrate-Indikator), der die Anzahl von Videobildern pro Sekunde anzeigt, die im Mediadatenstrom 18 übertragen werden. Eine Reduktion der Videobilder pro Sekunde geht im allgemeinen, insbesondere bei Szenen mit viel Bewegung, mit einer Reduktion der wahrgenommenen Videoqualität einher.
- • Ein Bits-per-Pixel-Indikator 1c (Bit-pro-Pixel-Indikator), der die Anzahl von Bit angibt, mit der jeder Bildpunkt im Mediadatenstrom 18 im Mittel kodiert ist. Je höher diese Zahl ist, desto schärfer und besser erscheint dem Betrachter das Bild.
- • Ein I2NI-Frames-Indikator 1d (I2NI-Rahmen-Indikator), der das Verhältnis zwischen der Anzahl von Intra-Frames und Nicht-Intra-Frames im Mediadatenstrom 18 anzeigt. Dieser Indikator ist ein Maß für die Effizienz der Videokodierung.
- • Ein I2NI-Ratio-Indikator 1e (I2NI-Verhältnis-Indikator), der das Verhältnis zwischen der Anzahl von Bits, die zur Übertragung von Intra-Frames verwendet werden, zu der Anzahl von Bits, die für die Übertragung von Nicht-Intra-Frames verwendet werden, anzeigt. Dieser Indikator ist ein Maß für die Effizienz der Videokodierung.
- • Ein Bitrate-Indikator 1f (Bitraten-Indikator), der die mittlere, zur Kodierung eines Teils des Mediadatenstroms 18 verwendete Datenrate in Bits/s anzeigt. Je mehr Bits zur Kodierung verwendet werden, desto höher wird im Allgemeinen die Videoqualität sein.
- • Ein AvgGOP2Avgl-Indikator 1g, der das Verhältnis der Anzahl der Bits, die im Mittel zur Kodierung einer kompletten GOP-Struktur verwendet werden, zu der Anzahl von Bits anzeigt, die im Mittel zur Kodierung nur der I-Frames verwendet werden. Dieser Indikator dient zur Abschätzung der Komplexität der Szenen im Abschnitt k. Je komplexer eine Szene ist, desto mehr Bits werden benötigt, um eine hohe Videoqualität zu erzielen.
- • Ein AvgGOP2AvgP-Indikator 1h, der das Verhältnis der Anzahl der Bits, die im Mittel zur Kodierung einer kompletten GOP-Struktur verwendet werden, zu der Anzahl von Bits anzeigt, die im Mittel zur Kodierung nur der P-Frames verwendet werden. Dieser Indikator dient zur Abschätzung der Komplexität der Szenen im Abschnitt k. Je komplexer eine Szene ist, desto mehr Bits werden benötigt, um eine hohe Videoqualität zu erzielen.
- • Ein AvgGOP2AvgB-Indikator 1i, der das Verhältnis der Anzahl von Bits, die im Mittel zur Kodierung einer kompletten GOP-Struktur verwendet werden, zu der Anzahl von Bits anzeigt, die im Mittel zur Kodierung nur der B-Frames verwendet werden. Dieser Indikator dient zur Abschätzung der Komplexität der Szenen im Abschnitt k. Je komplexer eine Szene ist, desto mehr Bits werden benötigt, um eine hohe Videoqualität zu erzielen.
- • Ein AvgGOPSize-Indikator 1j, der die Anzahl der Bits anzeigt, die im Mittel für die Kodierung einer GOP-Struktur verwendet werden. Dieser Indikator dient zur Abschätzung der Komplexität der Szenen im Abschnitt k. Je komplexer eine Szene ist, desto mehr Bits werden benötigt, um eine hohe Videoqualität zu erzielen.
-
Die oben genannten Indikatoren können auf beliebige Bezugsgrößen normiert werden, beispielsweise auf die Anzahl der Frames, die Anzahl der GOP-Strukturen, eine Zeitdauer, während der diese Indikatoren erfasst werden oder Ähnliches. Ferner ist eine Skalierung der Werte möglich. Alternativ können diese auch ohne Weiterverarbeitung als Zahlenwerte ohne feste Bezugsgröße verwendet werden. Die oben wiedergegebenen Indikatoren werden durch das Bitstrom-Analysemodul 38 aus dem Mediadatenstrom 18 erhalten und an das Kurzzeit-Aggregationsmodul 40 weitergereicht, wobei die Indikatoren für kürzere Zeiträume, z. B. für wenige Sekunden oder für die Dauer eines Chunks, gewichtet und gemittelt werden können. Das Kurzzeit-Aggregationsmodul 40 bewirkt eine Aggregation der Kurzzeit-Indikatoren für jeden kurzen Zeitabschnitt, z. B. für die Dauer einer GOP-Struktur oder für die Dauer eines Chunks, so dass sich für eben diese Dauer ein Kurzzeitqualitätsmaß qk ergibt.
-
Gemäß Ausführungsbeispielen dienen als Methoden zur Aggregation der Indikatoren eine lineare Kombination aller oder einer Untermenge der Indikatoren
1a bis
1j, eine LNorm aller oder einer Untermenge der Indikatoren
1a bis
1j, oder eine sigmoide Mittelung aller oder einer Untermenge der Indikatoren
1a bis
1j, wobei die sigmoide Mittelung gemäß folgender Formel erfolgt:
wobei x
1,i bis x
N,k die Indikatoren
1a bis
1i, oder eine Untermenge derselben, für den Zeitabschnitt k darstellen. Die Konstanten a
n, b
n und c
n sind für jeden Indikator festgelegt. Die Werte der Konstanten a
n, b
n und c
n, der Normen und der Gewichtungen hängen unter anderem von dem zur Übertragung verwendeten Codec und dessen Einstellungen ab, und gemäß Ausführungsbeispielen ist vorgesehen, mehrere Sätze dieser Koeffizienten in der erfindungsgemäßen Vorrichtung
32 vorzuhalten, beispielsweise in einem geeigneten Speicher, um diese dynamisch nach Kenntnis des Codecs auszuwählen. Zur Bestimmung dieser Konstanten können während der Modellentwicklung z. B. numerische Optimierungsverfahren verwendet werden. Diese Optimierungsverfahren setzen einen großen Korpus an subjektiven Ergebnissen, also Ergebnissen, die durch die Befragung von Probanden gewonnen wurden, voraus und versuchen den Fehler zwischen der Vorhersage des erfindungsgemäßen Verfahrens und der subjektiven Bewertung zu minimieren. Je nach gewählter Aggregationsfunktion bieten sich hier auch z. B. „Least Squares” Verfahren an, welche den mittleren quadratischen Fehler minimieren.
-
Die folgende Tabelle gibt Beispielhafte Werte für diese Konstanten für die Indikatoren
1a bis
1g an.
| a0 | –1.5986833 |
b0 | 1.0 |
1a | a1 | 17.8024441 |
b1 | 0.18148752 |
c1 | 1.69030516 |
1b | a2 | 1 |
b2 | 0.99999994 |
c2 | 0.99999999 |
1f | a3 | 4.61565096 |
b3 | 5.18730877 |
c3 | –0.82385795 |
1c | a4 | –8.43013201 |
b4 | 13.5090335 |
c4 | 9.6146457 |
1d | a5 | –0.54587484 |
b5 | 2.61358404 |
c5 | 2.3581692 |
1g | a6 | 2.17889465 |
b6 | 2.94441327 |
C6 | 0.74818627 |
1e | a7 | –8.33230432 |
a7 | –0.69031332 |
c7 | 6.06174126 |
-
Die Konstanten a0 und b0 dienen zur Skalierung der Ergebnisse auf eine erwünschte Qualitätsskala, so dass das Ergebnis qk direkt vergleichbar wird mit Ergebnissen einer von einem Probanden durchgeführten Bewertung des gleichen Zeitabschnitts k des Medienstroms.
-
Die oben erwähnten Aggregationsmethoden können einzeln oder in Kombination angewandt werden, beispielsweise kann eine Kombination der Aggregationsmethoden alle genannten Methoden oder einen Teilsatz der Methoden, beispielsweise nur zwei der genannten Methoden umfassen.
-
Die durch das Kurzzeit-Aggregationsmodul 40 erzeugte Sequenz von Kurzzeitqualitätswerten wird dem Langzeit-Aggregationsmodul 42, genauer gesagt dem Statistikmodul 44 bereitgestellt, welches für die gesamte Messdauer einen oder mehrere der folgenden statistischen Werte erzeugt:
- • Einen Average-short-term-score-(ASTS)-Wert 2a (Kurzzeitqualitätswertmittelwert) der den Mittelwert der erhaltenen K Kurzzeitqualitätswerte angibt. Der ASTS-Wert berechnet sich unter der Annahme, dass qs,1, qs,2, ... qs,K K Kurzzeitqualitätswerte beschreiben wie folgt: ASTS = 1 / KΣ K / k=1qs,k
- • Einen Maximum-short-term-score-(MSTS)-Wert 2b, (maximaler Kurzzeitqualitätswert) der einen Maximalwert der erhaltenen Kurzzeitqualitätswerte angibt. Unter der Annahme, dass qs,1, qs,2, ..., qs,K K Kurzzeitqualitätswerte angeben, wird der MSTS-Wert wie folgt berechnet: MSTS = max{qs,1, qs,2, ... qs,K}
- • Histogramm-of-short-term-scores-(HSTS)-Werte 2c, (Histogrammwerte der Kurzzeitwerte) die jeweils eine relative Häufigkeit angeben, mit der ein Kurzzeitqualitätswert innerhalb eines vorbestimmten Wertebereichs liegt. Zur Bestimmung der HSTS-Werte wird eine Skala der möglichen Werte, die qs,k annehmen kann, in eine vorbestimmte Anzahl von Bereichen, z. B. in fünf Bereiche, aufgeteilt, und die relative Häufigkeit wird bestimmt, mit der jeder dieser Bereiche in den Werten qs,k auftritt. Jeder dieser Häufigkeitswerte stellt einen eigenen statistischen Wert dar, und unter der Annahme, dass die qs,k Werte im Bereich [1; 5] liegen, ist eine beispielhafte Aufteilung der Wertebereiche wie folgt: {1 -> 1.8, 1.8 -> 2.6, 2.6 -> 3.4, 3.4 -> 4.2, 4.2 -> 5.0}
-
Die von dem Statistikmodul
44 berechneten statistischen Werte werden an das Aggregationsmodul
46 weitergegeben, welches gemäß einem Ausführungsbeispiel den Qualitätswert durch Anwendung einer oder mehrerer Aggregationsverfahren auf nummerische Weise mit hoher Genauigkeit bestimmt, so dass der Qualitätswert einem Qualitätswert entspricht, wie er durch einen menschlichen Betrachter nach Ansehen des Videos bis zum gleichen Zeitpunkt vergeben würde. Gemäß Ausführungsbeispielen eignen sich für die Aggregation eine lineare Kombination aller oder einer Untermenge der statistischen Werte
2a bis
2c, eine LNorm aller oder einer Untermenge der Indikatoren
2a bis
2c oder eine sigmoide Mittelung aller oder einer Untermenge der Indikatoren
2a bis
2c. Eine sigmoide Mittelung erfolgt gemäß folgender Formel:
wobei x
1 bis x
N die statistischen Werte
2a bis
2c oder eine Untermenge derselben darstellen, und wobei die Konstanten a
n, b
n und c
n vorbestimmt sind. Wie oben bereits im Zusammenhang mit den ersten Indikatoren
1a bis
1j beschrieben wurde, können Werte für die Konstanten, Normen oder Gewichte von dem zur Übertragung verwendeten Codec und dessen Einstellungen abhängen, so dass gemäß Ausführungsbeispielen auch für die Aggregation im Aggregationsmodul
46 mehrere Sätze von entsprechenden Koeffizienten gespeichert sind und abhängig von dem verwendeten Codec dynamisch ausgewählt werden können. Zur Gewinnung der Konstanten a
n, b
n und c
n können die gleichen numerischen Methoden wie oben beschrieben verwendet werden.
-
Die Konstanten a0 und b0 dienen wiederum zur Skalierung der Ergebnisse auf eine erwünschte Qualitätsskala, so dass das Qualitätsmaß q vergleichbar ist mit dem Ergebnis einer von einem Probanden durchgeführten Bewertung des gleichen Mediadatenstroms.
-
Gemäß weiteren Ausführungsbeispielen der vorliegenden Erfindung kann zusätzlich zu den statistischen Werten, die aus den Indikatoren 1a bis 1j gewonnen wurden, auf weitere Indikatoren zurückgegriffen werden, die ebenfalls aus einer Beobachtung des Bitstroms erhalten werden, und die sich auf die gesamte Messdauer beziehen und für die Bestimmung der Videoqualität hilfreich sind. Alternativ können solche Informationen auch durch den Player bereitgestellt werden, der weiß, welche Qualitätsstufe er wann von dem Server angefordert hat. Diese weiteren, aus der Beobachtung des Bitstroms für die Messdauer erhaltenen Indikatoren umfassen einen oder mehrere der folgenden Indikatoren:
- • Einen Number-of-upward-switches-(NUS)-Indikator 2d (Anzahl-der-Hochschaltungen-Indikator), der die Anzahl der Sprünge von einer niedrigeren zu einer höheren Qualitätsstufe anzeigt.
- • Einen Number-of-downward-switches-(NDS)-Indikator 2e (Anzahl-der-Herunterschaltungen-Indikator), der die Anzahl der Sprünge von einer höheren zu einer niedrigeren Qualitätsstufe anzeigt.
- • Einen Total-number-of-switches-(NS)-Indikator 2f (Gesamtzahl-der-Umschaltungen-Indikator), der die gesamte Anzahl von Qualitätssprüngen anzeigt. Je größer diese Zahl ist, desto höher ist die Wahrscheinlichkeit, dass ein Benutzer Qualitätssprünge wahrnimmt.
- • Einen Average-upward-switch-amplitude-(AvgUpward)-Indikator 2g (Durchschnittliche-Hochschaltungsamplitude-Indikator), der die mittlere Amplitude der Umschaltungen von niedrigen zu hohen Qualitätsstufen anzeigt. Die Amplitude bezeichnet dabei den Abstand der Qualitätsstufen voneinander. Im einfachsten Fall ist das durch eine sequentielle Nummerierung der Qualitätsstufen auf dem Server in auf- oder absteigender Folge gegeben. Vorzugsweise wird hier schon eine grobe Abschätzung des Qualitätsunterschiedes Qualitätsstufen vorgenommen und so eine Art wahrnehmbarer Abstand zwischen den Stufen definiert. Je größer diese Zahl ist, desto höher ist die Wahrscheinlichkeit, dass ein Benutzer Qualitätssprünge wahrnimmt.
- • Einen Average-downward-switch-Amplitude-(AvgDownward)-Indikator 2h (Durchschnittliche-Herunterschaltungsamplitude-Indikator), der die mittlere Amplitude der Umschaltungen von hohen zu niedrigen Qualitätsstufen anzeigt.
-
Bei dem anhand der 3 dargestellten Ausführungsbeispiel werden die weiteren Indikatoren 2d bis 2h durch den Player 34 des Client 14 bereitgestellt und von dem Aggregationsmodul 46 empfangen. Diese zusätzlichen Indikatoren 2d bis 2h können zusammen mit den statistischen Werten 2a bis 2c zur Erfassung des Qualitätsmaßes q auf die oben beschriebene Art aggregiert werden, unter Verwendung, beispielsweise einer linearen Kombination, einer LNorm oder einer sigmoiden Mittelung aller oder einer Untermenge der Indikatoren 2a bis 2h, wie dies oben im Zusammenhang mit der Gleichung (2) erläutert wurde. Auch eine Kombination von zwei oder aller Aggregationsverfahren ist möglich.
-
Gemäß weiteren Ausführungsbeispielen der vorliegenden Erfindung ist vorgesehen, die auf Empfängerseite vorliegenden detaillierten Informationen zum Stalling und zum Initial Buffering auszunutzen. Solche Informationen können beispielsweise durch den Player 34 des Client 14 bereitgestellt werden. Aus diesen Informationen zum Stalling und zum Initial Buffering ergeben sich weitere Indikatoren, die ebenfalls auf die gesamte Messdauer bezogen sind, wobei diese Indikatoren einen oder mehrere der folgenden Indikatoren umfassen. Für alle diese Indikatoren gilt, je länger, je häufiger und je näher am Ende der Messperiode ein Stalling auftritt, desto lästiger wird dies von Menschen wahrgenommen.
- • Einen Average-rebufferinq-duration-(AvgRebufDur)-Indikator 2i (Durchschnittliche-Neupufferungsdauer-Indikator), der die mittlere Dauer der durch ein Stalling verursachten Unterbrechungen anzeigt.
- • Einen Average-playout-between-rebufferings-(APBB)-Indikator 2j (Durchschnittliche-Auszeit-zwischen-Neupufferungen-Indikator), der die Abspieldauer in Sekunden ohne Unterbrechungen dividiert durch die Anzahl der Unterbrechungen angibt.
- • Einen Length-of-the-last-rebufferinq-(LLB)-Indikator 2k (Länger-der-letzten-Neupufferung-Indikator), der die Dauer der letzten Unterbrechung durch ein Stalling angibt.
- • Einen Position-of-last-rebuffering-relative-to-end-(PLLB)-Indikator 2l (Position-der-letzten-Neupufferung-relativ-zum-Ende-Indikator), der die Dauer angibt, mit der der Mediadatenstrom seit der letzten Unterbrechung durch ein Stalling bis zum Ende der Messung kontinuierlich abgespielt wird. Wird kein Stalling erkannt, entspricht dieser Wert der Gesamtdauer der Messung oder er kann auf einen beliebig hohen Wert gesetzt werden.
- • Einen Number-of-rebufferinqs-(NBUFF)-Indikator 2m (Neupufferungsanzahl-Indikator), der die gesamte Anzahl von Unterbrechungen durch ein Stalling während der Messung bzw. während der Messdauer angibt.
- • Einen Total-rebufferinq-time-(TBUFF)-Indikator 2n (Gesamtneupufferungszeit-Indikator), der die Gesamtdauer aller Unterbrechungen durch ein Stalling während der Messung bzw. Messdauer angibt.
- • Einen Total-initial-bufferinq-time-(TIB)-Indikator 2o (Gesamtanfangspufferungszeit-Indikator), der die Dauer der Zeitspanne von einem Beginn der Messung bis zu einer Anzeige des Videos angibt, wobei dies nicht die Vorausschau eines ersten Frames bedeutet, sondern die erste tatsächliche Anzeige eines bewegtes Bildes auf der Anzeige 36. Exzessive Werte für das Initial Buffering werden von Betrachtern häufig nicht toleriert.
- • Einen Duration-of-media-stream-(Duration)-Indikator 2p (Mediastromdauer-Indikator), der die Länge eines Mediadatenstroms in Sekunden angibt.
-
Bei dem in 3 gezeigten Ausführungsbeispiel werden die weiteren Indikatoren 2i bis 2p durch den Player 34 des Client 14 an das Aggregationsmodul 46 bereitgestellt, welches, auf die oben beschriebene Art und Weise, alle oder eine Untermenge der Statistikwerte und der Indikatoren 2a bis 2p aggregiert, entweder durch eine lineare Kombination, eine LNorm oder eine sigmoide Mittelung oder eine Kombination dieser Aggregationsverfahren, wie dies oben im Zusammenhang mit der Gleichung (2) erläutert wurde.
-
Bei dem anhand der 3 diskutierten Ausführungsbeispiel wurde davon ausgegangen, dass die zusätzlichen Indikatoren 2d bis 2p durch den Player 34 des Client 14 bereitgestellt werden. Die vorliegende Erfindung ist jedoch nicht auf eine solche Ausgestaltung beschränkt, und für den Fall, dass der Player 34 diese Informationen beispielsweise nicht zur Verfügung stellen kann, ist gemäß anderen Ausführungsbeispielen vorgesehen, die zusätzlichen Indikatoren durch eine externe Modellierung des Player-Verhaltens und eine Beobachtung des ankommenden Bitstroms zu erhalten. 4 zeigt ein weiteres Ausführungsbeispiel für eine solche Ausgestaltung, bei dem, im Gegensatz zur 3, der Player 34 des Client 14 die weiteren Indikatoren 2d bis 2p nicht bereitstellt. Wie aus 4 zu erkennen ist, entspricht die dort dargestellte Vorrichtung 32 im Wesentlichen derjenigen, die anhand der 3 erläutert wurde, wobei jedoch im Unterschied zur 3 zusätzlich eine Player-Simulation 48 vorgesehen ist, die ausgestaltet ist, um das Verhalten des Mediaplayers 34 des Client 14 basierend auf dem ankommenden Mediadatenstrom 18 zu modellieren. Die Player-Simulation 48 ermöglicht es, aus dem Mediadatenstrom 18 die oben erwähnten Indikatoren 2i bis 2o zu erhalten und dem Aggregationsmodul 46 des Langzeit-Aggregationsmoduls 42 bereitzustellen, wo diese auf die oben beschriebene Art und Weise verarbeitet werden. Ferner ist bei dem in 4 dargestellten Ausführungsbeispiel das Bitstrom-Analysemodul 38 ausgebildet, um zusätzlich zu den Indikatoren 1a bis 1j auch die Indikatoren 2d bis 2h und 2p aus dem Mediadatenstrom 18 zu erhalten, und um diese direkt an das Aggregationsmodul 46 zur Bestimmung des Qualitätsmaßes q bereitzustellen. Hier sei angemerkt, dass ein Teil dieser Werte auch als a-priori Information z. B. auf dem Server des Streaming Anbieters verfügbar sein kann.
-
Bei den bisher beschriebenen Ausführungsbeispielen wurde erläutert, dass die erfindungsgemäße Vorrichtung zwischen dem Netzwerk 16 und dem Client 14 angeordnet ist, allerdings ist der erfindungsgemäße Ansatz nicht auf diese Ausgestaltung beschränkt. Grundsätzlich lässt sich der erfindungsgemäße Ansatz an beliebiger Stelle der Übertragungsstrecke einsetzen, also beispielsweise auch zwischen dem Server 12 und dem Netzwerk 16, oder zwischen der Mediadatenbank 10 und dem Server 12.
-
Gemäß bevorzugten Ausführungsbeispielen wird die erfindungsgemäße Vorrichtung und der erfindungsgemäße Ansatz am Client 14 implementiert, nämlich an einer Stelle, an der auch ein menschlicher Endnutzer den Mediandatenstrom betrachten kann. Der erfindungsgemäße Ansatz lässt sich als eigenständiges Messsystem realisieren, alternativ kann der erfindungsgemäße Ansatz auch als Hardware oder Software in dem Player 34 oder in einem anderen Abspielgerät, beispielsweise einer Settop Box realisiert sein.
-
5 zeigt ein Flussdiagramm eines Verfahren zum Bestimmen einer Qualität eines Mediadatenstroms während einer Messdauer gemäß einem Ausführungsbeispiel. In einem Schritt S1 wird eine Mehrzahl von ersten Qualitätsindikatoren 1a–1j aus dem Mediadatenstrom bestimmt. Im Schritt S2 wird für eine Mehrzahl von Kurzzeit-Zeitdauern k jeweils ein Kurzzeitqualitätswert qk unter Verwendung der Mehrzahl von ersten Qualitätsindikatoren 1a–1j bestimmt, wobei die Kurzzeit-Zeitdauer k kürzer ist als die Messdauer. Im Schritt S3 wird für die Messdauer eine Mehrzahl von statistischen Werten 2a–2c unter Verwendung einer Mehrzahl von Kurzzeitqualitätswerten qk bestimmt. Im Schritt S4 wird ein Qualitätsmaß q für die Qualität des Mediadatenstroms unter Verwendung der statistischen Werte 2a–2c geliefert.
-
Obwohl manche Aspekte im Zusammenhang mit einer Vorrichtung beschrieben wurden, versteht es sich, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens darstellen, so dass ein Block oder ein Bauelement einer Vorrichtung auch als ein entsprechender Verfahrensschritt oder als ein Merkmal eines Verfahrensschrittes zu verstehen ist. Analog dazu stellen Aspekte, die im Zusammenhang mit einem oder als ein Verfahrensschritt beschrieben wurden, auch eine Beschreibung eines entsprechenden Blocks oder Details oder Merkmals einer entsprechenden Vorrichtung dar. Einige oder alle der Verfahrensschritte können durch einen Hardware-Apparat (oder unter Verwendung eines Hardware-Apparats), wie zum Beispiel einen Mikroprozessor, einen programmierbaren Computer oder eine elektronische Schaltung ausgeführt werden. Bei einigen Ausführungsbeispielen können einige oder mehrere der wichtigsten Verfahrensschritte durch einen solchen Apparat ausgeführt werden.
-
Je nach bestimmten Implementierungsanforderungen können Ausführungsbeispiele der Erfindung in Hardware oder in Software implementiert sein. Die Implementierung kann unter Verwendung eines digitalen Speichermediums, beispielsweise einer Floppy-Disk, einer DVD, einer Blu-ray Disc, einer CD, eines ROM, eines PROM, eines EPROM, eines EEPROM oder eines FLASH-Speichers, einer Festplatte oder eines anderen magnetischen, optischen oder Halbleiter Speichers durchgeführt werden, auf dem elektronisch lesbare Steuersignale gespeichert sind, die mit einem programmierbaren Computersystem derart zusammenwirken können oder zusammenwirken, dass das jeweilige Verfahren durchgeführt wird. Deshalb kann das digitale Speichermedium computerlesbar sein.
-
Manche Ausführungsbeispiele gemäß der Erfindung umfassen also einen Datenträger, der elektronisch lesbare Steuersignale aufweist, die in der Lage sind, mit einem programmierbaren Computersystem derart zusammenzuwirken, dass eines der hierin beschriebenen Verfahren durchgeführt wird.
-
Allgemein können Ausführungsbeispiele der vorliegenden Erfindung als Computerprogrammprodukt mit einem Programmcode implementiert sein, wobei der Programmcode dahin gehend wirksam ist, eines der Verfahren durchzuführen, wenn das Computerprogrammprodukt auf einem Computer abläuft.
-
Der Programmcode kann beispielsweise auch auf einem maschinenlesbaren Träger gespeichert sein.
-
Andere Ausführungsbeispiele umfassen das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren, wobei das Computerprogramm auf einem maschinenlesbaren Träger gespeichert ist.
-
Mit anderen Worten ist ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens somit ein Computerprogramm, das einen Programmcode zum Durchführen eines der hierin beschriebenen Verfahren aufweist, wenn das Computerprogramm auf einem Computer abläuft.
-
Ein weiteres Ausführungsbeispiel der erfindungsgemäßen Verfahren ist somit ein Datenträger (oder ein digitales Speichermedium oder ein computerlesbares Medium), auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren aufgezeichnet ist.
-
Ein weiteres Ausführungsbeispiel des erfindungsgemäßen Verfahrens ist somit ein Datenstrom oder eine Sequenz von Signalen, der bzw. die das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren darstellt bzw. darstellen. Der Datenstrom oder die Sequenz von Signalen kann bzw. können beispielsweise dahin gehend konfiguriert sein, über eine Datenkommunikationsverbindung, beispielsweise über das Internet, transferiert zu werden.
-
Ein weiteres Ausführungsbeispiel umfasst eine Verarbeitungseinrichtung, beispielsweise einen Computer oder ein programmierbares Logikbauelement, die dahin gehend konfiguriert oder angepasst ist, eines der hierin beschriebenen Verfahren durchzuführen.
-
Ein weiteres Ausführungsbeispiel umfasst einen Computer, auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren installiert ist.
-
Ein weiteres Ausführungsbeispiel gemäß der Erfindung umfasst eine Vorrichtung oder ein System, die bzw. das ausgelegt ist, um ein Computerprogramm zur Durchführung zumindest eines der hierin beschriebenen Verfahren zu einem Empfänger zu übertragen. Die Übertragung kann beispielsweise elektronisch oder optisch erfolgen. Der Empfänger kann beispielsweise ein Computer, ein Mobilgerät, ein Speichergerät oder eine ähnliche Vorrichtung sein. Die Vorrichtung oder das System kann beispielsweise einen Datei-Server zur Übertragung des Computerprogramms zu dem Empfänger umfassen.
-
Bei manchen Ausführungsbeispielen kann ein programmierbares Logikbauelement (beispielsweise ein feldprogrammierbares Gatterarray, ein FPGA) dazu verwendet werden, manche oder alle Funktionalitäten der hierin beschriebenen Verfahren durchzuführen. Bei manchen Ausführungsbeispielen kann ein feldprogrammierbares Gatterarray mit einem Mikroprozessor zusammenwirken, um eines der hierin beschriebenen Verfahren durchzuführen. Allgemein werden die Verfahren bei einigen Ausführungsbeispielen seitens einer beliebigen Hardwarevorrichtung durchgeführt. Diese kann eine universell einsetzbare Hardware wie ein Computerprozessor (CPU) sein oder für das Verfahren spezifische Hardware, wie beispielsweise ein ASIC.
-
Die oben beschriebenen Ausführungsbeispiele stellen lediglich eine Veranschaulichung der Prinzipien der vorliegenden Erfindung dar. Es versteht sich, dass Modifikationen und Variationen der hierin beschriebenen Anordnungen und Einzelheiten anderen Fachleuten einleuchten werden. Deshalb ist beabsichtigt, dass die Erfindung lediglich durch den Schutzumfang der nachstehenden Patentansprüche und nicht durch die spezifischen Einzelheiten, die anhand der Beschreibung und der Erläuterung der Ausführungsbeispiele hierin präsentiert wurden, beschränkt sei.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- H.264-Standard [0002]
- H.265-Standard [0002]