
Skalierbares und flexibles Live-Video Streaming mit der Media Internet Streaming Toolbox Von der Fakultät für Mathematik und Informatik der Technischen Universität Bergakademie Freiberg genehmigte DISSERTATION zur Erlangung des akademischen Grades Doktor-Ingenieur Dr.-Ing. vorgelegt von Dipl. Math. Nico Pranke geboren am 16.02.1977 in Leisnig Gutachter: Prof. Dr. rer. nat. habil. Konrad Froitzheim, Freiberg Prof. Dr.-Ing. habil. Bernhard Jung, Freiberg Tag der Verleihung: 17.11.2009 I Übersicht Diese Arbeit befasst sich mit der Entwicklung und Anwendung verschiedener Konzepte und Algorithmen zum skalierbaren Live-Streaming von Video sowie deren Umsetzung in der Me- dia Internet Streaming Toolbox. Die TOOLBOX stellt eine erweiterbare, plattformunabhän- gige Infrastruktur zur Erstellung aller Teile eines Live-Streamingsystems von der Medien- verarbeitung über die Codierung bis zum Versand bereit. Im Vordergrund steht die flexible Verarbeitung und Erzeugung von Medienströmen mit unterschiedlicher Dienstegüte und de- ren Verteilung über das Internet unter Verwendung geeigneter Protokolle und unter Einhaltung weicher Echtzeitbedingungen. Die wichtigsten Designziele sind: eine einfache Beschreibung von Medienverarbeitung und Stromerstellung, einfache Erweiterbarkeit und Integration neuer Kompressionsverfahren, hohe Skalierbarkeit bezüglich der Zahl der bedienbaren Klienten und eine individuelle, klientenbezogene Stromerstellung. Es wird ein integriertes graphenbasiertes Konzept entworfen, in dem das Component Enco- ding Stream Construction (CESC), die Verwendung dynamisch ladbarer, funktionaler Kompo- nenten (Compresslets) und eine automatisierte Flussgraphenkonstruktion miteinander vereint werden. Ausgehend von einer Kombination einfacher graphenbasierten Beschreibungen der logischen Struktur von Medienverarbeitung und Stromerstellung wird ein komplexer Fluss- graph zur technischen Ausführung erzeugt. Bestimmte Teile des Flussgraphen, die der Erzeu- gung klientenindividueller Stromformate dienen, können in ihrer Ausführung vom restlichen Teil entkoppelt werden. Durch die zusammengefasste Ausführung solcher Teile für Klienten mit identischem Zustand wird der Codierungsaufwand so stark reduziert, dass die Skalier- barkeit prinzipiell nicht mehr abhängig von der Zahl der Klienten ist. Dieses Ergebnis wird sowohl theoretisch hergeleitet als auch durch Messungen bestätigt. Die Arbeit liefert zunächst einen Überblick über die Komponenten der TOOLBOX und deren Verwendung und wird dann mit einigen Betrachtungen zu den wichtigsten Eigenschaften des Mediums Video, zu seiner Kompression und Verteilung über ein Netzwerk sowie zu relevanten aktuellen Technlogien aus diesem Bereich fortgesetzt. Anschließend wird der graphenbasier- te Ansatz formalisiert und hergeleitet, die Algorithmen zur automatischen Konstruktion des Flussgraphen entwickelt und gezeigt, wie das CESC-Konzept integriert wird. Danach wer- den ausgewählte Aspekte von Architektur und Design des Systems erläutert, gefolgt von der Vorstellung einiger Anwendungen wie beispielsweise der Entwicklung und Integration zwei- er wavaletbasierter Stromformate. Abgeschlossen wird die Arbeit durch einige Betrachtungen und Messungen zur Beurteilung von Leistungsfähigkeit und Skalierbarkeit der TOOLBOX. II Versicherung Hiermit versichere ich, dass ich die vorliegende Arbeit ohne unzulässige Hilfe Dritter und ohne Benutzung anderer als der angegebenen Hilfsmittel angefertigt habe; die aus fremden Quellen direkt oder indirekt übernommenen Gedanken sind als solche kenntlich gemacht. Bei der Auswahl und Auswertung des Materials sowie bei der Herstellung des Manuskripts habe ich Unterstützungsleistungen von folgenden Personen erhalten: – Weitere Personen waren an der Abfassung der vorliegenden Arbeit nicht beteiligt. Die Hilfe eines Promotionsberaters habe ich nicht in Anspruch genommen. Weitere Personen haben von mir keine geldwerten Leistungen für Arbeiten erhalten, die nicht als solche kenntlich gemacht worden sind. Die Arbeit wurde bisher weder im Inland noch im Ausland in gleicher oder ähnlicher Form einer anderen Prüfungsbehörde vorgelegt. Freiberg, 07. 07. 2009 Dipl. Math. Nico Pranke III Danksagung Mein Dank gilt all denen, die zum Gelingen dieser Arbeit beigetragen haben. Besonders möch- te ich mich bei meiner Frau Katja und meinem Sohn Linus für ihre Liebe und Geduld sowie bei meinen Eltern bedanken. Ohne deren Unterstützung und Förderung wäre diese Arbeit nicht möglich gewesen. Weiterhin möchte ich mich bei den Mitarbeiterinnen und Mitarbeitern des Institutes für In- formatik und den Protagonisten des Oberseminars bedanken, die durch eine freundliche und angenehme Arbeitsatmosphäre und viele Hinweise und Anregungen zum Entstehen dieser Ar- beit beigetragen haben. Besonders möchte ich mich bei meinem Betreuer Prof. Dr. Froitzheim bedanken, der mir stets mit Rat und Tat zur Seite stand. Ein weiterer Dank gilt Albrecht Heinzel und Helge Bahmann sowie den vielen ungenannten Doktoranden und Mensagängern, die mich durch ihre konstruktive Kritik, ihre Lektorentätig- keit oder ihre motivierenden Worte unterstützt haben. Für ihre Rolle als Fotomotiv möchte ich mich bei Mathias Buhr, der Büropflanze und dem Robonova-1 bedanken. INHALTSVERZEICHNIS IV Inhaltsverzeichnis 1 Live-Streaming–EinevielschichtigeProblemstellung 1 2 ÜberblicküberdieMediaInternetStreamingToolbox 4 2.1 EntwurfvonStreaming-Anwendungen . .... 4 2.2 KonzepteundFunktionsweise . .. 5 2.3 Komponenten der TOOLBOX .......................... 10 2.3.1 MIST-Kerndienste ........................... 12 2.3.2 Compresslet-Bibliotheken . 13 2.3.3 Videogewinnung ............................ 14 2.3.4 JavaWebVideo-Klient . 15 2.4 FallstudieeinesStreaming-Szenarios . ........ 16 3 Video als Perzeptionsmedium 23 3.1 DasmenschlichevisuelleWahrnehmungssystem. ........ 23 3.2 RepräsentationvonVideosignalen . ..... 26 3.2.1 MathematischeRepräsentation . .. 26 3.2.2 DigitaleRepräsentation. 27 3.2.3 Farbräume ............................... 27 3.3 GrundlagenderVideokompression . .... 29 3.3.1 Datenreduktion ............................. 30 3.3.2 Dekorrelation.............................. 30 3.3.3 Codierung................................ 31 3.3.4 BewertungderBildqualität. 33 3.4 VerteilungvonVideoströmenüberdasInternet . ........ 34 3.4.1 DasTransmissionControlProtocol(TCP) . .... 35 3.4.2 DasReal-timeTransportProtocol(RTP) . .... 38 3.4.3 IP-Multicast .............................. 40 3.4.4 Eignung von TCP zur Verteilung von Videoströmen . ..... 41 3.5 AktuelleLive-StreamingTechnologien . ....... 43 3.5.1 Multimedia-Frameworks . 43 3.5.2 StandardszurVideocodierung . 45 3.5.3 Streaming-Server............................ 46 4 Konzepte und Algorithmen 48 4.1 Formalisierungdes graphenbasiertenAnsatzes . .......... 48 4.1.1 CharakterisierungdesKonzeptes. ... 48 4.1.2 Medienformate ............................. 49 4.1.3 Pins................................... 54 4.1.4 Knotentypen .............................. 54 INHALTSVERZEICHNIS V 4.1.5 ModellierungvonFormatabhängigkeiten . .... 56 4.1.6 Beschreibung von Medienverarbeitung und Stromerstellung durch Anwendungsgraphen. .. .. .. .. .. .. .. 58 4.1.7 Formatvorgaben ............................ 61 4.1.8 Flussgraphen .............................. 63 4.2 Konstruktion des Flussgraphen durch Formatverhandlung........... 64 4.2.1 Verhandlungsgraphen. 65 4.2.2 CharakterisierungdesProblems . .. 67 4.2.3 KonstruktiondesFlussgrapheninNMM. .. 69 4.2.4 Plausibilitätsbetrachtungen zur Aufwandsabschätzung ........ 71 4.2.5 CharakterisierungderLösungsstrategie . ...... 73 4.2.6 Heuristikzur Lösungdes Steinerbaum-Problems . ...... 75 4.2.7 BetrachtungenzurverwendetenMetrik . ... 77 4.2.8 KonstruktiondesFlussgraphen. .. 79 4.2.9 AuflösungvonWildcard-Parametern. .. 82 4.2.10 OptimierteFormatverhandlung. ... 83 4.2.11 ValidierungundAktivierung . .. 85 4.3 ComponentEncodingStreamConstruction . ..... 86 4.3.1 Skalierbarkeitsbegriff. .. 86 4.3.2 AnsatzderCESC-Architektur . 89 4.3.3 NutzungvonSynergien. 89 4.3.4 NutzungtemporalerRedundanz . 91 4.3.5 Änderungsdetektion . .. .. .. .. .. .. .. 94 4.3.6 EntkopplungvonVerarbeitungundVersand . .... 98 4.3.7 Übertragung der Entkopplung auf das graphenbasierte Konzept . 99 4.3.8 GruppierungvonFrameanforderungen. 101 4.3.9 Abschätzung des Berechnungsaufwandes für die verschiedenen Ansätze103 4.4 Compresslet-Konzept . 105 4.4.1 Compresslets in der Media Internet Streaming Toolbox ........ 106 4.4.2 KlientengesteuerteStromkonstruktion . ...... 108 5 Architektur und Design 111 5.1 DasEin-/Ausgabe-Subsystem . 111 5.1.1 DieSocket-API............................. 112 5.1.2 DasAcceptor-ConnectorEntwurfsmuster . .... 114 5.1.3 Designalternativen für die gleichzeitige Bedienung mehrerer Verbin- dungen ................................. 116 5.1.4 DasReactor-Framework . 120 5.2 ADAPTIVECommunicationEnvironment(ACE) . .... 122 5.3 DieCompresslet-Schnittstelle . ..... 124 5.3.1 DerCompresslet-Lebenszyklus . 126 INHALTSVERZEICHNIS VI 5.3.2 Kommunikation der Compresslets mit der TOOLBOX ......... 128 5.3.3 Abbildung von Verbindungsanfragen auf die Senken . ...... 131 5.3.4 Austausch von Mediendaten über die Klasse ComponentBuffer . 132 5.4 AusführungvonFlussgraphen . 135 5.4.1 Das Entwurfsmuster Active Objekt ................... 136 5.4.2 NebenläufigeAusführungaufKnotenebene . 138 5.4.3 Nebenläufige Ausführung auf Flussgraphenebene . ...... 139 5.4.4 InitiierenderFlussgraphen-Ausführung . ...... 141 5.5 DieAnwendungsschnittstelle . .... 142 5.6 EinbindungvonJava-Compresslets. ..... 144 5.6.1 JavaunddasJavaNativeInterface
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages231 Page
-
File Size-