Diplomarbeit

Transcription

Diplomarbeit
Fachhochschule München
Munich University of Applied Sciences
Fachbereich Elektrotechnik | Datentechnik
Abteilung Audiosystemtechnik
Diplomarbeit
Webcasting:
Untersuchungen zur Qualität, Komplexität und Eignung
moderner Videokompressionsverfahren für Video@Internet
Betreuer (FHM): ...........Prof. Dr. Konrad Walliser
Betreuer (IRT): .............Dipl.-Ing. Gerhard Stoll,
Dipl.-Phys. Philip Mackensen, M.A.
Verfasser: ....................Martin Schmalohr
Beginn:.........................01. Juli 2000
Abgabe:........................02. Februar 2001
Laufende Nummer:.......1626
Fachhochschule München
Fachbereich Elektrotechnik
Diplomarbeit
Abgabetermin:
02.01.2001
Betreuer:
Diplomand:
Studiengruppe:
Prof. Dr. K. Walliser
Martin Schmalohr
04EL8DW
Thema:
Untersuchungen zur Qualität, Komplexität und Eignung moderner
Videokompressionsverfahren für Video@Internet
Kurzfassung:
Im Hinblick auf Broadcasting im Internet (Webcasting) werden Videoübertragungen in weltweiten Netzen immer wichtiger. Diese Arbeit gibt
einen Überblick über alle derzeit und in naher Zukunft für das Internet
verfügbaren Videokompressionsverfahren. Eingangs wird die Komplexität der verwendeten Algorithmen analysiert. Verfügbare Implementierungen werden bezüglich ihrer Bildqualität bei unterschiedlichen Netzwerkeigenschaften und bei gestörter Übertragung untersucht. Als Netzzugänge kommen beispielsweise das analoge Modem und ein ISDNoder ADSL-Anschluß zum Einsatz. Auch Unterschiede in der Rechenintensität in Produktion und Benutzung wurde untersucht.
Dazu wurde ein interaktives HTML-basiertes Testsystem entwickelt, mit
dem ein Benutzer einen individuellen Vergleich der Videosysteme selbst
durchführen kann.
Mittels dieses Testsystems konnte gezeigt werden, daß gegenwärtig
verfügbare Verfahren bereits dafür geeignet sind, bewegte Bilder über
digitale Netzwerke zu übertragen. Mit dem Ausbau der Bandbreiten und
einer Modernisierung der Netzwerktechnologien werden in naher Zukunft qualitativ hochwertige Videoübertragungen, interaktive Unterhaltung und aktive Programmgestaltung möglich.
Inhaltsverzeichnis
INHALT
ABBILDUNGEN
TABELLEN
1 EINLEITUNG
2 PRINZIPIEN DER MEDIENKODIERUNG- UND VERBREITUNG
2.1
2.2
2.2.1
2.2.2
2.3
2.4
2.4.1
2.4.2
GRUNDLAGEN .............................................................................................................................................. 2
DIGITALE VERARBEITUNG BEWEGTER BILDER ....................................................................................... 3
GENERIERUNG VON DIGITALEN BILDDATEN ..............................................................................................3
DIGITALE SPEICHERUNG VON BILDFOLGEN ...............................................................................................4
DIGITALE ÜBERTRAGUNG VON MULTIMEDIAINHALTEN ......................................................................... 4
VERFAHREN ZUR DATENREDUKTION ........................................................................................................ 6
REDUNDANZREDUKTION.............................................................................................................................6
IRRELEVANZREDUKTION .............................................................................................................................7
3 DARSTELLUNG VON VIDEOKOMPRESSIONSALGORITHMEN
3.1 INFORMATION UND KODIERUNG................................................................................................................ 8
3.1.1 ENTROPIEKODIERUNG .................................................................................................................................8
3.1.2 TRANSFORMATIONSKODIERUNG .................................................................................................................9
3.2 KOMPRESSION STEHENDER BILDER .......................................................................................................... 9
3.2.1 VEKTORQUANTISIERUNG ..........................................................................................................................10
3.2.2 DISKRETE KOSINUSTRANSFORMATION.....................................................................................................10
3.2.3 DISKRETE WAVELETTRANSFORMATION ...................................................................................................11
3.2.4 KONTURBASIERTE BILDKODIERUNG ........................................................................................................11
3.3 KOMPRESSION BEWEGTER BILDER ......................................................................................................... 12
3.3.1 FRAMEDIFFERENZIERUNG .........................................................................................................................12
3.3.2 BEWEGUNGSKOMPENSATION ....................................................................................................................12
3.3.3 FRAMETYPEN ............................................................................................................................................13
3.3.4 ARTEFAKTE ...............................................................................................................................................14
4 ANALYSE DER KOMPLEXITÄT VERSCHIEDENER VERFAHREN
4.1
4.2
4.3
4.3.1
4.3.2
4.3.3
4.3.4
4.3.5
4.3.6
4.4
CAPTURING ................................................................................................................................................ 18
CODECS ...................................................................................................................................................... 19
MULTIMEDIA-ARCHITEKTUREN .............................................................................................................. 20
REAL VIDEO ..............................................................................................................................................20
APPLE QUICKTIME ....................................................................................................................................21
WINDOWS MEDIA TECHNOLOGIES ...........................................................................................................22
DIRECT SHOW ...........................................................................................................................................22
VIDEO FOR WINDOWS ...............................................................................................................................23
ANDERE ARCHITEKTUREN ........................................................................................................................23
DATEIFORMATE ........................................................................................................................................ 23
5 ÜBERSICHT VERFÜGBARER IMPLEMENTIERUNGEN
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.8.1
5.8.2
5.8.3
5.9
UNKOMPRIMIERTES VIDEO ...................................................................................................................... 25
LAUFLÄNGENKODIERUNG ........................................................................................................................ 26
CINEPAK .................................................................................................................................................... 26
INDEO ......................................................................................................................................................... 26
INDEO INTERACTIVE ................................................................................................................................. 27
H.261.......................................................................................................................................................... 27
H.263.......................................................................................................................................................... 27
MPEG........................................................................................................................................................ 28
MPEG 1 ....................................................................................................................................................28
MPEG 2 ....................................................................................................................................................28
MPEG 4 ....................................................................................................................................................29
DIVX........................................................................................................................................................... 30
-i-
Inhaltsverzeichnis
5.10
5.11
5.12
5.13
5.14
5.15
5.16
REALVIDEO G2 ......................................................................................................................................... 30
SORENSON VIDEO...................................................................................................................................... 31
APPLE VIDEO ............................................................................................................................................. 32
VDOWAVE ................................................................................................................................................ 32
ESCAPE VIDEOSTUDIO .............................................................................................................................. 33
CLEARVIDEO ............................................................................................................................................. 33
ANDERE CODECS ....................................................................................................................................... 33
6 EIGENSCHAFTEN AKTUELLER NETZWERKTECHNOLOGIEN
6.1
6.1.1
6.1.2
6.2
6.3
6.4
6.5
6.5.1
6.5.2
6.5.3
6.5.4
DAS OSI-REFERENZMODELL ................................................................................................................... 34
ANWENDUNGSSCHICHTEN ........................................................................................................................34
TRANSPORTSCHICHTEN.............................................................................................................................34
VERFÜGBARE ÜBERTRAGUNGSTECHNIKEN ............................................................................................ 35
AUSGEWÄHLTE ÜBERTRAGUNGSPROTOKOLLE ..................................................................................... 36
NETZWERKE UND MULTIMEDIA .............................................................................................................. 38
WEBCASTING TECHNOLOGIEN ................................................................................................................ 38
TRANSFER .................................................................................................................................................39
STREAMING ...............................................................................................................................................39
UNICAST ....................................................................................................................................................40
MULTICAST ...............................................................................................................................................40
7 UNTERSUCHUNG DER BILDQUALITÄT BEI UNTERSCHIEDLICHEN NETZZUGÄNGEN
7.1 VIDEO INTERNET DEMONSTRATION AID ................................................................................................ 42
7.2 REALISIERUNG .......................................................................................................................................... 43
7.2.1 QUELLENMATERIAL ..................................................................................................................................43
7.2.2 PARAMETERPROFILE .................................................................................................................................44
7.2.3 DESIGN ......................................................................................................................................................45
7.2.4 KOMPONENTEN .........................................................................................................................................46
7.2.5 SEQUENZKODIERUNG ................................................................................................................................47
7.3 BENUTZUNG ............................................................................................................................................... 48
7.3.1 INSTALLATION ..........................................................................................................................................48
7.3.2 NETZWERKEIGENSCHAFTEN .....................................................................................................................48
7.3.3 SEQUENZTABELLE .....................................................................................................................................49
7.3.4 INFORMATIONEN .......................................................................................................................................49
7.3.5 BITRATENDIAGRAMM ...............................................................................................................................51
8 UNTERSUCHUNG DER RECHENINTENSITÄT AUSGEWÄHLTER VERFAHREN
8.1 SERVERSEITIGE ENKODIERUNG............................................................................................................... 52
8.1.1 ISDN .........................................................................................................................................................53
8.1.2 DSL...........................................................................................................................................................53
8.1.3 LAN ..........................................................................................................................................................54
8.1.4 LIVEBETRIEB .............................................................................................................................................54
8.2 CLIENTSEITIGE DEKODIERUNG ............................................................................................................... 56
9 AUSWIRKUNGEN EINER GESTÖRTEN ÜBERTRAGUNG
9.1
9.2
9.3
MÖGLICHE URSACHEN VON ÜBERTRAGUNGSFEHLERN ........................................................................ 57
AUSWIRKUNG AUF DIE BILD- UND TONÜBERTRAGUNG ......................................................................... 57
KOMPENSATIONSMÖGLICHKEITEN ......................................................................................................... 58
10 ZUSAMMENFASSUNG
11 AUSBLICK
LITERATURVERZEICHNIS
QUELLENVERZEICHNIS
ABKÜRZUNGSVERZEICHNIS
- ii -
Abbildungen & Tabellen
ABBILDUNGEN
ABBILDUNG 1: NETZWERKE & VIDEOSTANDARDS, TYPISCHE DATENRATEN ....................................... 5
ABBILDUNG 2: KOMPRESSIONSARTEN .................................................................................................. 6
ABBILDUNG 3: KOMPRESSION UND KODIERUNG .................................................................................. 8
ABBILDUNG 4: VIDEOKOMPRESSIONSALGORITHMEN, ÜBERSICHT ..................................................... 10
ABBILDUNG 5: NETZWERK BROADCASTING, ABLAUF ........................................................................ 18
ABBILDUNG 6: MULTIMEDIA ARCHITEKTUREN & CODECS, STRUKTUR ............................................. 19
ABBILDUNG 7: VIDA, DESIGNSPEZIFIKATION ................................................................................... 45
ABBILDUNG 8: SELEKTION, NETZWERKPROFIL .................................................................................. 48
ABBILDUNG 9: DEMONSTRATOR, SEQUENZTABELLE .......................................................................... 49
ABBILDUNG 10: SEQUENZTABELLE, KODIERUNGSPARAMETER .......................................................... 50
ABBILDUNG 11: BITRATENDIAGRAMM, ERLÄUTERUNG ..................................................................... 51
ABBILDUNG 12: DAUER DER ENKODIERUNG VON 8 SEKUNDEN NTSC VIDEO FÜR ISDN AUF
EINEM PIII-500 WINDOWS98 SYSTEM ..................................................................... 53
ABBILDUNG 13: DAUER DER ENKODIERUNG VON 8 SEKUNDEN NTSC VIDEO FÜR DSL AUF
EINEM PIII-500 WINDOWS98 SYSTEM ..................................................................... 53
ABBILDUNG 14: DAUER DER ENKODIERUNG VON 8 SEKUNDEN NTSC VIDEO FÜR LAN AUF
EINEM PIII-500 WINDOWS98 SYSTEM ..................................................................... 54
ABBILDUNG 15: CPU-AUSLASTUNG EINER LIVEENKODIERUNG VON PAL VIDEO AUF EINEM
DUAL PIII-866 WINDOWS2000 SYSTEM ................................................................... 55
ABBILDUNG 16: CPU-AUSLASTUNG BEIM ABSPIELEN VON NTSC VIDEO AUF EINEM PIII-800
WINDOWS2000 SYSTEM ........................................................................................... 56
TABELLEN
TABELLE 1: TRANSFORMATIONEN UND ARTEFAKTE .......................................................................... 14
TABELLE 2: ARTEFAKTE (I)................................................................................................................ 15
TABELLE 3: ARTEFAKTE (II)............................................................................................................... 16
TABELLE 4: ARTEFAKTE (III) ............................................................................................................. 16
TABELLE 5: ARTEFAKTE (IV) ............................................................................................................. 17
TABELLE 6 : CODECÜBERBLICK, MERKMALE..................................................................................... 25
TABELLE 7: TESTSEQUENZEN, AUSWAHL........................................................................................... 52
TABELLE 8: PLAYERKONFIGURATION, PUFFERUNG ............................................................................ 58
- iii -
Einleitung
1
Grundlagen
EINLEITUNG
Die Kommunikation über Netzwerke weitet sich ständig aus. Überall in den Industrienationen werden „Informations-Autobahnen” installiert. Mit neuen Technologien wird eine Infrastruktur
geschaffen, die drei bisher getrennte Entwicklungsgebiete zusammenwachsen läßt. Die Kombination von Informationstechnologie, Unterhaltungstechnologie und Kommunikationstechnologie ergibt
neue Möglichkeiten der Verarbeitung, Verbreitung und Auswertung von Informationen. Ein erstes
Beispiele hierfür ist das interaktive Fernsehen via Digital Video Broadcasting (DVB), das eine
individuelle Nachrichtenauswahl sowie flexible Informationsdarstellung ermöglicht. Das visuelle
Telefon per Integrated Services Digital Network (ISDN) und Video on Demand Services über das
Internet sind weitere Beispiele. Möglich geworden sind diese Anwendungen durch eine effektievere, auf Kompression beruhende, platzsparende Übertragung von Daten.
Vergängliche Medien
Durch eine Digitalisierung der Archivbestände sowie durch die Umstellung von Radio und
Fernsehproduktion auf EDV-Technik stellen die politisch Verantwortlichen der öffentlich-rechtlichen
Anstalten die Weichen für den digitalen Rundfunk. Der Auslöser für die aufwendigen Umstellungen, die derzeit hinter den Kulissen der Sender stattfinden, war allerdings nicht der Wunsch nach
zusätzlichen Vermarktungsmöglichkeiten, sondern die Bewahrung der Bestände in den Archiven.
Bis Anfang der neunziger Jahre wurden die Medienbestände nach einer bestimmten Lagerzeit auf
neue Datenträger umkopiert. Bei analogen Medien geht damit stets ein Qualitätsverlust einher. Für
die Lagerung der Filmbestände ist zudem eine kostenaufwendige Klimatisierung notwendig. In der
1992 gegründeten Arbeitsgruppe "Sicherung der Archivbestände" fanden die technischen Leiter
der ARD-Anstalten mit der Umstellung auf digitale Medien einen dauerhaften, ewigen Bild- und
Tonträger. Eine Expertise vom Institut für Rundfunktechnik IRT [14] führte zu der Erkenntnis, daß
die qualitative Beschaffenheit von analogen wie digitalen Aufzeichnungsmedien in der Praxis
lediglich durch Stichprobenkontrollen beurteilt werden kann. Da es letztlich auch gar nicht auf die
Bewahrung der Medien selbst, sondern auf den Erhalt der darauf befindlichen Inhalte ankommt,
nahm man von der medienorientierten Archivierung Abstand. Eine gedanklichen Trennung von
Medien und deren Inhalten erforderte die Anschaffung hinreichend großer Speichersysteme. Die
Archivsicherung erfolgte ab nun unabhängig von der zu Grunde liegenden Hardware. Im Vergleich
zur klassischen Archiv- und Produktionstechnik stellte sich diese Lösung auch noch als unerwartet
preiswert heraus.
Digitale Produktion
Bei einem Archiv in EDV-Technik wird jeder Mitarbeiter mit einer vernetzten Workstation ausgestattet, die Bandmaschinen und Mischpulte ersetzt. Das ausgeweitete Transportnetz zwischen
Sendegebäuden und Studios ermöglicht ein computerbasiertes Recherche-System, über das der
aktuelle Bestand jederzeit abgefragt werden kann. Da der direkte Zugriff auf Audio oder Videoinhalte allerdings noch technische Probleme verursacht, müssen diese per Hauspost oder über
konventionelle Audio- und Videoleitungen geschickt werden. Damit sind sie in dieser Zeit für andere nicht verfügbar. Der Produktionsprozess inclusive Sichtung, Kopieren und Schnitt des Materials kann, besonders bei Fernsehbeiträgen, eine gute Woche dauern. Im vernetzten Funkhaus der
Zukunft bekommt man jedoch das Material direkt an den Arbeitsplatz überspielt. Man arbeitet stets
mit Kopien, das Originalmaterial bleibt stehts unangetastet und ist nach sehr kurzer Zeit bereits
-1-
Prinzipien der Medienkodierung- und verbreitung
Grundlagen
von anderen Kollegen abrufbar. Zudem besteht die Möglichkeit, während der Aufzeichnung bereits
mit dem Material zu arbeiten. (vgl. [1])
Webcasting
Distribution von Audio- und Videoinhalten geschieht heute noch größtenteils über klassische
Speichermedien und Rundfunk. Für diese existieren allgemein anerkannte Qualitätsstandards
sowie entsprechende technische und kommerzielle Strukturen. Neu hinzugekommen ist seit einiger Zeit das Internet. Als weltumspannendes Medium ist es für die Verbreitung von angeforderten1
oder Live-Inhalten prädestiniert. Bis vor kurzem war es für eingeschränkte Anwendungen wie
Nachrichten und Musikaustausch mit begrenzter Qualität geeignet. Größere Bandbreite und
schnellerer Zugang im Integrated Services Digital Network (ISDN) oder mit Digital Subscriber Line
(DSL) einerseits und die Verwendung optimierter, skalierbarer Audio- und Videokodierverfahren
andererseits sollen schon in naher Zukunft eine verbesserte Qualität ermöglichen. Um neue Hörer
zu gewinnen, ist es für den Rundfunk ein Muss auch im Internet mit neuen Technologien, interaktiven Gestaltungsmöglichkeiten und multimedialer Darstellung präsent zu sein. In dieser Arbeit
werden daher im Rahmen der Webcastingaktivitäten der European Broadcasting Union (EBU)
Möglichkeiten für eine optimale Videoübertragung im weltweiten Netz untersucht. Mit neuen Kompressions und Übertragungstechniken können mittlerweile bei Bitraten um 300 Kilobit pro Sekunde
Qualitäten erreicht werden, die an das weit verbreitete Video Home System (VHS) heranreichen.
Der permanente Ausbau von Netzkapazitäten scheint schon in naher Zukunft eine Videoübertragung von Ereignissen im Web in ausreichender Qualität zu ermöglichen. (vgl.[1])
Mensch und Technik
Für die notwendige Komprimierung stehen mittlerweile verschiedenste Verfahren zur Verfügung, die den Vorteil einer geringeren Datenrate und den Nachteil einer wahrnehmbaren
Veränderung des Bildes mit sich bringen. Allzu häufig werden diese Verfahren von den Produzenten verabscheut, da das aufwendig produzierte Material erheblich an Qualität verliert. Es darf
jedoch nicht außer Acht bleiben, daß auch jedes analog ausgestrahlte Signal zahlreiche Bandbreitenbegrenzungen und Umwandlungen durchläuft. Diese auf dem Transportweg zum Endverbraucher entstehenden Auswirkungen sind in der Praxis häufig denen einer digitalen Kompression
sehr ähnlich. Es kann daher nur darum gehen, jede individuelle Anwendung an alle technischen
Systeme möglichst gut anzupassen. Dazu ist ein detailliertes Verständnis der unterschiedlichen
Videosysteme, Kompressionsverfahren und Datenübertragungskanäle erforderlich. Diese Arbeit
will einen Einblick in bestehende Videosysteme sowie Übertragungsmöglichkeiten geben und
bietet dazu einen Überblick aktueller und in Zukunft verfügbarer Kompressionsverfahren.
2
2.1
PRINZIPIEN DER MEDIENKODIERUNG- UND VERBREITUNG
Grundlagen
Auf dem Weg von der Produktion bis hin zum Konsumenten durchläuft ein Videoinhalt verschiedene Instanzen und Prozeduren. Deren grundlegende Prinzipien sollen im Folgenden einleitend
aufgezeigt werden.
Die digitale Datenkompression dient zur Verringerung einer gegebenen Datenmenge, die
nicht nur eine Reduzierung des für die Ablage benötigten Speicherplatzes, sondern auch der
notwendigen Bandbreite für eine Übertragung ermöglicht. In der Nachrichtentechnik nimmt die
-2-
Prinzipien der Medienkodierung- und verbreitung
Digitale Verarbeitung bewegter Bilder
Übertragung eines Signals ein Frequenzband bestimmter Breite ein. Im Gegensatz dazu spricht
man in der Informationstechnik auf Grund einer digital definierten Übertragungsstrecke von der
Datenrate oder Bitrate eines Signals. Ein Standard-Videosignal [3] hat beispielsweise eine Datenrate von über 20 Megabyte pro Sekunde. Wegen der in der einschlägigen Literatur und Software
häufig mißverständlichen Bezeichnungen wird in dieser Arbeit folgende Nomenklatur bezüglich der
verwendeten Einheiten eingeführt:
Bei Angaben zur Bitrate oder Kapazität bezeichnen die Kurzschreibweisen [kbps] und
[Mbps] Werte von "Kilobit pro Sekunde" und "Megabit pro Sekunde“. Da diese Einheiten der Informationstheorie entstammen, bei der grundsätzlich von Zehnerpotenzen ausgegangen wird,
bezeichnet die Potenz "Kilo" hier einen Faktor von 1000. Taucht hingegen der Großbuchstabe "B“
in den Kürzeln [kBps] und [MBps] auf, so muß mit Werten von „Kilobyte pro Sekunde" oder "Megabyte pro Sekunde“ gerechnet werden. Diese Einheitenbezeichnungen entstammen der Datenverarbeitung und sind auf das duale Zahlensystem zur Basis 2 bezogen. Daher wird in diesem Fall mit
Vielfachen von 1024 gerechnet.
Die Bezeichnungen richten sich nach folgenden Gesetzmäßigkeiten:
1
1
1
1
kbps
Mbps
kBps
MBps
[kilobit per second]
[megabit per second]
[kilobyte per second]
[Megabyte per second]
=
=
=
=
1000 bps [bits per second] = 1000 baud [symbols per second]
1000 kbps = 1.000.000 bps
1024 Bbps [bytes per second] = 1024*8 bps [bits per second]
1024*1024*8 bps
Im Gegensatz zu einem einzelnen stehenden Bild trägt ein Teilbild im Kontext einer
bewegten Bildfolge die Bezeichnung "Frame"2. Eine Bildfolge ist gleichbedeutend mit dem Begriff
Sequenz. Für die Wiederholrate3 von Bildfolgen wird nach der englischen Bezeichnung "Frames
per second" das Kürzel [fps] verwendet.
2.2
Digitale Verarbeitung bewegter Bilder
2.2.1 Generierung von digitalen Bilddaten
Wenn in der Umgangssprache von "Video" oder "Film" die Rede ist, wird damit üblicherweise die Kombination aus einer zeitlichen Abfolge von natürlichen Bildern und dem dazu synchron ablaufenden Ton gemeint. Sowohl der Ton als auch die Bilder können einem synthetischen
Prozeß, genannt Animation, oder einer realen Szene entstammen. Die Animation ensteht durch
einen als "Rendering" bezeichneten rechnerischen Prozeß, der nach vorgegebenen Gesetzmäßigkeiten wahlweise in Echtzeit oder berechnet wird. Während das Rendering in einem
Rechner stattfindet, wird für die Abbildung von realen Bilddaten zusätzliche Hardware benötigt. Um
eine Videoszene aus der Realität in digitaler Form auf den Rechner zu transferieren, wird eine
Videoquelle, also ein Abspielgerät oder eine Kamera und eine Schnittstelle benötigt. Diese als
Capturedevice bezeichnete Baugruppe wandelt das analoge Signal der Quelle in eine digitale, für
den Computer verständliche Form um. Sie muß in der Lage sein, schnell genug auf Veränderungen einer Szene reagieren zu können, um die optische Täuschung eines fließenden Filmablaufs
aufrechtzuerhalten. Diese Forderung wird in der Datentechnik als "Echtzeitfähigkeit" bezeichnet.
Üblicherweise kommen Einsteckkarten zum Einsatz, die über mehrere analoge und digitale
Schnittstellen eingehende Bilddaten vom PCI-Bus4 des Rechners auf ein Speichermedium über1
auch "On-Demand"
engl. "Rahmen" für Einzelbild einer Bildfolge
auch "Refreshrate" oder "Framerate"
4
Abk. Peripheral Component Interconnect Bus
2
3
-3-
Prinzipien der Medienkodierung- und verbreitung
Digitale Übertragung von Multimediainhalten
tragen. Um Kompatibilität zwischen verschiedenen Schnittstellen zu gewährleisten, wird in genormten Standards neben den physikalischen Spezifikationen für Stecker, Buchsen und Verbindungskabel auch die Art der digitalen Übertragung mittels Übertragungsprotokollen festgelegt.
2.2.2 Digitale Speicherung von Bildfolgen
Im Heimbereich kommen Videostandards5 wie NTSC, PAL, S-VHS, DV, HF, FBAS und
RGB zum Einsatz, wohingegen sich auf der Produktionsseite BetaCam, DVC-Pro, D1 bis D6 und
SDI etabliert haben. Ein Devicetreiber steuert die Übertragung des Videodatenstroms von der
Peripherie auf ein sequentielles Speichermedium im Rechner. Die lokale Speicherung wird durch
das Betriebssystem geregelt. Wird eine analoge Schnittstelle benutzt, erfolgt die Analogdigitalwandlung während des Capturing auf der Schnittstellenkarte. Im Heimbereich sind bis auf das zum
Digital Video System (DV) gehörende Firewire6 alle Schnittstellen analog, wohingegen auf der
Produktionsseite ausschließlich auf digitale Bandsysteme gesetzt wird. Wie eingangs schon erwähnt, ist die Datenrate in der digitalen Videoverarbeitung ein wichtiger Parameter. Sie bewegt
sich in einem Bereich von 2 Mbps im Heimbereich bis zu 2 Gbps beim professionellen D6 System.
Dieser Größenunterschied um drei Zehnerpotenzen kommt sowohl durch verschiedene Videoparameter als auch durch unterschiedlich hohe Komprimierungsstufen zustande. Zu den Videoparametern zählen typischerweise die Bildauflösung, Bildwiederholraten und die Farbwiedergabe.
Auf der analogen Seite wird die Auflösung von der Anzahl der sichtbaren Bildzeilen fixiert.
Die maximale Bildwiederholrate eines Systems drückt sich in der horizontalen und vertikalen Synchronisationsfrequenz aus. Die Anzahl der wiederzugebenden Farben wird durch den SignalRauschabstand7 des übertragenen Signals bestimmt. Bei digitalen Bildern drückt sich die Auflösung hingegen in der Anzahl von Bildschirmpunkten8 in horizontaler und vertikaler Richtung aus.
Die Bildwiederholrate wird durch die Anzahl an nachgeladenen Frames in jeder Sekunde festgelegt. Die Anzahl an darstellbaren Farben, auch Farbraum genannt, ergibt sich aus der bei der
Digitalisierung angewendeten Quantisierungstiefe. Nach ihr richtet sich auch die Samplegröße des
zu einem Pixel gehörenden Farbwerts. Dieser kann in mathematisch unterschiedlichen Komponentenschreibweisen9 wie RGB, YUV, CYMK, DIB, HSB und LAB notiert werden. All diese Parameter zusammen ergeben eine Bandbreite oder äquivalente Bitrate, die zur Übertragung einer
Bildfolge erforderlich ist. Aus Gründen des Umfangs soll hier nicht näher auf die vielen unterschiedlichen Videoformate im Detail eingegangen werden. Vielmehr wird im Folgenden von einem
digitalisierten Bild- und Tonsignal ausgegangen, das lediglich aufgrund seiner eigenen Parameter,
jedoch unabhängig vom verwendeten Videosystem betrachtet wird. Des weiteren werden in erster
Linie Signale und Systeme betrachtet, die auch auf herkömmlichen Personal-Computern einsetzbar sind.
2.3
Digitale Übertragung von Multimediainhalten
Für die Verbreitung und die verteilte Produktion von Video- und Audioinhalten bieten sich
vorhandene digitale Netzwerke an. Bereits installierte lokale Netze10 in Firmen ermöglichen eine
5
siehe Abkürzungsverzeichnis
auch Norm IEEE1394, mit bis zu 800 Mbps Übertragungsdatenrate
7
auch Signal to Noise Ratio (SNR)
8
auch "Pixel" für Picture Element
9
siehe Abkürzungsverzeichnis
10
auch Lokal Area Network (LAN)
6
-4-
Prinzipien der Medienkodierung- und verbreitung
Digitale Übertragung von Multimediainhalten
effiziente Produktion, und Weitverkehrsnetze11 wie das Internet sorgen für die Übertragung zum
Endkunden. Dabei muß für die vom Videostandard geforderte Bandbreite jeweils ein entsprechender Netzwerkstandard gefunden werden.
Abbildung 1: Netzwerke & Videostandards, typische Datenraten12
Vergleicht man die bestehenden Videosysteme und deren typische Bitrate mit den verfügbaren Netzwerktechnologien in Abbildung 1, so taucht eine Lücke auf. Die zur Verfügung stehenden Systeme für Videoanwendungen reichen nur bis auf 1500 kbps an die untere Grenze heran.
Heutigen Glasfasernetzen sind mit Übertragungsbandbreiten von 10 Gbps und mehr nach oben
hingegen offensichtlich keine Grenzen gesetzt. Die Bedienung von Videotechnologien durch lokale
Netzwerke wie Ethernet, Firewire oder dem Asynchronous Transfer Mode Protokoll (ATM) ist
weitgehend gedeckt, wie auch aus einem Projekt "SDIoverATM" [5] des IRT hervorgeht. Auch
aktuelle Computer, die in der Wirtschaft Standard sind und sich wachsender Beliebtheit in Privathaushalten erfreuen, sind den Aufgaben des Desktopvideo gewachsen. Das zeigt die Einordnung von CD-Rom-Systemen oder der BUS-Architektur in die obige Abbildung.
Es wird deutlich, daß für Netzwerke mit niedrigen Bandbreiten, wie zum Beispiel DSL, ISDN
oder dem Groupe Spécial Mobile System (GSM), bislang kaum verbreitete Videosysteme existieren. Genau diese Lücke soll durch effiziente Videocodierung geschlossen werden. Die Notwendigkeit für den Einsatz neuer Verfahren wird noch deutlicher, wenn man deren Häufigkeit
betrachtet. Sind auf der Videoseite im Heimbereich Technologien wie VHS und die Digitale Video
Disc13 (DVD) weit verbreitet, so erfreuen sich GSM im Handysektor oder ISDN und DSL bei Festnetzen wachsender Beliebtheit. Da die Parameter dieser beiden Systeme jedoch nicht konform
sind, müssen Verfahren entwickelt werden, die eine zusätzliche Vermarktung der für DVD und
11
genannt: Wide Area Network (WAN)
Hinweis: mögliche Übertragungsraten der Netzwerkprotokolle variieren in verschiedenen Versionen und Implementierungen
teils erheblich, daher wurden hier jeweils ein Mittel der erreichbaren Eckwerte zugrunde gelegt.
Bei analogen Videosystemen wurde eine zur Bildqualität äuquivalente Datenrate ermittelt.
13
auch Digital Versatile Disc (DVD)
12
-5-
Prinzipien der Medienkodierung- und verbreitung
Verfahren zur Datenreduktion
DVB produzierten Inhalte auf Weitverkehrsnetzen einer solchen Technologie ermöglichen. Diese
Verfahren werden in naher Zukunft einen weiteren Schub durch die Verbreitung von Universal
Mobile Telecommunication Service (UMTS)-Geräten erfahren, die für Multimediaapplikationen
vorbereitet sind. Die folgenden wird daher ein Überblick über bestehende Verfahren zur Videokompression und deren Fähigkeit zur Übertragung über digitale Netze bei niedrigeren Bitraten
geben.
2.4
Verfahren zur Datenreduktion
Ein Standard Videosignal [3] hat eine Datenrate von über 20 MByte pro Sekunde. Durch
eine Komprimierung vor der Übertragung und Speicherung werden die Daten kompakt genug, um
Hardwarebausteine nicht zu überlasten, und ein effektiver Transport ist gewährleistet. Es müssen
Wege gefunden werden, die Datenrate einer Videosequenz niedrig zu halten und dabei keine oder
sowenig Qualitätsverluste wie möglich zu erzeugen. Dazu kommt die Datenreduktion zum Einsatz.
Sie nutzt den Umstand, daß ein Signal, ein Bild oder eine Nachricht sich in vier Bereiche unterteilen läßt. Einen irrelevanten (unwichtigen), einen relevanten (wichtigen), einen redundanten
(bekannten) und einen den nichtredundanten (unbekannten) Teil. Die Grundidee der Datenreduktion besteht darin, die Irrelevanz und Redundanz, also unwichtige und bereits bekannte Informationen aus dem Informationsfluß zu eliminieren.
Abbildung 2: Kompressionsarten
2.4.1 Redundanzreduktion
Die Redundanzreduktion ist ein umkehrbarer und nicht verlustbehafteter Prozeß. Reduziert
wird nicht die im Signal enthaltene Information, sondern lediglich die zu übertragende Datenmenge. Das Bild, das bei einem Kodierungszyklus nach der Dekompression ensteht, ist identisch
mit dem Ausgangsbild. Dabei wird der Umstand ausgenützt, daß bestimmte Werte bzw. Farben
gehäuft vorkommen. Außerdem werden Informationen, die der Empfänger bereits kennt, nicht
wiederholt übertragen. Verändert sich der Bildinhalt nicht, so genügt es beispielsweise, ein einziges stehendes Bild zu übertragen. Eine wiederholte Übertragung mit 25 Bildern pro Sekunde ist
nicht notwendig. Erst eine Bildänderung muß dem Empfänger mitgeteilt werden. Ändert sich das
Bild wiederum nur in Teilaspekten, brauchen nur die relevanten Bildteile als Änderung übertragen
zu werden. Die wichtigsten Verfahren zur Redundanzreduktion werden im nächsten Kapitel
beschrieben. Dort wird jedoch zu diskutieren sein, daß mit solchen Verfahren nur sehr geringe
-6-
Prinzipien der Medienkodierung- und verbreitung
Verfahren zur Datenreduktion
Kompressionsfaktoren erreicht werden können. Als sinnvolle Anwendung kommen Szenen mit
sehr geringem Farbumfang und wenig Bewegung wie zum Beispiel Animationen in Frage. (vgl. [6])
2.4.2 Irrelevanzreduktion
Die Irrelevanzreduktion entfernt aus dem Signal die Information, die vom Empfänger nicht
wahrgenommen werden kann und damit überflüssig ist. Sie ist ein irreversibler und verlustbehafteter Prozeß, da Information, die im Original vorhanden ist, durch die Reduktion verloren geht und
sich damit das decodierte Bild vom Original unterscheidet. Diese Reduktion findet im Videobereich
seit jeher Anwendung. So ist das Spektrum eines analogen Videosignals begrenzt auf 5 MHz, 575
sichtbare Zeilen pro Bild und 25 Bilder pro Sekunde. Da das Auge empfindlicher auf Helligkeitsunterschiede reagiert als auf Farbunterschiede, wird die Farbinformation mit einer geringeren
Bandbreite übertragen als die Helligkeit. In der digitalen Videotechnik muß die Abtastfrequenz und
die Quantisierungsstufenzahl festgelegt werden. Auch damit wird Irrelevanz reduziert. Aus der
Tontechnik ist bekannt, daß ein lauter Ton einen leisen Ton verdeckt. Damit braucht der leise Ton
nicht mehr aufgezeichnet oder übertragen zu werden. Das Kriterium dafür, in welchem Maße
Irrelevanzreduktion angewendet werden darf, liegt beim Empfänger. Die Fernsehtechnik bezieht
sich deshalb auf das menschliche Auge und Ohr. Informationen, die von ihnen nicht wahrgenommen werden, brauchen nicht übertragen zu werden. (vgl. [6])
Nicht wahrnehmbare Kompression
Systeme, bei denen der Betrachter den Unterschied zwischen dem ehemals komprimierten
und dem originalen Bild nachweislich nicht mehr wahrnehmen kann, werden in der Fachliteratur oft
als "perceptually lossless" bezeichnet. Ein solches System setzt eine entsprechend hohe
Qualitätsstufe voraus. Die Verfahren der Joint Picture Experts Group (JPEG) und der Moving
Picture Experts Group (MPEG) sind skalierbar und ermöglichen es, die Grenze der
Wahrnehmbarkeit zu variieren. Es gilt daher, den Kompressionsgrad, oft auch als Qualitätsfaktor
bezeichnet, so zu wählen, daß das menschliche visuelle System keinen Unterschied zum Original
feststellen kann.
Natürliche verlustbehaftete Kompression
Der Detailliertheitsgrad eines Seheindrucks hängt immer vom Betrachtungsabstand und
vom Blickwinkel auf ein bestimmtes Objekt ab. Daher ist im übertragenen Sinne ein Verlust von
feinen Details durch höhere Kompression durchaus akzeptabel, wenn der Betrachtungsabstand
vergrößert wird. Ein direkter Blick auf ein Objekt ist mit hoher Auflösung im Zentrum und mit
niedriger Auflösung im weiteren Umfeld gleichzusetzen. Auch ist das menschliche System an
bestimmte natürliche Störeinflüsse wie Regen, Schnee und Nebel gewöhnt. Diese Störeinflüsse
hindern den Mensch nicht, bestimmte Objekte nach wie vor zu erkennen. Erzeugt ein technisches
System also Störungen, die im Rahmen dieser psychooptischen Eigenschaften des Menschen
liegen, spricht man von einer natürlichen Kompression.
Unnatürliche verlustbehaftete Kompression
Trotz dieser Fähigkeit wird ein sehr hoher Kompressionsfaktor unterhalb einer bestimmten
Qualitätsschwelle dem menschlichen Betrachter als sehr störend erscheinen. Ab einem bestimmten Punkt der verlustbehafteten Kompression werden neu enstandene Objekte wahrgenommen, die eine Erkennung der ursprünglichen Szene unmöglich machen. Diese "Artefakte"
genannten Bildveränderungen werden in Abschnitt 3.3.4 detaillierter behandelt. Das menschliche
System ist sehr sensibel bezüglich Linien und Ecken. Es ist darauf ausgelegt, physikalische Ob-7-
Darstellung von Videokompressionsalgorithmen
Information und Kodierung
jekte wie Menschen, Nahrung oder mögliche Gefährdungen zu identifizieren und zu charakterisieren. Objekte werden von der Umgebung subjektiv durch Linien getrennt. Wenn nun ein Algorithmus diese Umrisse zerstört oder neue hinzufügt, wird der ursprüngliche Seheindruck verfremdet. Wie sich später zeigen wird, haben alle Verfahren bei ausreichend hoher Kompression Probleme mit den Ecken eines Bildes. Die Vektor-Quantisierung, Block-Diskrete-Kosinustransformation
oder die Wavelettransformation haben beispielsweise alle keine mathematische Entsprechung für
die intuitive Wahrnehmung von Ecken und Linien. (vgl. [7])
3
3.1
DARSTELLUNG VON VIDEOKOMPRESSIONSALGORITHMEN
Information und Kodierung
Bevor die einzelnen Algorithmen zur Videokomprimierung im Detail dargestellt werden, soll
hier kurz auf das allen gemeinsame Prinzip eingegangen werden. Ein Kompressionszyklus besteht
aus mehreren Stufen. Die eingangs im Capturingprozess digitalisierten Daten werden nach einer
möglichen Speicherung der Haupttransformation unterzogen. Die am häufigsten verwendeten
Transformationen nach Fourier, mit Kosinus oder das neuere Wavelet-Verfahren sind in Abbildung
3 aufgeführt.
Abbildung 3: Kompression und Kodierung
Durch die anschließende Quantisierung der Transformationsprodukte wird eine Kompression erreicht. Bleibt die Quantisierung der Koeffizienten aus, handelt es sich um einen verlustlosen
Prozeß. Bei der anschließenden Kodierung kann, abhängig vom Signal, eine weitere, verlustlose
Reduzierung des Datenvolumens erreicht werden. Die so reduzierten Inhalte können übertragen
oder lokal gespeichert werden. Bevor sie nun beim Empfänger wieder ausgegeben werden können, muß der gesamte Prozeß wieder umgekehrt werden. Es ist eine Dekodierung und Rekonstruktion mit anschließender inverser Transformation notwendig.
3.1.1 Entropiekodierung
Zunächst soll ein Überblick über die als Entropiekodierung bezeichneten Verfahren zur
Reduzierung der Kodewortlänge gegeben werden. Dabei werden die Wahrscheinlichkeiten, mit
denen ein Symbol oder eine Symbolfolge auftritt, ausgenützt. Die Idee der Huffman-Kodierung
geht auf das Prinzip des Morsealphabets zurück. Dort werden den häufig vorkommenden Symbolen kürzere Codes zugeordnet als den seltener vorkommenden. Dabei werden alle Symbole
nach ihrer Häufigkeit in einer Tabelle sortiert. Viele Kompressoren und Grafikformate wie zum
-8-
Darstellung von Videokompressionsalgorithmen
Kompression stehender Bilder
Beispiel das Graphics Interchange Format (GIF) verwenden das LZW-Verfahren, benannt nach
Lempel, Ziv und Welch. Diese auch als Lauflängenkodierung14 bezeichnete Technik faßt eine
aufeienanderfolgende Sequenz von gleichen Symbolen oder Pixeln gleicher Farbe als ein Codewort zusammen. Zum Beispiel könnte man eine Folge aus den Pixelwerten 77 77 77 77 77 77 77
als 7 mal 77 auffassen.
Häufiger vorkommende Symbolfolgen werden dabei in Teilketten zerlegt. Jede Teilkette
erhält einen Index, der in einer Tabelle abgelegt wird. Der Ausgabecode besteht nur aus den
Indizes dieser Tabelle. Diese wird nicht mit abgespeichert und muß bei jeder Kompression und
Dekompression erst erzeugt werden. Ihre Größe wird bei konkreten Implementierungen
beschränkt. Im Unterschied zum Huffman-Verfahren werden hier ganze Symbolfolgen zu jeweils
einem neuen Symbol zusammengefaßt.
Bei der arithmetischen Kodierung werden die Symbole ihrer Wahrscheinlichkeit nach in
Unterintervalle angeordnet. Je kleiner das zu einem Symbol gehörige Unterintervall ist, desto
länger wird sein Codewort, und umgekehrt. Die Kodierung erfolgt dadurch, daß jedem Symbol eine
binäre Fließkommazahl zugeordnet wird, die dem Anfang der Position des Unterintervalls entspricht. Im Vergleich zur Huffman-Kodierung, die jedem Zeichen einen Code zuordnet, ist die
arithmetische Kodierung für Zeichenfolgen effizienter. (vgl. [8])
3.1.2 Transformationskodierung
Bei dem als Transformationskodierung bezeichneten Verfahren wird nur eine Beschreibung
übertragen anstatt das Signal selbst. Dabei findet meist eine Transformation in den Frequenzbereich mit der Übertragung der spektralen Koeffizienten statt. Für Bilder funktioniert diese
Transformation zweidimensional. Alle im Folgenden beschriebenen Algorithmen benutzen Kombinationen aus Entropiekodierung und unterschiedlichen Transformationen.
3.2
Kompression stehender Bilder
Bei dem nun folgenden Überblick über die derzeit und in naher Zukunft verfügbaren Kompressionsverfahren werden zunächst die verbreiteten Algorithmen geschildert. Anschließend werden Implementierungen dargestellt, in denen einzelne oder auch Kombinationen dieser Verfahren
realisiert wurden.
Die Reduzierung des Datenvolumens von natürlichen Bildfolgen ist gekennzeichnet
dadurch, dass grundsätzlich zwischen einer Kompression jedes einzelnen stehenden Bildes für
sich und der Kompression einer Gruppe aufeinanderfolgender Bilder unterschieden wird. Beide
Verfahren werden hintereinander angewendet. Die räumliche Kompression von Einzelbildern, wie
auch die zeitliche Kompression einer Bildfolge nutzt bestimmte psychooptische Eigenschaften des
menschlichen Sehapparates aus.
14
engl. Run Length Encoding (RLE)
-9-
Darstellung von Videokompressionsalgorithmen
Kompression stehender Bilder
Abbildung 4: Videokompressionsalgorithmen, Übersicht
3.2.1 Vektorquantisierung
Die Vektorquantisierung teilt ein Bild in ein Schachbrettmuster zu Blöcken von je 4 mal 4
Pixeln ein. Mit einer gewissen Wahrscheinlichkeit befinden sich bestimmte Blöcke im Bild, die
mehrfach auftauchen, oder zumindest ähnliche Repräsentanten haben. Der Encoder identifiziert
eine Klasse von gleichartigen Blöcken und ersetzt diese durch einen "generischen" Repräsentanten. Typischerweise wird dann der am häufigsten auftretenden Klasse der kürzeste Binärcode
zugeordnet. Aus mehreren solcher Codes wird eine Tabelle, "Lookuptable" oder "Codebook"
genannt, zusammengestellt, aus welcher der Decoder anschließend in der Lage das approximierte
Bild wieder zusammensetzt . Dieses Verfahren ist nicht verlustlos, da die realen Blöcke durch
möglichst ähnliche ersetzt werden. Der Enkodierungsprozeß ist langsam und rechenintensiv, da
eine Statistik über Häufigkeiten von Blöcken geführt und die Ähnlichkeit ständig neu berechnet
werden muß. Der Dekodierungsprozeß hingegen geht auf Grund der bereits vorhandenen Lookuptable schnell vonstatten. Der Kompressionsgrad kann durch die Menge der unterschiedlichen
abspeicherten Blöcke variiert werden. Je weniger verschiedene Blöcke abgespeichert werden,
desto geringer ist die Genauigkeit der Übereinstimmung zwischen ähnlichen Blöcken. Damit sinkt
die Qualität des rekonstruierten Bildes. Die Schachbretteinteilung bedingt bei höheren Kompressionsgraden Artefakte, die sich in einer sichtbaren Blockbildung äußern (➜3.3.4).
3.2.2 Diskrete Kosinustransformation
Eine weitere Möglichkeit, Bilder zu komprimieren, ist die von der Signalverarbeitung her
bekannte Kosinustransformation. Die internationalen Standards MPEG, ITU-T H.263 [9], und
JPEG basieren auf der diskreten Kosinustransformation (DCT). Grundlage ist die Fouriertransformation, die beliebige Signale als Überlagerung von Sinuswellen verschiedener Frequenzen und
Amplituden darstellt. Aus der örtlichen Verteilung von Pixelwerten in einem Bild wird nach der
Transformation eine Frequenz und Amplitudenverteilung. Große regelmäßige Flächen im Bild
schlagen sich dabei in niedrigen Frequenzanteilen nieder, feine Details hingegen in hohen. Der
überwiegende Anteil an visueller Information in einem realen Bild liegt im Bereich niedriger Fre- 10 -
Darstellung von Videokompressionsalgorithmen
Kompression stehender Bilder
quenzen. Kompression wird erreicht, indem höherfrequente Anteile des Bildes geringer gewichtet
werden.
In den genannten Standards kommt eine zweidimensionale DCT zum Einsatz, die auf
Blöcke zu je 8 mal 8 Pixeln des Bildes angewendet wird. Die sich daraus ergebenden 64 Koeffizienten je Block werden anschließend quantisiert. Üblicherweise werden sehr kleine Koeffizienten
zu null gesetzt. Psychooptische Tests haben ergeben, daß das menschliche Auge auf hohe Frequenzkomponenten weniger sensibel reagiert als auf niedrige. Daher werden diese mit größeren
Faktoren quantisiert. Es wird so eine nichtlineare Quantisierungskennlinie eingesetzt, die sich in
den unterschiedlichen Quantisierungsfaktoren einer Quantisierungsmatrix niederschlägt. Sie enthält 64 Einträge, mit jeweils einem Faktor für jeden der 64 DCT Koeffizienten. Nach der Quantisierung werden alle Koeffizienten lauflängenkodiert, wodurch Codes variabler Länge entstehen.
Vor der Übertragung können diese Codes wiederum einer Huffmannkodierung unterzogen werden.
Auf diese Weise kann eine beachtliche Kompression erreicht werden.
3.2.3 Diskrete Wavelettransformation
Die diskrete Wavelettransformation (DWT) besteht vereinfacht dargestellt aus zwei Filtern,
einem Hochpaß und einem Tiefpaß. Der Tiefpaßfilter gibt eine Version des eingehenden Bildes mit
niedriger Auflösung, der Hochpaßfilter ein zusätzliches Detaildifferenzsignal aus. Die Produkte
dieser Filter werden auf ihre halbe Auflösung interpoliert. Die Summe der Ausgangsprodukte entspricht in diesem Stadium der Anzahl an Bits des Eingangssignals. Die Parameter der beiden Filter
werden so gewählt, daß bei einer Addition der Filterprodukte wieder das exakte Original entsteht.
Anschließend kann das Ausgangssignal des Hochpaßfilters und das addierte Detailsignal wieder
einem weiteren Filterpaar zugeführt werden, und der Prozeß wird wiederholt. Das Ausgangssignal
des Tiefpaßfilters stellt eine grobe Approximation des ursprünglichen Eingangssignals dar. Wenn
das Eingangssignal ein Bild ist, entsteht dabei eine grob aufgelöste verschwommene Ansicht des
Bildes. Dagegen ist der Ausgang des Hochpaßfilters ein Detaildifferenzsignal. Das grobe Signal
wird auch als "basis layer" und das detaillierte als "enhancement layer" bezeichnet. Die zur Bild
und Videokompression verwendeten Waveletalgorithmen wiederholen diesen Prozeß mehrere
Male. Die Ausgangswerte werden als Waveletkoeffizienten bezeichnet.
Bis hierhin hat allerdings noch keine Kompression stattgefunden, da die Transformation die
gleiche Anzahl Bits produziert, die im Eingangssignal enthalten sind. Kompression wird auch hier
durch eine bestimmte Quantisierungsart erreicht. Dabei kommen in einfachen Implementierungen
die skalare Quantisierung und in komplexeren die Vektorquantisierung zum Einsatz. Reale Objekte
haben normalerweise eine gleichmäßige Oberfläche mit einer bestimmten Reflexion, der sogenannten Textur. Diese Textur kann eine einheitliche Farbfläche oder ein komplexes quasiperisisches Muster sein, wie dies bei Tapetenmustern oder Marmorstrukturen der Fall ist. Aus diesem
Grund läßt man in der Praxis das Tiefpaßsignal g[n] mit vorangegangenen Werten g[n-1] korrelieren. Dabei wird g[n] meistens beinahe gleich g[n-1] sein. So wird das Tiefpaßsignal g[n] als eine
Differenz von vorhergehenden Werten g[n-1] kodiert, um eine höhere Kompression zu erreichen.
Auf diese Weise wird die Besonderheit des menschlichen visuellen Systems berücksichtigt, für
feine Details weniger sensibel zu sein als für grobe Strukturen.
3.2.4 Konturbasierte Bildkodierung
Eine Kontur ist eine Linie, die den Umriß einer Figur oder eines Körpers darstellt. Eine
Textur repräsentiert dagegen die Oberflächenstruktur des Körpers. Bei der konturbasierten Bildkodierung werden Bilder aus mehrern Konturen, die jeweils eine Texturfläche zur nächsten ab- 11 -
Darstellung von Videokompressionsalgorithmen
Kompression bewegter Bilder
grenzen, dargestellt. Da Konturen sehr häufig mit den Umrissen von Objekten übereinstimmen,
existiert ein enger Zusammenhang zwischen konturbasierter und objektbasierter Bildkodierung.
Bei letzterer wird ein Bild aus mehreren Objekten zusammengesetzt, die ihrerseits aus mehreren
Konturen aufgebaut sein können. Beim Enkodierungsprozess werden Konturen und Texturen aus
dem Gesamtbild extrahiert. Anschließend werden die Konturen als Kontrollpunkte einer polynomialen "Spline" Kurvenfunktion abgespeichert und mit der Textur ausgefüllt. Texturen selbst können
als Koeffizienten einer räumlichen Frequenztransformation wie der DCT oder der Wavelettransformation abgespeichert werden. Kompression wird durch skalare oder Vektorquantisierung der
Splineparameter und der Texturkoeffizienten erreicht.
Das Hauptproblem bei diesem bislang selten realisierten Verfahren ist die Detektion von
Ecken und Linien. Sie ist sehr rechenintensiv, und die Erkennungsrate ist begrenzt. Im schlechtesten Fall werden dort Konturen erkannt, wo in Wirklichkeit keine sind. Die Konturextraktion ist
eine typische Mustererkennungsaufgabe, die dem Menschen subjektiv keine Schwierigkeiten
bereitet, sich im Rahmen einer Rechnersimulation jedoch als äußerst komplex erwiesen hat. Im
Prinzip könnte das konturbasierte Kodierungverfahren viele Probleme lösen, die bei der Kosinustransformation und den Waveletverfahren bestehen und dabei eine höhere Komprimierung erreichen. Derzeit ist jedoch nur ein als Surface Fitting Method (SFM) bezeichnetes Verfahren der
Firma Crystal Net15 bekannt, das der konturbasierten Kodierung am nächsten kommt. Einige Teile
des ISO Standards MPEG 4 enthalten zwar solche Prinzipien, eine Umsetzung läßt jedoch bislang
noch auf sich warten.
3.3
Kompression bewegter Bilder
Bisher wurde die Komprimierung von stehenden Einzelbildern besprochen. Im folgenden
wird erörtert, welche zusätzlichen Maßnahmen bei einer Folge von abhängigen Frames durchgeführt werden können.
3.3.1 Framedifferenzierung
Bei diesem in der englischsprachigen Literatur als Frame Differencing (FD) bezeichneten
Verfahren wird die Tatsache ausgenützt, daß in Videosequenzen von einem zum nächsten Bild nur
wenig Veränderungen stattfinden. Als Beispiel könnte eine Szene genannt werden, in der sich ein
Ball vor einem stehenden Hintergrund bewegt. Der größte Teil des Bildes ist von Frame zu Frame
gleich. Das vorher besprochene Vektorquantisierungsverfahren wird bei der Framedifferenzierung
auf zwei aufeinanderfolgende Frames angewendet. Die Anwendung dieses Verfahrens ermöglicht
grundsätzlich eine höhere Kompression bei gleichbleibender Bildqualität als ein unabhängiges
Einzelbildverfahren. Kommt es bei der Übertragung jedoch zu Fehlern, so summieren sich diese
solange auf, bis der Prozeß neu gestartet wird. Dadurch können schnell ganze Bildregionen
verschwinden. Daher werden spezielle Frametypen eingeführt, die einen periodischen Neustart
des Verfahrens erzwingen (➜3.3.3). Ohne diese wäre bei einer nach dem FramedifferencingAlgorithmus kodierten Sequenz ein Aufsuchen bestimmter Bilder innerhalb der Folge unmöglich.
Jeder Übertragungsfehler würde stets einen Neustart der Dekodierung erzwingen.
3.3.2 Bewegungskompensation
Das auch unter dem Begriff Motion Compensation (MC) bekannte Verfahren ist objektorientiert. Es ist auf Szenen anwendbar, in denen sich klar abgegrenzte Objekte über einen sta15
Internet: http://www.crystalnet.com
- 12 -
Darstellung von Videokompressionsalgorithmen
Kompression bewegter Bilder
tischen Hintergrund bewegen. Im Gegensatz zur Framedifferenzierung wird anstatt der Pixelwerte
eines ganzen Blocks lediglich ein Bewegungsvektor abgespeichert oder übertragen. Zunächst ist
eine Detektion von Objekten, wie zum Beispiel einem fliegenden Ball in einer Szene durchzuführen. Dazu wird auch hier das gesamte Bild in Teilblöcke strukturiert. Es wird für jeden
Block ein Bewegungsvektor erzeugt, der auf einen Block gleicher Größe in einem vorangegangenen oder zukünftigen Frame verweist. Ohne Bewegung ist dieser Block der gleiche wie der
vorhergehende und der Vektor bleibt "0". So muß der Encoder nicht das eigentliche Objekt an sich
verfolgen. Ein Vergleich von Pixelblöcken des dekodierten Frames mit solchen im Referenzframe
ist ausreichend. Dabei kann sich der Referenzblock irgendwo im Bild befinden, und die
vorhergesagten Blöcke sind ein Teil des Frames, welches gerade dekodiert wird. Diese Reihenfolge muß jedoch nur beim Enkodierungsprozeß eingehalten werden. Beim Abspielen kann das
Referenzframe auch ein zukünftiges sein. Dieser Vorgang wird im MPEG-Standard als "bidirectional-predicted" Verfahren bezeichnet. Anschließend werden die Vektoren noch lauflängenkodiert,
um die Kompression zu erhöhen. Der Enkodierungsprozess wird als Bewegungsvorhersage (Motion Estimation) und der Dekodierungsprozess als Bewegungskompensation (Motion Compensation) bezeichnet.
Beim zuletzt betrachteten Beispiel eines bewegten Balles vor einem statischen Hintergrund
bewegen sich die meisten Blöcke nicht. Die Bewegungsvektoren sind also fast alle null. In diesem
Fall ist die Motion Compensation äquivalent zum Frame Differencing, wo die Differenz zwischen
einem Block und dem selben Block im vorhergehenen Bild eine Rolle spielt. Betrachtet man die
Blöcke, die die Bewegung des Balles enthalten, so werden deren Bewegungsvektoren nicht null
sein. Sie werden die Referenz auf ein vergangenes oder zukünftiges Frame enthalten, in dem der
Ball auftaucht. Der verschobene Block wird von dem aktuellen subtrahiert. Mit der Motion Estimation können höhere Kompressionsraten als beim Frame Differencing erreicht werden. Die Enkodierung ist jedoch rechenintensiver.
Das Motion Compensation Verfahren, welches in MPEG und den verwandten Standards
H.261 und H.263 verwendet wird, funktioniert nur mit translatorischen Bewegungen. Gute Ergebnisse werden bei bewegten Objekten mit festen Hintergründen oder Kameraschwenks erzielt.
Es ist jedoch ungeeignet für sich drehende oder die Größe verändernde Objekte und bei Kameravergrößerungen16. Auch findet keine Objekterkennung statt, es kommt die blockorientierte
Detektion zum Einsatz. Als Entscheidungswert dient das mittlere Fehlerquadrat der Einzelblöcke.
Der Encoder identifiziert dabei einen verschobenen Block am kleinsten Wert des auftretenden
Fehlerquadrates. Die im Kapitel 5 genauer beschriebenen internationalen Video Standards MPEG
1, MPEG 2, MPEG 4, H.261, und H.263 benutzen die DCT zusammen mit Motion Compensation.
Die Verfahren ClearVideo von Iterated Systems, VDOWave von VDONet und der VxTremekompressor benutzen abgewandelte Formen der Motion Compensation. (vgl. [7])
3.3.3 Frametypen
Eingangs wurde der Unterschied zwischen einem stehenden Bild und einem Einzelframe
aus einer Bildfolge definiert. Da bei der Kompression von Videos Teilsequenzen, bestehend aus
mehreren Frames, zusammengefaßt werden, existiert eine weitergehende Klassifikation mehrerer
Frametypen. Als "keyframe" werden Frames bezeichnet, die Basis für auf sie folgende Differenzinformationen sind. Sie sind in sich räumlich komprimiert, stellen aber die Information eines kompletten Bildes dar. Keyframes werden in äquidistanten Zeitabständen übertragen und ermöglichen
16
genannt: Zoom
- 13 -
Darstellung von Videokompressionsalgorithmen
Kompression bewegter Bilder
so eine regelmäßige Korrektur von angehäuften Übertragungsfehlern im Bild. Sucht der Benutzer
eine bestimmte Stelle im Videostrom auf, so springt der Decoder immer auf das nächste vorhandene Keyframe. In der Quicktimearchitektur sowie bei Video for Windows werden diese als Intraframes und im MPEG Standard als I-Frames bezeichnet. Auf die Vollbildinformation solcher Keyframes folgen "Interframes", die nur noch Differenzinformationen zum jeweiligen Vorgänger
enthalten. Diese auch als "differential frames" oder "Deltaframes" bezeichneten Bilder gehen aus
einer temporären Kompression wie dem der Bewegungskompensation oder der Framedifferenzierung hervor. Im MPEG-Standard existieren wiederum zwei verschiedene Typen dieser Interframes. Dort sind bidirektionale "B-Frames" definiert, die auf einem vorangegangenen und einem
nachfolgenden Frame basieren, sowie vorhergesagte "predicted frames", die Informationen aus
weiter in der Vergangenheit liegenden Frames enthalten. Eine typische MPEG Framefolge wird
auch als Group of Pictures (GOP) bezeichnet. Sie startet mit einem I-Frame, gefolgt von B- und PFrames, wobei ein letztes P-Frame den Abschluß bildet.
3.3.4 Artefakte
Räumliche Komprimierung
Bei einer verlustbehafteten Kompression von Bildern verliert das ursprüngliche Bild mit
jedem Kodierungsprozeß Informationen. Durch die endliche mathematische Genauigkeit bei der
Quantisierung entstehen Fehler in der Abbildung. Bei einer unnatürlichen Kompression können
diese vom menschlichen Auge wahrgenommen werden. Haben durch solche Fehler sichtbare
Veränderungen am Bild stattgefunden, so nennt man diese Artefakte. In Tabelle 1 sind typische
Artefakte dargestellt, wie sie bei der Kompression stehender Bilder auftreten.
digitalisiertes Original
Wavelet Transformation
Diskrete Kosinus Transformation
Reduzierte Auflösung
Konturbasierte Vektorgrafik
binäre/reduzierte Lauflängenkodierung
Tabelle 1: Transformationen und Artefakte17
17
Hinweis: Der Kompressionsgrad wurde individuell eingestellt, so daß sichtbare Verfremdungen auftreten
- 14 -
Darstellung von Videokompressionsalgorithmen
Kompression bewegter Bilder
Verluste präsentieren sich bei der diskreten Kosinus-Transformation als sogenannte
"Blocking Artefakte". Dabei kann es zu einer Verschleifung von spitzen Ecken und unscharfen
Linien kommen. Blocking ist sehr gut an flächigen, wenig detailreichen Stellen zu beobachten. Mit
der diskreten Wavelet Transformation kodierte Bilder erzeugen keine unscharfe, kreisförmige
Überlagerungen im Bild. Sie treten vorzugsweise an kantigen Objektabgrenzungen auf. Bei einer
konturbasierten Vektorisierung, einer Reduzierung des Farbraums oder der Auflösung spricht man
nicht mehr von Artefakten im eigentlichen Sinn. Sie bewirken meist eine tatsächliche Reduzierung
des Informationsgehalts eines Bildes und keine Redundanzreduzierung.
Die Häufigkeit von sichtbaren Artefakten bestimmt maßgeblich über die Qualität eines
Bildes. Zur Beurteilung stehen subjektive und objektive Verfahren zur Verfügung. Ein objektives
Verfahren sind die Standardmessungen Peak Signal to Noise Ratio (PSNR) oder Mean Squared
Error (MSE). Durch diese Messungen wurde gezeigt, daß die DWT die DCT an Qualität übertrifft.
Bei subjektiven Qualitätstests, wie sie die European Broadcasting Union (EBU) im Hinblick auf das
zukünftige digitale Fernsehen DVB durchgeführt hat [10], müssen Versuchspersonen solche
Störungen einer Skala von sechs Kategorien zuweisen. Sie reicht von "kaum wahrnehmbaren"
über "akzeptable" Bildveränderungen bis hin zu "sehr störenden" Veränderungen. Die subjektive
Bildqualität der DWT ist auf Grund einer besseren Anpassung an das menschliche System oft
höher, als die von DCT basierten Verfahren bei gleicher Kompressionsrate.
Streifenbildung
bei fehlender Interlacingfilterung
Phantombild
bei fehlender Interlacingfilterung
Zeitliche Komprimierung
Durch eine zeitliche Komprimierung nach dem Motion Compensation oder dem Framedifferencingverfahren entstehen weitere zusätzliche Artefakte. Da sie je nach verwendetem Verfahren sehr unterschiedlich sein können, wird hier an Hand von Stichproben versucht, eine Klassifizierung durchzuführen. Zur besseren Übersicht wird in den folgenden Bildschirmfotos jeweils der
interessante Bereich rechts oben als Ausschnitt gezeigt.
Bildung von Farbflächen
Verschmieren von Details
Tabelle 2: Artefakte (I)
- 15 -
Darstellung von Videokompressionsalgorithmen
Kompression bewegter Bilder
In der oberen Zeile von Tabelle 2 sind Effekte zu sehen, die auftreten, wenn vor der
Kodierung von PAL- oder NTSC-Material keine Deinterlacingfilterung vorgenommen wird. Die
untere Hälfte zeigt eine Verminderung der Detailstreue, hervorgerufen durch eine Zusammenfassung quasigleicher Farbbereiche. Das Bild rechts unten wurde mit einigen Hauptkonturen auf
wenige einheitliche Farbflächen reduziert.
Konturbildung
durch Objektabgrenzung
Vermischung von Details,
getrennter Objekte
Tabelle 3: Artefakte (II)
In Tabelle 3 ist eine Verfremdung detailreicher Regionen gezeigt. Nachdem im linken Bild
eine zu kantige Abgrenzung der bewegten Haare stattfindet, sind die Details im rechten Bild zu
einem undefinierbaren Farbgemenge geworden.
Verschmieren
bei schneller Bewegung
Farbrauschen an Grenzflächen
Farbrauschen an Linien
Farbrauschen
kontrastreicher Konturen
Tabelle 4: Artefakte (III)
Tabelle 4 zeigt unterschiedliche Ausprägungen von einem, als "Mosquito Noise" bezeichneten Farbrauschen. Dieses Rauschen tritt vorwiegend an Linien und Kanten auf, die geringer
Bewegung unterliegen. Ein Verschmieren einer bewegten Partie ist rechts unten zu erkennen.
- 16 -
Kompression bewegter Bilder
Verwischen und
kantige Objektbildung
Farbstufen durch übermäßige
Blockbildung
Phantomfarbfläche
bei Bewegung
Blockbildung an weichem
Farbübergang
Darstellung von Videokompressionsalgorithmen
Tabelle 5: Artefakte (IV)
In Tabelle 5 sind verschiedene Ausprägungen der, für das DCT-Verfahren typischen Blockbildung zu erkennen. Links oben wird der kontinuierliche Farbübergang des Himmels in wenige
Farbzeilen abgestuft. Im Bild rechts oben taucht eine Phantomfarbfläche auf, die einen Überrest
eines bereits vergangenen Frames darstellt. Beim Bild links unten hat der Codec die
Farbabstufung übertrieben. Rechts sind zwar die Farbübergänge gut angepaßt, bestimmte Objekte
hingegen wurden zu hart abgegrenzt.
- 17 -
Analyse der Komplexität verschiedener Verfahren
4
Capturing
ANALYSE DER KOMPLEXITÄT VERSCHIEDENER VERFAHREN
Bisher wurden Eigenschaften der unterschiedlichen Algorithmen besprochen, die zur Kompression von bewegten Bildern herangezogen werden. Nun soll die Realisierung solcher Verfahren
auf aktuellen Rechnerarchitekturen dargestellt werden. Aus Gründen des Umfangs wird hier nur
das Betriebssystem Microsoft Windows zur Erläuterung herangezogen. Die nun zu besprechenden
Systeme finden jedoch auch zunehmend auf anderen Plattformen wie MacOS oder Linux Verbreitung.
Peripherie
Schnittstelle
Dbquvsjoh
Encoder
Playout
Dpnqsfttjpo Ejtusjcvujpo Efdpnqsfttjpo
Remote
Interaction
Raw A/V
interleave
Decoder
Server
Raw A/V
Content
Local
Interaction
Media
Stream
Transport
Stream
Media
Stream
Raw A/V
Interactive
temp
Storage
Stream Frames
H A H V H A H V
Content Provider Broadcast Provider
Network Packets
H A H V H A
Media Stream
HD
Audio
Video
Archiv
HD
File
HEAD
Kopie
Network Provider
Client
Abbildung 5: Netzwerk Broadcasting, Ablauf
Bei der Multimediadistribution spielen verschiedene technische Komponenten eine Rolle,
die häufig durch verschiedene Dienstleister betreut werden. Die vom Contentprovider bereitgestellten Bild- und Tondaten müssen nach der Aufzeichnung durch ein Peripheriegerät wie einer
Kamera zunächst in digitale Signale umgewandelt werden. Dieser hochratige digitale Datenstrom
kann zur Nachbearbeitung temporär gespeichert werden. Anschließend erfolgt die Kompression
durch den Encoder, welcher über eine Netzwerkverbindung mit einem Server verbunden ist. Dieser ist für die globale Verteilung der Inhalte an ein entferntes Publikum18 zuständig. Zur Archivierung für einen späteren "OnDemand" Betrieb (➜6.5) kann dieser komprimierte Datenstrom
lokal bei einem Service Provider archiviert werden. Schließlich wird der Datenstrom beim Client auf
einem Player dekodiert und visualisiert. Sowohl die dekodierten Videoinhalte als auch der kodiert
abgespeicherte Datenstrom kann nachträglich weiterverarbeitet und verändert werden.
4.1
Capturing
Der Capturingprozeß läuft in einer Schnittstellenkarte ab, welche durch spezielle Hardwarekomponenten das System entlastet. Die dafür in der Systemsteuerung eingerichteten Eingabe- und Ausgabetreiber regeln den Datentransport. Dort werden die Eingabeparameter
eingestellt, die die Bildqualität maßgeblich beeinflussen. Diese Komponenten müssen echtzeitfähig
sein, da es sonst zu Bildaussetzern oder Tonstörungen kommen kann. Im Livebetrieb muß der
Encoder den Datenstrom in Echtzeit übernehmen, dagegen erfolgt im Offlinebetrieb eine zeitver-
- 18 -
Analyse der Komplexität verschiedener Verfahren
Codecs
setzte dateiorientierte Abarbeitung. Für den Encoder kommen zwei mögliche Implementierungsformen in Betracht. Er kann als als fester Programmbestandteil in eine Encoderapplikation
integriert sein oder als Systembestandteil im Betriebssystem integriert werden.
4.2
Codecs
Für die Implementierung der beschriebenen Verfahren und Algorithmen zur Kompression
wird eine als Compression Manager bezeichnete Softwareschnittstelle im Betriebssystem bereit
gestellt. Sie gliedert sich in die Bereiche Audio Compression Manager (ACM) und Video Compression Manager (VCM), die der Benutzer über die Multimediasteuerung der Oberfläche einsehen
kann. Wie aus Abbildung 6 hervorgeht, kann der Algorithmus als eigene Anwendung laufen, oder
er ist als Compressor-Decompressor-Pärchen (CoDec) im Compression Manager installiert.
Abbildung 6: Multimedia Architekturen & Codecs, Struktur
Als Codec stehen dessen Funktionalitäten für verschiedenste Applikationen zur Verfügung.
Deren Programmcode wird als Dynamic Link Liberary (DLL) beim Start des Betriebssystems geladen. Da viele verschiedene Codecs von verschiedenen Firmen existieren, werden von Microsoft
zur genauen Identifizierung Codes vergeben, die aus vier ASCII-Charaktern bestehen und daher
Four Character Codes (FCC) genannt werden. Ist der Komprimierungsalgorithmus hingegen Bestandteil einer Applikation, so ist der Benutzer auf diese festgelegt. In diesem Fall müssen alle
anderen Komponenten an dieses Programm angepaßt werden. Oft ist zusätzlich eine Netzwerkanbindung sowie ein universeller Capturetreiber Bestandteil einer Encoderanwendung. Zu Kontrollzwecken steht in den meisten Encodern auch eine Monitoringfunktion zur Verfügung, bei der
gleichzeitig eine Dekodierung stattfindet. Beim Endbenutzer wird zu diesem Zweck ein meist
kostenfreier, separat verfügbarer Mediaplayer installiert. Dieser ist Bestandteil einer Multimediaarchitektur und kann bei Bedarf auf bereits im Compression Manager installierte Codecs zurückgreifen. Dabei findet die Zuordnung einer Streamingmediadatei in zwei Instanzen statt. Nachdem
der Benutzer das Betriebssystem aufgefordert hat, die Datei zu öffnen, sucht dieses zunächst
anhand der Dateiendung nach dem zum Dateityp assoziierten Abspielprogramm. Danach wird die
Datei an die gestartete Decoderanwendung übergeben. Diese entscheidet sich auf Grund eines im
Header der Datei enthaltenen FCC-Codes für die Benutzung eines externen Codecs oder für einen
integrierten Dekodierungsalgorithmus. Erst jetzt kann mit der Visualisierung des kodierten Datenstromes begonnen werden.
18
genannt: Clients
- 19 -
Analyse der Komplexität verschiedener Verfahren
4.3
Multimedia-Architekturen
Multimedia-Architekturen
Mit Multimedia-Architektur wird der gesamte Komplex an Software bezeichnet, der für das
Broadcasting von Audio, Video und Zusatzdiensten notwendig ist. Dazu zählen nicht nur Player
und Encoder, sondern auch Streamingtools oder Nachbearbeitungswerkzeuge. Drei spezielle
Architekturen sind weit verbreitet: das "Real System G2" der Firma Real Networks, "Windows
Media" von Microsoft und "Quicktime Video" aus dem Softwarehaus von Apple. Der Funktionsumfang dieser Architekturen soll im Folgenden näher erläutert werden. Es sei angemerkt, daß der
Name Codec oft mißverständlich gebraucht wird. Viele im System installierte Codecs sind nämlich
auf die Dekodierung beschränkt. Versucht man hingegen, diese in eine Encoderapplikation einzubinden, erhält man eine Fehlermeldung beim Start des Enkodiervorganges, oder das Programm
stürtzt ab. Das liegt daran, daß die als Codecs installierten Programmteile den Algorithmus zum
Enkodieren überhaupt nicht oder nur in der lizensierten Entwicklerversion enthalten.
Mit einer Multimediaarchitektur können Videosequenzen komprimiert, dekomprimiert und
dargestellt werden. Ihnen werden die im Capturingprozess enstandenen Dateien mittles Importfunktionen übergeben und anschließend unter Verwendung eines Codec in das architektureigene
Dateiformat überführt. Teilweise bestehen zusätzlich Bearbeitungsmöglichkeiten für Bildbeschneidungen oder Filterfunktionen. Die Bildqualität und -größe sowie Parameter für die spätere
Netzwerkübertragung oder Dateigröße einer Sequenz werden hier festgelegt.
Zusatzlfunktionalitäten
Alle im Folgenden aufgeführten Architekturen unterstützen neben reinen Videosequencen
eine Vielzahl an zusätzlichen multimedialen Möglichkeiten. Genannt sei hier zum Beispiel die
Möglichkeit, langsame Standbildfolgen, genannt Slideshows, mit der Bewegung von getrennt
abgespeicherten Bildobjekten (Sprites) zu koppeln. Textstreaming ermöglicht es, Laufschriften in
eine Videosequenz einzublenden. Außerdem kommen neuerdings Benutzerschnittstellen für interaktive Inhalte dazu. Browserähnliche Bedienelemente können im Bildfenster plaziert werden,
über die der Benutzer in den Ablauf eingreifen kann. Für die Implementiering dieser Funktionalitäten haben die Hersteller eigene Interpretersprachen19 entwickelt, die meist an gängige Internetprotokolle wie HTTP angelehnt sind. Der Vorteil in diesen sehr speziellen Funktionalitäten liegt
darin, daß eine Medienpräsentation vor der Übertragung nicht mehr in eine Videosequenz verwandelt werden muß. Es besteht die Möglichkeit, Objekte mit dem Ablaufplan und den Eigenschaften
ihrer Darstellung direkt zu versenden. Dadurch kann bei höchstmöglicher Qualität sehr viel
Netzwerkbandbreite eingespart werden. In Bezug auf die Videokodierung wird hier genau der
umgekehrte Weg beschritten, den die eingangs geschilderten Komprimierungsalgorithmen
durchführen.
4.3.1 Real Video
Das Real System G2 beinhaltet die zweite Generation von Video und Audiocodecs der
Firma RealNetworks. Sie besteht aus den drei Komponenten Producer, Server und Player, wobei
die Enkodieralgorithmen Bestandteil der Producerapplikation sind. Fremde Codecs können nicht in
die Produktion eingebunden werden. Der Player ist lediglich zum Dekodieren in der Lage und ist
auch als Plugin für HTML-Browser verfügbar. Eine RealPlayer Plus genannte Version bietet
weitere Zusatzfunktionen und muß kostenpflichtig bei Real Networks bezogen werden. Der Real
Server wird für Life-Streaming und verbindungsloses HTTP-Streaming, auch als progressiver
19
Abk. Synchronized Multimedia Integrated Language (SMIL)
- 20 -
Analyse der Komplexität verschiedener Verfahren
Multimedia-Architekturen
Download bezeichnet, benötigt (➜6.5). Außer den Produkten der Firma RealNetworks gibt es
keine weiteren Applikationen, die Realdatenströme verarbeiten können. Mit dem Real System G2
können neben Audio- und Videoinhalten auch andere Medien wie Text oder Flashanimationen
über Netzwerke übertragen werden. Es ist für Datenraten bis 768 kbps konzipiert. Für CD-Rom
und DVD Distributionen ist es auf Grund der hohen geforderten Rechenleistung bei höheren
Qualitätsstufen nicht geeignet. Wie die meisten anderen verlustbehafteten Verfahren ist auch Real
unidirektional. Das heißt, sich einmal im komprimierten Zustand befindende Realdateien können
mit Ausnahme einer Videoschnittbearbeitung nachträglich nicht bearbeitet werden.
Der Real Server ist in der Lage, einen skalierten Datenstrom zu senden. Dieses als SureStream bezeichnete Verfahren ermöglicht es, bis zu 6 Video- und Audiodatenströme, die speziell
für bestimmte Netzwerkanbindungen optimiert wurden, parallel auszusenden. Dazu findet während
der Übertragung eine permanente bidirektionale Kommunikation zwischen dem RealPlayer und
dem RealServer statt, bei der unter anderem Parameter über die aktuelle Qualität der Verbindung
ausgetauscht werden. Verändert sich diese, so kann während der Übertragung auf einen Datenstrom unterschiedlicher Datenrate umgeschaltet werden. Dabei werden die Audio und Videoströme
getrennt behandelt. Eine Prioritätenregelung legt fest, ob beim Einbruch der Datenrate ein Videostandbild gezeigt oder lediglich die Audiospur gespielt werden soll. Das RealSystem G2 unterstützt
SMIL [I] und ermöglicht es so, Audio- und Videoinhalte innerhalb einer HTML-Seite mit anderen
Medien und Aktionen zu synchronisieren. Beispielsweise können mit SMIL mehrere Filme zu
bestimmten Zeiten geladen werden, einfache Objektbewegungen und Laufschriften realisiert werden. Auch ein Austausch von Internetadressen mittels Uniform Resource Locator (URL) ist
möglich. Der Player ist frei verfügbar und enthält Werbung. Server und Encoderanwendung sind
kostenpflichtig wobei bei Liveübertragungen für jeden übertragenen Stream Zusatzkosten entstehen. Es stehen gegenwärtig Versionen für Windows und MacOS zur Verfügung.
4.3.2 Apple Quicktime
Quicktime ist eine plattformübergreifende Multimediaarchitektur für Windows und MacOS.
Zu den Medieninhalten gehören Graphiken, Sound, Video, Text, Musik, virtuelle Simulationen und
dreidimensionale Darstellung20. Apple liefert neben dem Player selbstentwickelte und zugekaufte
Video- und Audiocodecs mit und ist in der Lage fremde Codecs mit einzubinden. Encoder und
Player sind hier in einer Anwendung implementiert, wobei der Zugriff auf die Komprimierungsfunktionen als Dateiimport und -export realisiert ist. Für aufwendigere Videoproduktionen bieten
sekundäre Hersteller wie Terran Interactive und Sorenson getrennte Lösungen an. In Zusammenarbeit mit einem dezidierten Medienserver bietet Quicktime Live-Streaming nach dem RTSP Protokoll (➜6.3). Apple und weitere Firmen21 haben Server für die Linuxplattform und andere
Plattformen angekündigt [16]. Es wird zur Verbreitung von interaktivem Video auf CD-Rom und
DVD, wie für CD Interactive (CD-I) Präsentationen verwendet. Diese Anwendungen werden in
Fachkreisen der sogenannten Kioskpräsentation zugeordnet. Die Bearbeitung und Produktion wird
durch Software verschiedener Hersteller unterstützt. Mit verschiedenen Tools ist ein vielseitiger
Einsatz möglich [U]. Die Playeroberfläche kann in HTML-Seiten integriert werden. Bei einer als
"alternate movie" bezeichneten Funktion ermöglicht ein PlugIn22 die Benutzung skalierbarer
Datenströme. Bei der Enkodierung können mehrere Datenströme mit unterschiedlichen Kriterien
erzeugt werden. Dadurch kann die Wiedergabe an die Bandbreite der bestehenden Netzwerkver20
21
hier: Quicktime VR (Virtual Reality)
z.B. SGI, IBM, Cisco
- 21 -
Analyse der Komplexität verschiedener Verfahren
Multimedia-Architekturen
bindung, das verwendete Betriebssystem, die aktuelle Programm- und Sprachversion des Players
und an die Rechengeschwindigkeit des Clientcomputers angepaßt werden. Die Import- und Exportfunktionen werden durch den Bezug einer Seriennummer bei Appel ermöglicht. Der kostenlosen Player wird so gegen ein verhältnismäßig geringes Entgeld zur "Quicktime Pro" Version
aufgerüstet.
4.3.3 Windows Media Technologies
Windows Media Technologies ist eine von Microsoft entwickelte Architektur. Windows Media ist spezialisiert auf die Netzwerkübertragung von Video- und Audioinhalten. Die Encoderanwendung kann alle Codecs einbinden, die im Compression Manager registriert sind. Auch bei der
Installation der Windows Media Tools werden wie bei Quicktime mehrere eigene und fremdentwickelte Codecs installiert. Als Streamingmethoden stehen ein serverorientiertes "true
streaming", sowie serverloses "HTTP streaming" zur Verfügung (➜6.5). Ein von Microsoft als
"intelligent streaming“ bezeichnetes Verfahren soll eine unterbrechungslose Übermittlung des
Mediendatenstromes garantieren. Im Falle eines Übertragungsdefizits sendet der Windows Media
Server automatisch weniger Daten, wodurch sich die Qualität gegebenenfalls so weit reduziert,
daß nur noch Audioinformationen übertragen werden. Durch die parallele Erzeugung mehrerer
Versionen des Videostromes mit unterschiedlichen Bitraten und Frameraten wird eine begrenzte
Skalierbarkeit erreicht. Die Bilddimensionen und Parameter der Audiodaten sind hingegen für den
Gesamtdatenstrom festgelegt. Da die Audioübertragung so auf eine einzelne Spur festgelegt ist,
erhalten in der Praxis beispielsweise Zuhörer mit einer DSL-Verbindung die gleiche Tonqualität wie
ISDN-Benutzer. Der Windowsplayer ist in der Objekthierarchie von Windows über DirectShow
(➜4.3.4) angesiedelt, wodurch er in der Lage ist, neben seinen eigenen Codecs auch die dort
installierten zu benutzen. Der Macintoshclient kann neben seinen eigenen auch QuickTime
Codecs einbinden. Vor Beginn des Abspielens werden die optimalen Übertragungsparameter
zwischen Server und Client festgelegt. Der Player ist zusätzlich in der Lage, Frames zu überspringen oder die Bildqualität zu verringern, um ein Abspielen in Echtzeit zu ermöglichen. Der Windows
Media Player ist für eine Reihe von mobilen Systemen wie WindowsCE und PalmOS , sowie in
einer beta-Version für das MacOS verfügbar. Die Vorgängerversion der aktuellen Windows Media
7 Architektur trug den Namen NetShow. Alle Komponenten von dieser Architektur werden kostenlos zum Download angeboten. Für Live-Streaming werden jedoch die kostenpflichtigen professionellen Netzwerkversionen von Microsoft Windows 2000 oder NT benötigt.
4.3.4 Direct Show
DirectShow ist hierarchisch an der Spitze von DirectX23 anzusiedeln und unterstützt Multimediastreaming über Netzwerke, CD-Rom, DVD-Rom sowie den Digital Video Standard. Es
handelt sich dabei um eine API-Schnittstelle24, die clientseitiges Playback, Transkodierung und
Capturing einer Vielzahl von Formaten ermöglicht. Sie ist der Nachfolger der Architekturen Video
for Windows und Active Movie. Zusatzkomponenten wie DirectDraw, DirectSound und Direct3D
von DirectX sollen dabei einen maximalen Zugriff zu beliebiger Audio- und Videohardware auf
windowsbasierten Computern garantieren. DirectShow macht dabei Gebrauch vom Windows
Media Player, der als ActiveX25-Control-Komponente in andere Anwendungen wie dem Internet
Explorer oder als PlugIn im Netscape Navigator eingebettet werden kann. Als zusätzliche Ab22
zur Laufzeit integrierbares Softwaremodul für funktionale Erweiterungen
Softwarepaket für die Erweiterung von Audio, Video und 3D-Fähigkeiten ab Windows95
24
Abk. Application Programming Interface (API)
23
- 22 -
Analyse der Komplexität verschiedener Verfahren
Dateiformate
spielmöglichkeit steht auch eine OCX-Komponente25 zur Verfügung. DirectShow selbst beinhaltet
allerdings noch keine Streamingkomponenten für Netzwerke. In der neuesten Version von DirectX
wurden DirectShow und DirectDraw unter dem Namen DirectMedia zusammengefaßt und sind um
die Fähigkeit eines DVD-Playbacks von MPEG2 erweitert worden.
4.3.5 Video for Windows
Video for Windows war ursprünglich für Distribution auf CD-Rom entwickelt worden und
setzte sich später teilweise im Internet durch. Mit DirectShow wurde das Audio Video Interleave
(AVI) Dateiformat definiert (➜4.4), das man heute vorwiegend in der lokalen Videobearbeitung
einsetzt, da es eine framegenaue Synchronisierung der Audio- zur Videospur ermöglicht. In Video
for Windows verwendete Codecs können mit DirectShow, NetShow oder anderen Anwendungen
verwendet werden.
4.3.6 Andere Architekturen
Zusätzlich zu den genannten Multimedia Architekturen der führenden Hersteller gibt es
auch noch eine Hand voll Konkurrenten. BinkVideo ist zum Beispiel eine Videoarchitektur für 16-Bit
Echtfarben und soll an die Bildqualität von MPEG2 heranreichen. Smacker kommt aus der Spielebranche und ist optimiert für Systeme mittlerer Leistung. Es benutzt intern eine 8-Bit-Kodierung
und wird häufig für animierte Zwischensequenzen von Actionspielen auf CD-Rom-Datenträgern
eingesetzt. VivoActive wird nicht mehr weiterentwickelt. Emblaze ist eine auf JAVA basierende
Architektur, welche ohne PlugIntechnik auskommt. Sie benötigt aber generell die jeweils neueste
Version der Javasystemumgebung und ist sehr rechenintensiv.
4.4
Dateiformate
In der Datenverarbeitung existiert eine Vielfalt von teils offiziellen, teils firmeneigenen
Dateiformaten auf unterschiedlichen Plattformen. Im Zusammenhang mit Desktopvideo relevante
Formate sollen hier kurz genannt werden. Grundsätzlich erfolgt die Identifizierung eines Medienformats in zwei Schritten. Nach der Benutzeraufforderung zum Öffnen wird im ersten Schritt die
zugehörige Anwendung durch das Betriebssystem gestartet. Deren Auswahl erfolgt über das
Dateikürzel anhand einer, in der Registrierungsdatenbank abgelegten Zuweisungsliste. Ist mit dem
Kürzel noch keine Anwendung assoziiert, wird der Benutzer aufgefordert, eine vorhandene auszuwählen. Nach dem erfolgreichen Start, übergibt das Betriebssystem die referierte Datei an die
Anwendung. Im zweiten Schritt öffnet nun die Anwendung selbst die ihr übergebene Datei. Die
meisten Dateien enthalten eine sog. Kopfstruktur (Header26), in der zusätzliche, das Format
beschreibende Verwaltungsinformationen enthalten sind. Der Header wird beim Anlegen der Datei
automatisch durch das erstellende Programm vergeben. Multimediadateien enthalten meist
zusätzlich noch sogenannte Metadaten, die eine benutzerdefinierte, oft datenbankgestützte
Beschreibung des Inhalts, der Quellen und Eigenschaften ermöglichen. Erst wenn durch diese
Schritte eine erfolgreiche Identifizierung stattgefunden hat, beginnt beispielsweise ein Videoplayer
mit der Dekodierung des Inhalts. Im Falle von Video- und Audiodateien, die einen kontinuierlichen
sequentiellen Datenstrom darstellen, existiert jedoch noch eine weitere dateiinterne Paketstruktur.
Die Datei besteht dann aus einer Kette mehrerer Pakete, die ihrerseits eine eigene Headersektion
und einen Datenteil (Payload) enthalten. Eine ähnliche Struktur wird auch einer normalen Datei
aufgeprägt, bevor sie über ein paketorientiertes Netzwerk übertragen werden kann. Enthält zum
25
26
Steuerelement für die Entwicklung von C++ Applikationen
Verwaltungsstruktur im Kopf eines Datenpaketes oder einer Datei
- 23 -
Übersicht verfügbarer Implementierungen
Dateiformate
Beispiel ein Internetpaket im Header Informationen über Zielort, Route und Fehlerkorrektur, so sind
im Header jedes MPEG-Audio-Paketes Angaben zur Abtastfrequenz, Bitrate oder zum Kopierschutz enthalten.
Die Hauptformate der drei Multimediaarchitekturen tragen die Kürzel [MOV] für Quicktime
Movie, [RM] für Real Media und [WMV] für Windows Media Video. Mit der Vorgängerversion Video
for Windows wurde das Audio Video Interleave [AVI] Format definiert, welches in NetShow durch
das Advanced Streaming Format [ASF] ersetzt werden sollte. Aktuelle WMV-Dateien haben intern
jedoch das gleiche Format wie ASF-Dateien. Sie unterscheiden sich lediglich durch einen am
Anfang angefügten Suchindex. Dieser kann auch nachträglich mittels Windows Media SDK an eine
ASF-Datei angefügt werden. Nach einer simplen Umbenennung ist ASF dann in eine WMV-Datei
konvertiert worden. Die Architekturen halten weitere Dateitypen für die Integration in HTML-Seiten
und zu Steuerung ihrer multimedialen Zusatzfunktionen bereit, die bei Real und Windows Media
als XML-Applikationen27 realisiert sind. Bei Microsoft stehen Advenced Stream Redirector [ASX]
Dateien28 zur automatischen Ablaufsteuerung von Multimediainhalten zur Verfügung. Das Realsystem verarbeitet neben RealAudio [RA] und RealVideo [RV] Dateien auch SMILSteuerdokumente. Zu diesen zählen RealText [RT], RealText3D [R3T] und [RP] Dateien für
Diashows [33]. AVI wird heute hauptsächlich in der lokalen Videobearbeitung eingesetzt, da es
eine framegenaue Synchronisierung der Audio- und Videospur ermöglicht. Bilder und Gruppen von
Tonsamples29 sind in einer AVI-Datei segmentorientiert abgelegt. Sie kann neben unkomprimierten
Daten auch eine voneinander unabhängig komprimierte Stereo-Audio- und Videospur enthalten.
Eine AVI-Datei hat einen Header, in dem neben dem FCC des Codec auch Informationen über die
Dauer und die Abtasteigenschaften der Audio- und Videospur abgelegt sind. Sofern die bei der
Kodierung verwendeten Codecs dem Compression Manager des Betriebssystems bekannt sind,
können diese durch Video for Windows, DirectShow oder andere Anwendungen identifiziert werden.
5
ÜBERSICHT VERFÜGBARER IMPLEMENTIERUNGEN
Da eine Vielzahl von Codecs für verschiedenste Einsatzzwecke existiert, wurde hier eine
Auswahl getroffen. Sie richtet sich nach der Fähigkeit, bewegte Bilder mit einer möglichts niedrigen
Bitrate zu übertragen. Ziel ist also, bei kleiner Bandbreite möglichst viele Bild- und Bewegungsinformationen übertragen zu können. Da der Focus dieser Arbeit auf der Übertragung von Videos
über das Internet liegt, werden die Verfahren MPEG1 und MPEG2 auf Grund ihrer hohen Bitrate
nur zu Vergleichszwecken herangezogen. In Tabelle 6 ist ein Überblick über die Eigenschaften
und Technologien der Codecs abgedruckt, die im Folgenden erläutert werden. Dabei sind mit
"skalierbar" Codecs bezeichnet, die einen Mechanismus zur benutzerdefinierten Begrenzung der
durchschnittlichen Datenrate im Enkodierungsprozeß implementiert haben.
27
Abk. Extended Markup Language (XML), Weiterentwicklung von HTML
für Audio auch [WAX] und Video [WVX]
29
Sample: engl. Abtastwert
28
- 24 -
Codec
Apple Video
Aware Motion Wavelets
Cinepak
Clear Video
Crystal Net (SFM)
Digital Video (DV)
DivX
Escape Videostudio
H. 261
H. 263
Indeo Video Interactive 5.x
Intel Indeo 3.x
Microsoft RLE
Motion JPEG
MPEG 1
MPEG 2
MPEG 4
Sorenson Video
VDOWave
VxTreme
x
X
x
x
x
x
x
x
x
x
x
x
x
x
x
X
?
X
?
?
X
?
X
X
X
x
X
x
x
x
x
x
x
x
x
x
x
x
x
x
t
x
x
x
x
Plattform
Technologie
Architektur
Unkomprimiertes Video
Lauflängenkodierung
Vektor
Quantisierung
Diskrete
Kosinustrafo.
Diskrete
Wavelettrafo.
Kontourbasierte
Bildkoding
Frame
Differenzierung
Fraktale
Kompression
Bewegungs
Kompensation
Skalierbar
Übersicht verfügbarer Implementierungen
QT
WIN,MAC
WfW
WIN
WfW
WIN
WfW
WIN
WfW
WIN
WfW,QT
WIN,MAC
WfW
WIN,MAC,UNX,BeOS
WfW
WIN
WfW,QT
WIN,MAC
WfW,QT
WIN,MAC
WfW
WIN
WfW
WIN
WfW
WIN
X
WfW,QT
X WM,WfW,QT,RL
X WM,WfW,QT,RL
X WM,WfW,QT,RL
X
QT
X
WfW
?
WfW
WIN,MAC
WIN,MAC
WIN,MAC
WIN
WIN,MAC
WIN
WIN
Tabelle 6 : Codecüberblick, Merkmale
5.1
Unkomprimiertes Video
Die Datenmenge eines unkomprimierten Filmes ist extrem hoch. Für eine Sekunde Video
werden im PAL-Format rund 20 MB Speicherplatz benötigt, wenn man bei einer Farbquantisierung
mit 24 Bit 720 Bildpunkte je Zeile abtastet.
720 Bildpunkte ⋅ 576 sichtbare Bildzeilen ⋅ 25 Bilder ⋅ 24
Bit Farbe
MByte
MBit
= 29,6
≈ 250
je Pixel
sec
sec
Zur unkomprimierten Speicherung von Videomaterial wird kein Codec benötigt. Für die lokale
Speicherung wird das mit Video for Windows eingeführte AVI-Dateiformat verwendet. Als FCC für
unkomprimiertes Video tauchen die vier verschiedenen Varianten $0DIB, $0RGB, $0RAW und
$0000 als hexadezimale Werte auf. In aktuellen Videocodecs für Windows werden eine Reihe
verschiedener Verfahren auch in Kombinationen verwendet. Unkomprimiertes Video wird meist nur
lokal auf einer Workstation bearbeitet und verläßt diese erst als fertiger Videoclip. In diesem als
"nichtlinearer Videoschnitt" oder "offline editing" bezeichneten Verfahren wird also nur die interne
BUS-Architektur des Computers benutzt. Als Schnittstelle auf der Videoseite kommt das Serial
Digital Interface (SDI) zum Einsatz, welches eine Übertragungsrate von bis zu 270 Mbps zuläßt. In
ersten Tests am IRT [5] ist bereits die Übertragung eines unkomprimierten SDI-Videosignals über
eine ATM-Netzwerkverbindung gelungen.
- 25 -
Übersicht verfügbarer Implementierungen
5.2
Lauflängenkodierung
Lauflängenkodierung
Dieses auch als Run Length Encoding (RLE) bezeichnete Verfahren verwendet eine verlustlose Kodierung, wie sie auch bei GIF oder dem neueren Portable Network Grafiks (PNG) Format für stehende Bilder verwendet wird. GIF ist wegen einer zusätzlichen Animationsmöglichkeit
für Bannerwerbung im Internet sehr beliebt. RLE wird auch für die zweifarbige Kodierung von FAXDokumenten verwendet. Nachdem der Farbraum der Ausgangsbilder auf einen bestimmten Bitwert
reduziert wurde, werden hier nebeneinanderliegende gleichfarbige Pixel zu einem Codewort
zusammengefaßt. Je größer der benutzte Farbraum ist, desto geringere Kompressionsfaktoren
werden bei reellen Bildern und Videos erzielt. Die Kodierung beschränkt sich auf Inhalte innerhalb
eines einzelnen Frames. Es findet also keine zeitliche Komprimierung statt. Verfügbare RLECodecs beschränken sich daher meist auf 256 Farben oder 8 Bit. Ein sinnvoller Einsatzbereich für
Videoanwendungen ergibt sich zum Beispiel bei künstlich erzeugten Animationen.
5.3
Cinepak
Cinepak wurde ursprünglich für das Abspielen von kleinformatigem Video auf 386er und
030er Systemen oder dem PowerMac mit singlespeed CD-Roms entwickelt. Damit stellt sein
Hauptvorteil die geringen Anforderungen an Rechenkapazität der Hardware dar. Mit einer Weiterentwicklung der Hardware ging auch eine Benutzung von Cinepak für höhere Datenraten als ursprünglich geplant einher. Bei der erstmaligen Erscheinung von Cinepak war man über die Qualität
und Datenrate erstaunt. Mittlerweile stehen jedoch für die meisten Anwendungen hochwertigere
Verfahren zur Verfügung. Wenn allerdings eine weitreichende Hardwarekompatibilität gefordert
wird, kann Cinepak nach wie vor eine sinnvolle Entscheidung sein. Cinepak läßt sich mit den
Architekturen Quicktime und Video for Windows verwenden. Eine Transkodierung zwischen diesen
Architekturen ermöglicht den verlustlosen Übergang zwischen der Windows- und Macintosh
Plattform. Für Netzwerkübertragungen bei Internetdatenraten unter 240 kbps ist dieser Codec nicht
geeignet. Da der geringstmögliche Komprimierungsfaktor bei 10:1 liegt, sind die Datenraten auf
wenigstens 5000 kbps festgelegt. Wenn bei der Produktion die Datenratenlimitierung abgeschaltet
wird, erzeugt ein bekannter Programmierfehler in gleichfarbigen Regionen sichtbare Blockingartefakte. Trotz der Unterstützung von 8 Bit Videoinhalten, erzeugt eine reduzierte Farbpalette mit 24
Bit bessere Ergebnisse.
5.4
Indeo
Indeo wurde 1980 von Intel in der Version 3.2 veröffentlicht und trug ursprünglich den Namen RealTime Video 2.1. Der Codec ist dem von Cinepak sehr ähnlich und eignet sich gut für CDRom Datenraten. Er wird von einer Reihe von Rechnern unterstützt. Indeo 3.2 ist ein Vorgänger
von Indeo Video Interactive, benutzt jedoch ein gänzlich anderes, auf der DCT basierendes Kompressionsverfahren. Zu den unterstützten Architekturen zählen Quicktime und Video for Windows.
Ein Vorteil dieses Codecs ist die um den Faktor 3 geringere Rechenintensität gegenüber Cinepak.
Es besteht ein bekannter Implementierungsfehler, der verhindert, Material zu kodieren, dessen
Bildhöhe größer ist als die Bildbreite. Außerdem wird empfohlen, das Keyframe Intervall unabhängig von der Wiederholfrequenz auf den festen Wert 4 zu setzen. Und in Zusammenhang mit
Quicktime die codeceigene Farbpalette mit 8 Bit zu verwenden. Bei festgelegter Datenrate werden
alle Qualitätseinstellungen ignoriert.
- 26 -
Übersicht verfügbarer Implementierungen
5.5
Indeo Interactive
Indeo Interactive
Indeo Video Interactive (IVI) ist ein hochwertiger waveletbasierter Codec. Die Version 4
wurde mit Quicktime 3 ausgeliefert, dagegen muß die neue Version 5 als getrenntes Paket installiert werden. IVI produziert gute Bildqualitäten, benötigt zum Abspielen aber mindestens einen
Pentium oder PowerMac. Zusätzlich zu den üblichen Funktionen bietet dieser Codec eine Reihe
zusätzlicher Möglichkeiten. Dazu zählt eine Chromakey-Funktion, die transparentes Video ermöglicht, und eine nicht näher dokumentierte, sogenannte Hotspot-Unterstützung. Indeo wird von
der Quicktime-Architektur sowohl auf der Macintosh, als auch auf der Windowsplattform unter
DirektShow und Video for Windows unterstützt. Da die Windowsversionen leistungsfähiger sind als
die für den Macintosh, ist die plattformübergreifende Nutzung eingeschränkt. Version 5 stellt eine
Verbesserung bezüglich der Bildqualität gegenüber der Vorgängerversion dar. In Zusammenarbeit
mit Intel's Streaming-Anwendungen besteht die Möglichkeit, mittels eines progressiven Downloads
eine erhöhte Qualität zu erreichen. Generell ist die Bildqualität jedoch geringer, als die des Sorenson-Codec.
5.6
H.261
H.261 ist ein international standardisierter Codec der für den Einsatz bei Videokonferenzen
entwickelt worden ist. Die mögliche Datenrate beträgt maximal 384 kbps. Er basiert auf der bidirektionalen DCT und Motion Compensation und eignet sich speziell für niedrige Datenraten bei
relativ langsamen Bewegungen. Diese erste Implementierung eines DCT-Videocodecs wurde als
Ausgangspunkt für die Entwicklung der MPEG Standards zugrundegelegt. H.261 ist bereits bei
Datenraten um 50 kbps relativ rechenintensiv und damit nicht für leistungsschwächere Rechner
geeignet. Implementierungen existieren von Intel unter dem Namen ProShare und von Microsoft in
Windows 95. H.261 unterstützt die Architekturen NetShow und Video for Windows.
5.7
H.263
H.263 ist eine Weiterentwicklung des H.261 und des MPEG1-Standards mit dem Ziel, unterhalb 64 kbps eine bessere Qualität zu erreichen. Er basiert auf der blockdiskrete-n KosinusTransformation und stellt in vielen Punkten eine Verbesserung gegenüber der Motion Compensation des H.261 Standards dar. Zusätzlich bietet er Funktionserweiterungen im Hinblick auf paketorientierte Netzwerkübertragung und Fehlerrobustheit. Bei Szenen mit sich wenig verändernden
Inhalten kann ein hoher Kompressionsfaktor erreicht werden. Die bessere Bildqualität geht mit
einer höheren Rechenintensität einher, die speziell bei Datenraten über 50 kbps eine Echtzeitkodierung erschwert. Die Dekodierung funktioniert auch auf langsameren Maschinen gut. Standard
H.263-Datenströme unterstützen die Framegrößen von CIF, QCIF und 16CIF [9].
H.263 wird von mehreren Architekturen wie Quicktime, NetShow, und Video for Windows
unterstützt. Es existieren Implementierungen unter den Namen Vivo H.263, Duck's TrueMotion 2.0
und I H.263 von Intel. Microsoft installiert einen Codec mit NetShow 2.0 und Vivo30 Software vertreibt Streaming-Video-H.263-Komponenten zusammen mit dem Audiocodec G.723 für das Internet unter dem Namen VivoActive. Für das eigens definierte VIV-Dateiformat, das auch in HTMLSeiten integriert werden kann, wird der Vivoplayer benötigt. Zum Enkodieren wird der VivoActiveProducer benötigt.
30
Internet: http://www.vivo.com
- 27 -
Übersicht verfügbarer Implementierungen
5.8
MPEG
MPEG
Das Standardisierungsgremium MPEG wurde 1988 unter dem offiziellen Namen ISO/IECJTC1/SC29/WG1131 gegründet und hat seitdem mehrere Komprimierungsstandards für Audio- und
Videodaten definiert. MPEG ist Teil des Technical Committee on Information Technology32 (JTC1),
einem Zusammenschluß der International Standardisation Organisation33 (ISO) und der
International Electrotechnical Commission34 (IEC). Es existieren bereits eine Reihe von Implementierungen der MPEG Audio und Video, sowohl in Hardware als auch in Software. Sie werden durch
DVD, DAB, DVB, bei Computerspielen und zahlreichen anderen Anwendungen benutzt. Die
MPEG Familie umfaßt die Standards MPEG1, MPEG2 und MPEG4, offiziell bekannt ISO/IEC1117235, ISO/IEC-13818 und ISO/IEC-14496.
MPEG Video Codecs
Das MPEG-Videoverfahren verwendet ähnlich dem Verfahren der Joint Picture Expert Grup für
stehende Abbildungen einen DCT-Algorithmus. MPEG führt zusätzlich jedoch eine zeitliche Komprimierung durch.
5.8.1 MPEG 1
MPEG1 ist der am weitesten verbreitete Standard und wird durch viele Player auf verschiedenen Plattformen unterstützt. Bei Windows95 ist beispielsweise ein Decoder im Media Player
integriert. Diese Version von MPEG ist auf eine Auflösung von 352 x 288 Bildpunkten beschränkt,
die einem Viertel des PAL-Standards entspricht. Bei einer maximalen Bitrate von 4 Mbps wird noch
keine Fernsehqualität erreicht. Netzwerkstreaming ist bei MPEG1-Codecs nicht vorgesehen, und
die erzeugten Videodateien eignen sich mit einer minimalen Datenrate von 1Mbps nicht für Internetübertragungen. Diese Version ist für CD-I, Video-CD- und für die sogenannten LaserdiscAnwendungen vorgesehen. Aktuelle DVD-Abspielgeräte sind zu diesem Standard kompatibel.
5.8.2 MPEG 2
Bei MPEG2 wird zunächst wie bei MPEG1 das DCT-Verfahren auf Einzelbilder angewendet. Danach wird eine Reihe von 12 aufeinanderfolgenden Bildern dem Motion-CompensationVerfahren unterzogen und jeweils die Veränderung zum Vorgängerbild gespeichert. MPEG2 erfaßt
dabei allerdings auch identische Bildteile, die sich nur von einem zum nächsten Bild bewegen.
Dabei wird nur gespeichert, welcher Bildausschnitt sich im nächsten Bild wie weit bewegt hat.
Diese Art der Kompression ist zwar aufwendig, erzeugt allerdings auch bessere Ergebnisse.
MPEG2 ist in der Auflösung beliebig skalierbar und erreicht bei einer durchschnittlichen Datenrate
von 4 Mbps eine Datenreduktion um den Faktor 30-50. Decoder sind in DVD-Abspielgeräten und
digitalen Settopboxen zum DVB-Empfang mit standardisierten Hardwarebaugruppen realisiert. Die
Bitrate des Videodatenstroms einer DVD kann bis zu 9,8 Mbps betragen. Damit ergibt sich eine
Spieldauer von 2 Stunden bis 4 Stunden Video auf einer doppelschichtigen DVD. Bei der Ausstrahlung mehrerer gebündelter MPEG2-Kanäle über Satellit für DVB erfolgt eine dynamische
Bitratenzuweisung für jeden Kanal. Diese Datenraten übersteigen jedoch die Übertragungskapazität heutiger Weitverkehrsnetzwerke. Im Standard ist ein Streamingverfahren nur in begrenztem Maße vorgesehen. Jedoch existieren mittlerweile Packumsetzungsalgorithmen, die in
Software oder Hardware realisiert, eine Übertragung über Internet Protokoll (IP) auf sehr breit31
Internet: http://drogo.cselt.stet.it/mpeg
Internet: http://www.iso.ch/dire/jtc1/directives.html
33
Internet: http://www.iso.ch/welcome.html
34
Internet: http://www.iec.ch
32
- 28 -
Übersicht verfügbarer Implementierungen
MPEG
bandigen Netzen ermöglichen. Bei zu hohen Kompressionsfaktoren kommt es speziell in Bildregionen, die schnellen Bewegungen ausgesetzt sind, zu Blocking-Artefakten. Für die Rechenleistung, die zum Dekodieren benötigt wird, reicht ein Pentium-II-233 mit geeigneter Grafikkarte
aus [18].
5.8.3 MPEG 4
Da der MPEG4-Standard sehr umfangreich ist, sind gegenwärtig viele Funktionalitäten nur
ansatzweise implementiert. Einige Teilbereiche dieses Standards wie die Verbreitung von Multimedainhalten über Netzwerke sind permanent in Entwicklung. Der Standard definiert neben den
Videokomprimierungsverfahren auch noch Sprites, 3D-Welten, Klang- und Sprachsysnthese,
Bildsynthese nach vorgegebenen Modellen und Interaktivität. Als interne Sprache dient JAVAScript. Im Moment gibt es allerdings noch keine Encoder, die reales Filmmaterial in diese
hochkomrimierte, synthetische Form verwandeln. Das Heinrich Hertz-Institut und die Universität
Hannover forschen gegenwärtig an entsprechenden Verfahren. Die hier als MPEG4 vorgestellten
Codecs von Microsoft enthalten ebenfalls keine der genannten objekorientierten Verfahren. Sie
beschränken sich lediglich auf eine weiterentwickelte, dem ISO-H.263-Verfahren sehr ähnliche
Videokodierung mit erweiterter Fehlertoleranz [33].
Es existieren drei Versionen der MPEG4-Implementierung für Video for Windows von Microsoft und zahlreiche illegale Portierungen unter der Bezeichnung DivX (➜5.9). Die letzte offizielle
Version Microsofts stammt vom 25. Oktober 1999 und trägt den Name MPEG4v3. Die Vorgängerversionen von 1997 sind ein Bestandteil von NetShow [J] und waren auf eine QCIF-Auflösung von
176 x 144 Pixeln beschränkt. Ab Version 3 sind jedoch beliebige Formate bis über PAL hinaus
zulässig. Microsofts aktuellester Codec trägt den Namen Windows Media Video 7 und ist Bestandteil der Windows Media Tools. Die MPEG4-Codecs werden dem ASF-Format und Windows
Media Video dem WMV-Format zugeordnet. DivX-Implementierungen erzeugen hingegen AVIDateien. Wie Microsoft bereits erfolgreich bei einem als "NBC Business Video broadcasting over
the Internet" bezeichneten Event gezeigt hat, eignet sich MPEG4 gut für Internetübertragungen, da
es auch bei sehr niedrigen Datenraten arbeitet. Höhere Datenraten überfordern hingegen meist die
Hardware des Dekodierers. Mit MPEG4 wird TV-Qualität bei Datenraten unterhalb der MPEG2üblichen Werte möglich, jedoch zeigen Performancetests, daß die gegenwärtig verbreitete Hardware dafür noch nicht ausreichend Rechenleistung bietet (➜1.1).
MPEG Audio Codecs
Auf die Audiokodierung in MPEG sei hier nur am Rande verwiesen. Alle Standards,
MPEG1, 2 und 4 enthalten Definitionen zur Audiokodierung mit sehr unterschiedlichen Leistungen
und nutzen im wesentlichen ein psychoakustisches Hörmodell zur Komprimierung. In MPEG1 wird
eine Schichtenstruktur eingeführt, die stellvertretend für eine aufsteigende Komplexität steht und
eine Abwärtskompatibilität der Verfahren gewährleistet. Die erste Schicht, der sogenannte Layer1,
wird durch alle gängigen Softwareplayer unterstützt und besitzt den niedrigsten Kompressionsfaktor. Layer2 findet Anwendung beim Digitalen Radio, beim digitalen Fernsehen und bei der DVD.
Auf Grund geringer Kaskadierungsverluste [19] eignet es sich noch gut für die Produktion von
Tonbeiträgen. Die erforderlichen Datenraten sind zwar geringer als bei Layer1, für Weitverkehrsnetzwerkübertragungen aber immer noch zu hoch. Die dritte und letzte Schicht (Layer3)
ermöglicht den höchsten Kompressionsfaktor und stellt die rechenintensivste Anwendung dar. Da
35
Internet: http://www.iso.ch/isob/switch-engine-cate.pl
- 29 -
Übersicht verfügbarer Implementierungen
DivX
mehrfaches Kodieren hier zu starken Artefakten führt ist es nur für die Endarchivierung oder
Sendung geeignet. Als “MP3” hat dieses Verfahren in sehr kurzer Zeit eine weltweite Verbreitung
gefunden und wird mittlerweile durch immer mehr Endgeräte wie Walkman, Caraudio, Videoplayer,
Spielekonsolen und PDAs unterstützt. Erforderliche Datenraten sind für analoge Modem immer
noch zu hoch, ab ISDN wird aber eine sehr gute Qualität erreicht [A]. Die Standards MPEG2 und 4
erweitern die Möglichkeiten der Audiocodierung um Mehrkanalfähigkeit, objektorientierte
Audiokodierung, Nachbearbeitungsmöglichkeiten und vieles mehr. Daneben existieren noch eine
Vielzahl weiterer Audiocodecs, die teilweise spezialisierte Anwendungsgebiete haben. Es sei hier
auf Advanced Audio Coding (AAC), Windows Media Audio (WMA), RealAudio, Qdesign Music,
CELP und andere verwiesen [A].
5.9
DivX
DivX ist eine illegal portierte Version des Microsoft-MPEG4v3-Codecs, an dem einige
Änderungen vorgenommen wurden. Es wurden zum Beispiel speziell optimierte Codecversionen
für langsam oder schnell bewegte Szenen entwickelt. DivX ist sehr weit verbreitet und trägt ironischerweise denselben Namen wie ein mittlerweile zu den Akten gelegtes Sicherheitssystem für das
Freischalten von DVDs. Es existieren Implementierungen für diverse Plattformen wie BeOS, Linux,
Windows, und MacOS. In einschlägigen Personenkreisen wird er zur Verbreitung von DVDs oder
VHS-Videos verwendent [21]. Dazu werden die in Video Objects (VOB) arrangierten AudioVideodateien von einer DVD-Disc extrahiert36, deren MPEG2-Datenstrom dekodiert und erneut
mittels DivX-Codec komprimiert. Auf der Audioseite findet meist eine Transkodierung von MPEG1L2 5+1 Mehrkanalton (AC3) nach MPEG1-L3 in Stereo statt. Dadurch läßt sich die erforderliche
Datenrate so weit senken, daß ein Spielfilm auf einer einzigen CD-Rom Platz findet. Es entstehen
Kaskadierungsartefakte, die in der Praxis jedoch weit unter den Qualitätseinbußen einer VHSKopie auf analogem Magnetband liegen, sie werden daher meist gern in Kauf genommen. In absehbarer Zeit werden von Privatleuten entwickelte Tools zur Verfügung stehen, die es ermöglichen, ohne viel Sachkenntnis mittels DVD-Rom Laufwerk und Pentiumcomputer "über Nacht" eine
originale DVD auf einen handlichen und äußerst kostengünstigen CD-Rohling zu transferieren.
Mittels Videoschnittstellenkarte und TV-Gerät steht dann dem nichtkommerziellen Austausch von
Videofilmen zumindest technisch nichts mehr im Wege.Bezüglich der rechtlichen Situation sei auf
entsprechende Literatur verwiesen [20].
Ein neuer, aus China stammender Standard ist die Super Video Compact Disk (SVCD).
Diese soll die Vorteile aus den DVD- und VideoCD-Systemen vereinen. Es kommen normale CDRoms als Datenträger zum Einsatz, die mittels MPEG2-Komprimierung und einer PAL-konformen
Auflösung von 480 x 576 Bildpunkten mehr als eine halbe Stunde Video fassen. Sie wird mittlerweile von vielen Endgeräten, vorzugsweise günstigen DVD-Spielern aus Fernost unterstützt.
5.10 RealVideo G2
In der bereits beschriebenen Multimedia Architektur Real System G2 ist ein Real Video
Codec mit skalierbarer Video-Technologie (SVT) integriert. Er unterstützt Bitraten von 24–768
kbps. Eine benutzerdefinierte höhere Bitrate über 1000 kbps hat sich in der Praxis für dieses Verfahren jedoch als dermaßen rechenintensiv erwiesen, daß gängige Rechner damit überfordert sind
36
genannt: ripping, grabben; Dechiffrierung der mit dem Content Scrambling-System (CSS)-Verfahren verschlüsselten Daten
- 30 -
Übersicht verfügbarer Implementierungen
Sorenson Video
[B]. Für Bitraten im ISDN- und DSL-Bereich läßt die Rechenintensität jedoch ein Liveencoding auf
aktuellen Highendmaschinen zu.
Als nachteilig erweist sich, daß das System nicht rückwärtts kompatibel ist und daher immer ein aktueller Player zum Dekodieren benötigt wird. Gegenwärtig in der Version 8 hält Real
Video eine SureStream genannte Eigenschaft bereit, die die Abspielqualität der zur Verfügung
stehenden Verbindungsgeschwindigkeit des Benutzers anpaßt. In einem SureStream können
sowohl mehrere Audio- wie auch Videodatenströme mit sehr unterschiedlichen Eigenschaften
untergebracht werden. Da neben der Bitrate auch alle anderen Parameter individuell zugewiesen
werden können, sind auch thematisch angepaßte Profile denkbar. Als Beispiel könnte das
Streaming einer Vorlesung genannt werden, bei dem ein Teil des SureStreams den vortragenden
Sprecher mit geringerer Bildauflösung und höherer Bildwiederholrate enthält. Im zweiten Stream
könnte die Abbildung der gezeigten Folien inklusive einer Übersetzung der Originalsprache gezeigt
werden. Ein solches Verfahren wurde mittels Windows Media durch das IRT erstmals von der
Tonmeister-Tagung 2000 in Hannover getestet [22]. Ein Student kann dann live oder nachträglich
(OnDemand) die Vorlesung über Netzwerk verfolgen.
5.11 Sorenson Video
Sorenson ist der führende Videocodec von Apples Quicktimearchitektur. Er verwendet eine
weiterentwickelte Art der Vektorquantisierung zusammen mit Motion Compensation, mit der hohe
Kompressionsraten erreicht werden können. Sorenson ist für Datenraten von 16-1600 kbps
geeignet, wobei eine Wiedergabe von CD-Rom mit Datenraten über 800 kbps und Bildgrößen ab
320 x 240 bereits höhere Rechenleistungen erfordert. Er arbeitet somit bei niedrigeren Datenraten
als MPEG2 geeignet und kommt auf Pentium oder PowerMac Rechnern über 120 Mhz zum Einsatz. Im Vergleich zu Cinepak bietet Sorenson eine höhere Qualität bei etwa einem Viertel der
Datenrate. Der Decoder ist eine Standardkomponente des Quicktimeplayers. Er ist im Internet und
bei CD-Rom-Distributionen weit verbreitet und wird sehr häufig für Filmtrailer verwendet [Q]. Der
Sorenson Codec bietet derzeit die umfangreichsten Einstellmöglichkeiten für hochkomprimiertes
Video für den Encodingprozess. Es gibt zwei Encoderversionen, die “Basic Edition” und die “Developer Edition”. Erstere ist in Quicktime 3 und 4 integriert und für die Heimanwendung gedacht.
Sie beinhaltet keine der wichtigen Kontrollmechanismen und Optionen, die ein Produzent für die
Kontrolle des Encodingprozesses benötigt. In Zusammenarbeit mit Terran Interactive wurde in die
"Developper Edition" eine erweiterte Datenratenkontrolle integriert. Dazu gehört auch eine
Kodierung mit variabler Bitrate, die für den OnDemand-Betrieb aus einem Zweifachdurchlauf beim
Encoding erzeugt wird37. So ist die notwendige Bitrate besser an die wechselnden Erfordernisse
einer Videosequenz angepaßt. Nach dem Analysedurchlauf wird dem Datenstrom bei besonders
bewegungsintensiven Abschnitten so mehr Bitrate zugewiesen. Für Video for Windows ist derzeit
kein Sorenson Codec verfügbar, da Apple die Verbreitung von Sorenson auf anderen Architekturen verhindert.
37
auch "2-Pass-Encoding"
- 31 -
Übersicht verfügbarer Implementierungen
Apple Video
Eigenschaften der Entwicklerversion
Temporal Scalability ermöglicht das Abspielen eines Filmes mit hoher Framerate auf
schnellen Rechnern mit automatischer Reduzierung bei ungenügender Rechenleistung. Beispielsweise könnte man ein vollwertiges Video mit 30 fps für Pentiumrechner produzieren. Auf langsameren Maschinen wird die Wiederholrate dann auf 15 fps zurückgenommen, ohne daß sich an der
Bildqualität etwas ändert. Automatische Keyframes werden an Stellen im Film eingesetzt, an
denen Schnitte gesetzt wurden. Wie Cinepak versucht auch der Sorenson Codec Frames zu identifizieren, bei denen neue Szenen beginnen und diese automatisch zu Keyframes zu machen, um
Artekakte zu vermindern. Eine zu große Häufigkeit solcher automatischen Frames vermindert
allerdings generell die Qualität.
Als Media Keys wird ein passwortähnliches Feature von QuickTime bezeichnet. Bei der
Enkodierung kann damit der Zuschauerkreis auf diejenigen eingeschränkt werden, die im Besitz
eines bestimmten Schlüssels sind. Eine weitere Möglichkeit, das Data Rate Tracking, erlaubt eine
genaue Kontrolle der Zieldatenrate. Eine Lockerung dieser Überwachung kann im Falle einer
flexiblen Datenrate jedoch zu höheren Qualitäten führen. Das letzte, als Enhanced Watermarking
bezeichnete Feature prägt dem Clip ein benutzerdefiniertes Label ein, wie es von klassischen TVSendern bekannt ist. Dieses Wasserzeichen wird verlustlos abgespeichert und getrennt zum
Datenstrom am Beginn jeder Streamingsitzung übertragen. Ein "Alphakanal" definiert dabei transparente Bereiche. Dadurch ist auf der einen Seite eine perfekte Rekonstruktion des Labels auch
bei sehr niedrigen Datenraten möglich. Andererseits ist so auch die Möglichkeit einer nachträglichen rückstandsfreien Entfernung gegeben. Nach dem Abschluß der Recherchen für diese Arbeit
wurde von Sorenson bereits die dritte, neue Version ihres Codecs angekündigt.
5.12 Apple Video
Der Apple Video Codec wurde für eine schnellere Kompression und Dekompression bei
Erhaltung einer gewissen Bildqualität entwickelt. Da Apple Video keine interne Datenratensteuerung besitzt, muß für eine Begrenzung der Rate ein zusätzliches Tool wie Media Cleaner Pro [T]
eingesetzt werden. Der Codec erfordert generell höhere Datenraten und ist eher für CD-RomDistributionen als für Internetübertragungen geeignet. Er wird lediglich durch die Multimediaarchitektur Quicktime unterstützt. Zu typischen Einsatzgebieten zählt die Videovorschau in Quicktime-gestützten Entwicklungsumgebungen und ein Abspielen auf älteren Rechnern.
5.13 VDOWave
Dieser waveletbasierte Videocodec der Firma VDOnet38 wurde als NetShow-Produkt von
Microsoft lizensiert. In der produkteigenen Dokumentation und aus externen technischen Berichten
geht hervor, daß in diesem Codec neben dem Waveletalgorithmus auch Motion Compensation
oder Frame Differencing angewendet werden. Es existieren zwei Video for WindowsImplementationen. In der Version 2.0 ist die Bitrate fixiert; die nächste Version erlaubt bereits
Skalierbarkeit. Mit Netshow 2.0 wird ein als "decode-only" bezeichneter Codec installiert, bei dem
die Komprimierungsoption fehlt. Diese ist in Netshow Tools enthalten. Während der Codec selbst
unter dem Namen VDOWave angeboten wird, ist als VDOLive ein LiveEncoding-Produkt verfügbar, das einen Server für OnDemand-Streaming, Bearbeitungstools, eine Captureanwendung und
38
Internet: http://www.vdo.net
- 32 -
Übersicht verfügbarer Implementierungen
Escape Videostudio
einen Player enthält. Außerdem bietet das Produkt VDOPhone die Möglichkeit, in Echtzeit Videokonferenzen zu übertragen.
5.14 Escape Videostudio
Escape Videostudio ist ein neuer Codec von Eidos Technologies, der für die Architekturen
QuickTime, Video for Windows, DirectShow, und Eidos's Eigenentwicklung geeignet ist. Er enkodiert sehr schnell und erreicht auch bei Material mit schnellen Bewegungsabläufen eine gute
Bildqualität. Escape ist eine Alternative zu MPEG, die für plattformübergreifende CD-RomProduktionen genutzt wird. Übliche Datenraten sind mit 5000 kbps oft höher als bei MPEG, benötigen dafür aber weniger Rechenleistung. Ein 100MHz Pentium- oder PowerMac-Processor ist für
eine Komprimierung mit 320 x 240 Punkten und 15 fps bereits ausreichend. Eine explizite
Möglichkeit zur Limitierung der Datenrate existiert nicht. Mit dem speziellen Wiedergabeprogramm
Director Xtra ist eine interpolierte oder monitorangepaßte Vollbildansicht möglich, bei der die
Farbwiedergabe jedoch auf 16 Bit begrenzt bleibt. Die Qualität und Datenrate kann indirekt über
Einstellregler zur "spatial" und "temporal quality" beeinflußt werden. Beim Abspielbetrieb mit doppelter Größe wird jede zweite horizontale Linie durch eine schwarze Linie ersetzt. Dieser Effekt
wird subjektiv häufig positiv wahrgenommen, da keine klassischen Blockingartefakte mehr beobachtet werden können, und senkt die erforderliche Rechenleistung erheblich. Es existiert eine
Windows-Implementation, die ausschließlich AVI-Files generiert. Die Version für das Macintoshsystem erzeugt hingegen nur Quicktimedateien.
5.15 ClearVideo
ClearVideo ist eine Entwicklung der Firma Iterated Systems39, die auch durch Progressive
Networks lizensiert wurde und häufig als RealVideo bezeichnet wird. Dieser Codec arbeitet mit
Video for Windows-Applikationen zusammen und basiert auf einer fraktalen Bildkompression. Der
Enkodierungsprozeß ist allerdings sehr langsam und produziert nur eine dem MPEG1-Standard
leicht überlegene Qualität.
5.16 Andere Codecs
Wie eingangs schon erwähnt, erhebt diese Arbeit keineswegs Anspruch auf Vollständigkeit.
Neben den erläuterten Codecs gibt es ein Reihe weiterer Eigenentwicklungen auch von Herstellern
für Grafikkarten und Schnittstellenkarten. Beispielhaft seien hier Codecs für Kioskpräsentation wie
Apple Animation, Power!Video oder Motion-JPEG (MJPEG) für Capturing genannt. Auch der digitale DV-Standard und schwach komprimierte Component Video Aufzeichnungen (YUV) erfordern
einen eigenen Codec. Diese besitzen eine sehr hohe Datenrate mit Kompressionsfaktoren von 2:1
(YUV) über 5:1 (DV) bis hin zu 10:1 (MJPEG) und eignen sich für linearen Videoschnitt und temporäre Ablage. Sie verursachen bei der Bearbeitung weniger Generationsverluste. Bei MJPEG
wird die AD-Wandlung meistens an der Rechnerschnittstelle durchgeführt, wohingegen Wandlung
und Komprimierung bei DV in der Hardware des Endgerätes realisiert sind. Ein Camcorder überträgt zum Beispiel rein räumlich komprimierte Daten über ein spezielles mehrpoliges Kabel zum
Rechner. Für das Einlesen von unkomprimiertem Video über eine SDI-Schnittstelle ist hingegen
kein Codec, wohl aber ein sehr leistungsfähiges Rechnersystem mit hochratigen Systembussen
erforderlich. Hardware und Capturecodecs, die auf spezielle Schnittstellenhardware angepaßt
39
Internet: http://www.iterated.com
- 33 -
Eigenschaften aktueller Netzwerktechnologien
Das OSI-Referenzmodell
sind, seien hier noch am Rande angemerkt. Media 100, VideoVision Studio, Avid Media Composer
oder Truevision sind nur einige von ihnen.
6
EIGENSCHAFTEN AKTUELLER NETZWERKTECHNOLOGIEN
Damit komprimierte Filmsequenzen einer breiten Öffentlichkeit zugänglich gemacht werden
können, sollen derzeit verfügbare digitale Weitverkehrsnetze, wie beispielsweise das Internet
verwendet werden. Um das Zusammenspiel von übertragenen Videoinhalten und Netzwerktechnologien zu verstehen, wird hier kurz auf die Grundlagen der Netzwerktechnik eingegangen.
6.1 Das OSI-Referenzmodell
Jegliche Kommunikation zwischen zwei Partnern ist an bestimmte Voraussetzungen gebunden. Zum einen muß die Hardware der Partner und der Datenübertragungseinrichtungen über
kompatible Schnittstellen verfügen und zum anderen müssen Vereinbarungen über die Art und
Weise des Informationsaustausches getroffen werden. Diese Regelungen sind in sogenannten
Netzwerkprotokollen, die Bestandteil eines internationalen Standards sind, festgehalten.
Dazu hat die ISO eine Zuordnung der einzelnen Kommunikationsfunktionen zu einem logischen Schichtenmodell getroffen, das 7 Teilbereiche umfaßt. In diesem, Open Systems Interconnection (OSI) genannten Modell steht jede einzelne Schicht in Verbindung zu ihrem Vorgänger.
Physikalisch kommunizieren die Ebenen ausschließlich über diese übereinanderliegenden
Schichtenschnittstellen. Logisch gesehen findet jedoch eine horizontale Kommunikation von einer
Stelle zu ihrer Gegenstelle statt. Die wichtigsten Aufgaben der einzelnen Schichten sollen hier kurz
festgehalten werden. Die Schichten 1 - 4 werden der Transportfunktion zugeordnet und die
Schichten 5 - 7 sind für Anwenderfunktionen gedacht. Jede Schicht kann die zu übertragenden
Daten mit einem eigenen Headerblock versehen, der zur Ablaufsteuerung dieser Schicht dient. Der
Datenblock inklusive Header wird als Datagramm oder Protokoll Data Unit (PDU) bezeichnet und
wird von der übergeordneten Schicht als reine Nutzdaten betrachtet. Keine Schicht kann an dem
Header einer übergeordneten Schicht etwas ändern.
6.1.1 Anwendungsschichten
Die Anwendungsschicht (7-Application) stellt eine Verbindung zum Anwenderprogramm
und Dialog mit den Programmen her. Sie ermöglicht den Austausch von Dateien, elektronische
Post. Die eigentlichen Anwenderprogrammen setzen auf dieser Schicht auf. Die DarstellungsSchicht (6-Presentation) interpretiert die Daten der Anwendungsschicht. Hier findet eine Überwachung des Informationsaustausches und eine erste Kodierung der Daten in Standardcodes40 mit
Formaten und Steuerzeichen statt. In der Kommunikationssteuerungschicht (5-Session) wird der
Aufbau, die Durchführung und die Beendigung einer Verbindung durchgeführt. Dabei erfolgt eine
Überwachung der Betriebsparameter mit Synchronisation, sowie eine Datenfluß-Steuerung und
der Wiederaufbau der Verbindung im Fehlerfall. Bei einer Störung oder Unterbrechung kann diese
Schicht eine erneute Aufnahme des Transfers an einem definierten Punkt veranlassen.
6.1.2 Transportschichten
Die Transportschicht (4-Transport) stellt dem Aufbau der Datenverbindung sicher, daß alle
Datenpakete den richtigen Empfänger erreichen. Sie steuert Datentransport, Flußkontrolle und
enthält eine weitere Fehlerbehandlung. Ab dieser Ebene bleiben alle Netzwerkeigenschaften für
40
z.B. ASCII
- 34 -
Eigenschaften aktueller Netzwerktechnologien
Verfügbare Übertragungstechniken
die darüberliegenden Schichten verborgen. Hier werden die Daten in passende Blöcke aufgeteilt,
und es findet eine in fünf Klassen aufgeteilte Flußkontrolle statt. Dadurch soll die Vollständigkeit,
Eindeutigkeit und Reihenfolge der ankommenden Datenblöcke sichergestellt werden. In der Vermittlungs- und Paketschicht (4-Network) sind Mechanismen zur Datenpaketübertragung implementiert. Die Routingwege und das Multiplexen mehrerer Verbindungen über einzelne Teilstrecken
inclusive einer weiteren Datenkontrolle können hier durchgeführt werden. Die Sicherungsschicht
(2-Data Link) überwacht eine Verbindung zweier direkt benachbarter Stationen. Für eine weitere
Regelung des Datentransports und der Synchronisierung werden die Blöcke hier in Datenrahmen
bestimmter Länge unterteilt (Frames)41 und mit Prüfinformationen für die Fehlerbehandlung versehen. Typische Protokolle dieser Schicht sind BSC, HDLC und TCP (➜6.3). Dabei findet die
Flußkontrolle in dieser Schicht bereits in der binären Ebene statt. Zur Steuerung des Datenflusses
mittels wechselseitiger Bestätigung der Gegenstationen kann diese Schicht weiter unterteilt werden. Für lokale Netze existiert noch eine weitere Untergliederung in Media Access Control (MAC)
für den Zugriff auf ein Übertragungsmedium und die Logical Link Control (LLC). Die letzte Schicht
ist für die eigentliche Bitübertragung zuständig (1-Physical). Hier werden die elektrischen, mechanischen und funktionalen Eigenschaften für die physikalische Verbindung zwischen zwei Endpunkten festgelegt. Dazu zählen die Art der Modulation, der Kabelzusammensetzung und der
Steckerbelegungen sowie elektrische Pegeldefinitionen. (vgl.[27],[14])
6.2 Verfügbare Übertragungstechniken
Gegenwärtig sind hauptsächlich fünf Übertragungstechnologien verbreitet. In der Übersicht
aus Abbildung 1 (S.5) wurde bereits die Größenordnug typischer Datenraten angedeutet. Dem am
weitesten verbreiteten analogen Modem kann bei einem nominellen Wert von 56 kbps eine effektive Nettobitrate von 32...48 kbps zugeordnet werden. Hier findet eine Phase-Shift-KeyingModulation (PSK) auf einer herkömmlichen Zweidrahtkupferleitung statt. Dazu ist ein serielles
Modemendgerät42 notwendig, das im Sprachband von 3,1 kHz Bandbreite arbeitet.
ISDN
An zweiter Stelle der am meisten verbreiteten Netzwerkstandards dürfte ISDN genannt
werden, das auf einer Zweidrahtleitung mit digitaler Modulation basiert. Für den Übergang vom
Analogmodem nach ISDN ist sowohl auf der Benutzerseite als auch beim Fernmeldeamt43 eine
Umrüstung der Endeinrichtung (Terminal Equipment, TE) beziehungsweise der Netzabschlußeinheit (Network Termination, NT) notwendig. Mit einem ISDN-Basisanschluß erhält der Benutzer
eine garantierte Bruttodatenrate von insgesamt 192 kbps, die sich laut Standard auf zwei B-Kanäle
mit je 64 kbps und einen D-Kanal mit 16 kbps aufteilt. Der D-Kanal enthält Steuerdaten und ist
demzufolge für die Datenübertragung nicht verfügbar. Bei Nutzung eines einzelnen B-Kanals kann
mit einer nutzbaren Nettorate von 48...56 kbps gerechnet werden. Zusätzlich besteht die
Möglichkeit einer Bündelung der zwei B-Kanäle mit nominell 128 kbps, für die 96 kbps als Richtwert für Streaming empfohlen werden [1].
41
nicht zu verwechseln mit dem Einzelbild einer Videosequenz
auch Terminal Equipment (TE)
43
auch Telekomunikation Service Provider (TSP)
42
- 35 -
Eigenschaften aktueller Netzwerktechnologien
Ausgewählte Übertragungsprotokolle
DSL
Der Digital Subscriber Line (DSL)-Standard erlaubt Datenraten bis zu 8 Mbps. Eine Variante mit asynchroner Übertragungstechnik, die ADSL-Verbindung, findet gegenwärtig als Angebot
der deutschen Telekom (TDSL) weitere Verbreitung. Im Standardangebot bietet sie nominell eine
Datenrate von 768 kbps hin zum Benutzer (Downstream) und 128 kbps als Rückkanal (Upstream).
Unter Realbedingungen läßt sich mit dieser Technik immerhin eine Nettobitrate von 500...700 kbps
erreichen [28]. Für professionelle Benutzer stehen unter "Infospeed DSL" weitere Angebote mit
1,6...7,1 Mbps zur Verfügung. Dazu wird die herkömmliche Telefonleitung mit einer QuadraturAmplitudenmodulation (QAM) benutzt, die in Frequenzbändern von mehreren hundert Kilohertz
Breite parallel zum Sprachkanal abläuft.
Mobile Übertragung
Mobile Übertragungssysteme wie GSM und UMTS seien hier nur kurz angesprochen. GSM
ist mittlerweile in fast allen Mobilfunktelefonen für den Versand von Short Messaging Service
(SMS)-Nachrichten implementiert und hat eine Übertragungskapazität von 9600 bps. Es wird von
dem UMTS-Verfahren abgelöst, das im Frequency- oder Time Division Multiplex-Betrieb bis zu 384
kbps bzw. maximal 2 Mbps Übertragungskapazität bietet. Die Werte sind stark von der Sendeleistung und dem Ausbau des in Funkzellen aufgeteilten Sendegebiets abhängig.
Lokale Netze
Bei lokalen Netzwerken (LAN) sind Ethernet mit Twisted Pair-Verkabelung in Sterntopologie oder mit Koaxialkabel in Busstruktur sowie Token Ring verbreitet. Es werden Datenraten von
10/100 Mbps angegeben, die unter Realbedingungen mit mindestens 500 kBps bis rund 5 MBps
auch meistens erreicht werden. Die Übertragungskapazität lokaler Netze übersteigt beispielsweise
mit Gigabit Ethernet (1 Gbps) häufig bereits die Leistung der angeschlossenen Hardware.
Glasfaser
An der Spitze stehen Übertragungswege, die auf mono- und multimodalen Glasfasersystemen basieren und Bandbreiten ab 10 Gbps zur Verfügung stellen. Der SONET-Standard im Wave
Division Multiplex-Verfahren (WDM) kann beispielsweise theoretisch n * 10.000.000 kbps auf einer
einzigen Faser übertragen. Mit "n" ist dabei die Anzahl der gleichzeitig benutzten Wellenlängen
gemeint, die an den Einspeisungs- und Endstellen optisch selektiert werden.
6.3 Ausgewählte Übertragungsprotokolle
IP
Das Internet-Protokoll (IP) ist ein verbindungsloser Dienst, bei dem weder die Richtigkeit
der Daten noch die Einhaltung der Reihenfolge und Vollständigkeit überprüft wird. Diese Prüfungen müssen durch die darüberliegende TCP-Ebene durchgeführt werden. Ein IP-PDU-Protokoll
kann durch ein höheres Protokoll beispielsweise als Ethernetframe weitergegeben werden. In das
IP ist eine Strukturierung in Teilnetze implementiert, die eine Fragmentierung von großen Datenpacken zur Folge hat. Der Header eines IP-Paketes enthält neben der Quell- und Zieladresse auch
die Angabe des übergeordneten Upper Layer-Protokolls (ULP) sowie Felder für die Identifikation,
Fragmentierung und das Routing. Die nächste Version des Internet-Protokolls (IPv6) unterstützt
Multicasting (➜6.5.3) und spezielle Protokolle, die besser an Echtzeitanforderungen angepaßt
sind.
- 36 -
Eigenschaften aktueller Netzwerktechnologien
Ausgewählte Übertragungsprotokolle
HTTP
Das Hypertext Transfer Protokoll (HTTP) ist ein verbindungsorientiertes Protokoll der Applikationsschicht, das unabhängig von dem Hardware- und Betriebssystem ist. Zur Adressierung
der Ressourcen werden Uniform Ressource Indicators (URI) verwendet, die im Falles eines Uniform Ressource Locator Orte oder Bezeichner mit Uniform Ressource Numbers (URN) sein können. Der verwendete Übertragungsmechanismus entspricht dem eines Standard Mail-Transports.
HTTP funktioniert nach dem Frage-Antwort-Prinzip. Dazu wird durch einen Browser eine Verbindung zum Server geöffnet, der ihm anschließend eine Statusmeldung zurücksendet. Dieser
folgt eine MIME-artige Nachricht, die das gefragte Dokument und Informationen über den Server
enthalten kann. In der Anfrage muß die Fragemethode, die Protokollversion und die URL enthalten
sein. Sofort nach Beantwortung wird die Verbindung wieder abgebaut. HTTP-Verbindungen können statt auf TCP/IP-Protokollen auch auf anderen Netzwerkprotokollen aufsetzen. Ein vorzeitiger
Abbruch der Kommunikation durch den Benutzer einer Seite oder einen Programmfehler wird in
HTTP durch den Abbruch der gesamten Kommunikationsbeziehung quittiert.
UDP
Das User Datagram Protocol (UDP) ist ein einfaches verbindungsloses Protokoll der
Netzwerkschicht. Es stellt eine Transportbeziehung ohne Flußkontrolle und Überprüfung der
Zustellung her. Mit UDP können mehrere unabhängige Kommunikationsbeziehungen44 zwischen
zwei Stationen hergestellt werden. Portnummern dienen der Identifikation der gegenseitigen
Kommuninkationsstellen, die bekannten Anwendungen fest zugeordnet sind. Es wird häufig für
Echtzeit-Audio- und Videoübertragungen verwendet, bei denen verlorene Pakete schlicht ignoriert
werden können.
TCP
Das Transmission Control Protocol (TCP) arbeitet verbindungsorientiert und stellt gesicherte Übertragungen im Internet bereit, bei denen die Vollständigkeit und Reihenfolge der Daten
garantiert ist. Es wird der vierten Schicht des OSI-Modells zugeordnet und beinhaltet Rückmeldungen und Wiederholung fehlerhafter Blöcke. Viele Standardanwendungen verschiedener Betriebssysteme nutzen TCP und das darunterliegende IP als Transportprotokoll unter dem Namen
"TCP/IP". TCP wird in lokalen und weltweiten Netzen eingesetzt. Die Flußkontrolle ist dem HDLCVerfahren ähnlich und erfolgt mittels Fenstergröße und Quittierung. Beim Verbindungsaufbau
werden die Modalitäten der Übertragung wie Fenstergröße, und das Akzeptieren eines bestimmten
Dienstes ausgehandelt. Wie bei UDP findet eine Identifizierung durch Ports statt. Eine TCPÜbertragungseinheit wird als Segment bezeichnet, dessen Header sehr umfangreich ist. In ihm ist
auch eine Durchnumerierung von mehreren Datenpaketen enthalten, die zu einer Übertragung
gehören. Neben jeder notwendigen Empfangsbestätigung für eine solche Nummer wird eine Prüfsumme gesendet. Durch das Warten auf die Empfangsbestätigung können Verzögerungen auftreten, die es für Echtzeitübertragungen von Multimediainhalten mit hoher Fehlertoleranz eher
ungeeignet macht. (vgl. [27])
ATM
Der Asynchronous Transfer Mode (ATM) ist ein verbindungsorientiertes Protokoll für
Hochgeschwindigkeits-Paketvermittlung. Es ist auf die Übertragung von Daten, Text, Sprache und
Bildern optimiert. ATM verwendet dazu ein Fast Paket Switching (FPS)-Verfahren. Es existiert ein
44
auch Multiplex-Verbindungen
- 37 -
Eigenschaften aktueller Netzwerktechnologien
Netzwerke und Multimedia
eigenes Standardisierungsgremium, das ATM-Forum. Ein ATM-Header enthält ein Kontrollfeld, in
dem anstatt der expliziten Quell- und Zieladressen virtuelle Pfade und ein virtueller Kanal angegeben werden. Sie existieren nur für die Dauer der Datenübertragung. Anwendungen, die eine hohe
Kapazität beanspruchen werden mehrere virtuelle Kanäle gleichzeitig zugeteilt. Ein virtueller Kanal
kann bei ATM verschiedene virtuelle Pfade durchwechseln. ATM eignet sich sehr gut alle Multimediadistributionsmöglichkeiten von OnDemand- oder Live-Streaming bis hin zu Filedownload. Da
sich bei den Endverbrauchern jedoch hauptsächlich das Internet- Protokoll etabliert hat, kommt
ATM hauptsächlich im Produktionsbereich bei hohen Bitraten zum Einsatz [5].
RTP & RTCP
Das Realtime Transport Protocol (RTP) bietet wichtige Echtzeiterweiterungen zum IPProtokoll, wie etwa Zeitstempel und Synchronisierungsmechanismen, die für Video-Übertragungen
erforderlich sind. Anhand der Sequenznummern lassen sich auch fehlende oder außer der Reihe
angekommene Pakete identifizieren. Für Kontrollaufgaben definiert RTP zusätzlich das Realtime
Transport Control Protocol (RTCP). Typische Anwendungsgebiete von RTP sind Internet-Telefonie
und Audio- beziehungsweise Videokonferenzschaltungen mit oder ohne Multicast-Erweiterungen.
RSVP
RTP unternimmt jedoch keine Anstrengungen, eine bestimmte Dienstqualität sicherzustellen. Dies ist Aufgabe einer anderen IP-Erweiterung namens ReSerVation Protocol (RSVP). Über
RSVP kann ein Host eine bestimmte Verbindungsqualität45 beantragen. Daraufhin versucht eine
als RSVP-Daemon bezeichnete Instanz, auf allen Netzwerkknoten zwischen Sender und Empfänger entsprechende Ressourcen zu reservieren. (vgl. [26], [27], [14])
6.4 Netzwerke und Multimedia
Wie eingangs schon dargestellt, wird die Schnittstelle zwischen Multimediainhalten und installierten Netzwerken durch eine Multimediaarchitektur realisiert. Sie ermöglicht es, Ton- und
Bildinhalte, die entweder zeitgleich von einem Capturingprozess geliefert werden oder einer abgelegten Datei entstammen, an eine Netzwerkschnittstelle zu übergeben.
Bei allen Übertragungstechniken handelt es sich um Paketorientierte Verfahren. Da Multimediainhalte wie Filme oder Ton auf Rechnern grundsätzlich sequentiell verarbeitet werden,
bietet sich eine Netzwerkübertragung an. Die im Capturingprozeß und bei der Kompression durchgeführte Segmentierung der kodierten Audio- und Videoinformationen kann durch ein angepaßtes
Netzwerkprotokoll auch für die Übertragung beibehalten werden [5]. Eine Multimediaarchitektur
versieht nun diese Datensegmente mit weiteren Verwaltungsinformationen wie Netzwerkadressen
oder Fehlerkorrekturdaten. Sie verwendet dazu die im Betriebssystem installierten Hardwarekomponenten und Netzwerkprotokolle. Nach dem OSI-Referenzmodell werden diese Zusatzinformationen als Header an den Kopf jedes Datenpaketes gehängt. Sie entsprechen der Norm des verwendeten Netzwerkprotokolls.
6.5 Webcasting Technologien
Gegenüber dem klassischen Rundfunk und Fernsehen erweist sich die Verbreitung von Ton und
Film im Internet an viele Empfänger als wesentlich komplizierter. Für eine Versorgung großer
Mengen von Zuschauern über das paketvermittelte Netz gibt es verschiedene Ansätze, die hier
45
auch Quality of Service (QoS)
- 38 -
Eigenschaften aktueller Netzwerktechnologien
Webcasting Technologien
kurz aufgezeigt werden sollen. Ein Sendeverfahren für Streaminginhalte in paketorientierten
Netzwerken – ein Broadcasting im Netz – wird als Webcasting bezeichnet.
6.5.1 Transfer
Download
Den einfachsten Transfer von Daten zum Benutzer stellt der Download dar. Die Daten in
Form einer Datei werden durch das Protokoll in Netzwerkpakete mit vorangestelltem Header
zerteilt. Erst wenn die Datei vollständig in den Speicher des Empfängers geladen wurde, kann mit
der Dekodierung begonnen werden. Da diese Anwendung nicht zeitkritisch ist, kommt es in erster
Linie auf eine gesicherte Übertragung an. Daher kommen in erster Linie verbindungsorientierte
Protokolle, wie das File Transfer Protocol (FTP), HTTP, TCP oder ein zeitversetzter E-MailVersand zum Einsatz. Auch TCP/IP wird im Multimediabereich häufig zum Filedownload eingesetzt.
Progressiver download
Bei dem progressiven Verfahren kann der Inhalt bereits während des Transfers betrachtet werden.
Der Datenstrom wird in Form einer Datei via HTTP, FTP oder UDP-Protokoll aus dem Netzwerk
auf den lokalen Rechner transferiert. Der Benutzer muß nicht wie beim einfachen Download das
Ende des Transfers abwarten, bevor er den Inhalt beurteilen kann. Es wird keine Anpassung der
Datenrate an die Bandbreite der Benutzerverbindung vorgenommen. Liegt jedoch die Leistung der
Verbindung unter der gewählten Medienqualität, so kommt es durch wiederholte Zwischenpufferungsphasen zu Wartezeiten beim Abspielen. Dieser Umstand wird in Kauf genommen, da der
Focus nicht auf der Betrachtung, sondern auf dem Verbleib des angeforderten Inhalts auf dem
lokalen Speicher des Benutzers liegt. Progressiver Download ist für kurze, qualitativ hochwertige
Filmsequenzen wie zum Beispiel Spielfilmteaser46 geeignet [W].
6.5.2 Streaming
Mit Streaming wird eine paketorientierte Netzwerkübertragung von sequentiell organisierten
Multimediainhalten bezeichnet. Eine Streamingverbindung kann verbindungslos oder verbindungsorientiert ablaufen, wobei spätestens in der Applikationsschicht eine Flußkontrolle stattfinden
muß.
OnDemand-Streaming
"Streaming auf Abruf" oder OnDemand-Streaming erlaubt es dem Betrachter, ausgewählte Beiträge zu einem beliebigen Zeitpunkt anzufordern und innerhalb des Beitrags an bestimmte Stellen
zu navigieren. Beim OnDemand-Streaming wird im Gegensatz zum progressiven Download die
Kodierungsqualität des Audio-Videostroms den Anforderungen der Netzwerkverbindung angepaßt.
Ob der übertragene Inhalt jedoch beim Benutzer für eine weitere Offlinebenutzung verbleibt, liegt
in dem Ermessen des Contentproviders. Er kann bei der Produktion den Nutzungsbereich genau
definieren. Es sei jedoch daraufhingewiesen, daß es auf Softwareebene für Eingeweihte immer
möglich sein wird, diese Restriktionen zu umgehen Fehler! Verweisquelle konnte nicht gefunden werden..
Life Streaming
Beim Life Streaming wird ein Multimediainhalt in Echtzeit mit einer gewissen Verzögerung
vom Sender zum Empfänger übertragen. Ein Benutzer kann sich zu einem beliebigen Zeitpunkt
46
Kurzvorschau auf einen Spielfilm, vgl. Trailer
- 39 -
Eigenschaften aktueller Netzwerktechnologien
Webcasting Technologien
dem laufenden Datenstrom zuschalten. Zu Beginn der Übertragung werden die Modalitäten der
Verbindung ausgehandelt, die eine Anpassung der zu übertragenden Kodierungsqualität an die
Anforderungen der Netzwerkverbindung ermöglicht. Wie bereits in Abbildung 5, S.18 (Netzwerk
Broadcasting, Ablauf) gezeigt, ist dazu neben dem Encoder ein dedizierter Server für die Verteilung nötig. Falls die Verbindung des Benutzers nicht leistungsfähig genug ist oder es auf dem
Netzwerk zu Überlastungen kommt, kann während der Übertragung auf einen Alternativdatenstrom
niedrigerer Kodierungsqualität ausgewichen werden. Außerdem können durch den Empfänger
ganze Frames ausgelassen47 werden, um eine sich kumulierende Verzögerung bezüglich der
Livequelle zu verhindern. Bei dieser Form des Streaming werden besondere Anforderungen an die
Hardware gestellt. Nach dem Capturing müssen die Video- und Audiodaten unkomprimiert vorliegen, da der Encoder sonst eine Transkodierung durchführen müßte, die weitere Rechenleistung
beansprucht. Dieser zunächst trivial erscheinende Umstand ist jedoch gegenwärtig das Haupthindernis bei der Einrichtung eines Streamingsystems, da die einzige digitale, nicht datenreduzierte
Schnittstelle SDI aus dem Profibereich ist. Selbst analoge Videoschnittstellenkarten kommen meist
nicht in Frage, da sie, was die Hardware betrifft, auf MJPEG komprimieren. Immerhin sind erste
Karten auf dem Markt48, die unkomprimiertes digitales Audio nach dem Sony Phillips Digital Interchange Format und SDI-Schnittstellen enthalten. Einige wenige können sogar ein DCTkomprimiertes DV-Signal, was die Hardware betrifft, in Echtzeit dekodieren und auf dem PCI-Bus
ausgeben. Life Streaming wird für aufgezeichnete Filme mit hoher Spieldauer oder Live-Events
verwendet.
6.5.3 Unicast
Unicast ist ein Verfahren, das Streaming-Video und ähnliche Verfahren in IP-Netzen
benutzt. Dabei werden jedem, der einen Datenstrom anfordert, individuelle Kopien derselben
Datenpakete gesendet. Es besteht also für jeden Empfänger eine Punkt-zu-Punkt-Übertragung
zum Sender. Das bedeutet, dass ein Server für Großveranstaltungen mit mehreren tausend Teilnehmern auch das Tausendfache einer einzelnen Videoübertragung an Bandbreite bereitstellen
muß. Dieses Verfahren ist demnach nur für Live-Ausstrahlungen von wenigen niedrigratigen
Datenströmen oder für OnDemand-Video geeignet, bei dem sich die Last zeitlich aufteilt. Fernsehoder Radiosender kosten im Betrieb hingegen gleich viel, unabhängig davon, ob nur ein oder eine
Million Zuschauer teilnehmen.
6.5.4 Multicast
Daher ist gegenwärtig ein Verfahren in Entwicklung, das die Eigenschaften der analogen
Medienverbreitung auf digitale Netze übertragen soll. Dieses Multicastverfahren ist jedoch im
Vergleich zur analogen unidirektionalen Funkaussendung um ein Vielfaches komplexer.
Da es unwirtschaftlich ist, die gleichen Daten wie bei Unicast mehrfach über dieselbe Leitung zu schicken, soll das Netz selbst die Pakete für jeden Zuhörer vervielfältigen. Diese Aufgabe
wird den Schnittstellen im Netzwerk, den Routern, zugeschrieben. Diese Vervielfältigung soll so
nahe wie möglich beim Empfänger geschehen49. Außerdem wird natürlich kein Datenpaket gesendet, das keinen empfangswilligen Adressaten hat. Das Multicastkonzept kann als Protokoll in
verschiedenen Schichten implementiert werden und funktioniert in groben Zügen folgendermaßen:
47
genannt: frame dropping
z.B. Osprey, Internet: http://www.viewcast.com
49
Ein Router leitet Datenpakete in Netzwerksegmenten anhand von Routingtabellen weiter in Richtung des Empfängers
48
- 40 -
Eigenschaften aktueller Netzwerktechnologien
Webcasting Technologien
Ein Empfänger abonniert Gruppen von speziellen IP-Adressen beim lokalen Router. Dieser
fragt wiederum beim nächsten Router nach, ob er die Gruppen führt. Ein spezielles Paket (Prune)
dient als Nachricht des Empfängers zur Organisation der Adressgruppen. Es wird ein Rendezvous
Point (RP) eingeführt, bei welchem die Empfänger nachfragen können, welcher Sender eine gewünschte Gruppe führt. Dieser Vorgang ist dem Aufbau einer dynamischen Baumstruktur vergleichbar und dient letztlich der direkten Routenfindung. Bei dichten Multicast-Netzen (Dense
Mode) liegen die Empfänger nahe beieinander, und Router haben eine relativ hohe Zahl von Teilnehmern zu bedienen. Bei spärlich verteilten Empfängern hingegegen (Sparse Mode) muss jeder
Router nur wenige Teilnehmer bedienen, dafür liegen alle Empfänger einer Multicast-Gruppe
räumlich weit verteilt.
Gegenwärtig wird versucht, Multicast in der Protokollhierarchie sehr weit unten auf der IPEbene umzusetzen. Obwohl Multicast hauptsächlich für Multimedia entwickelt wurde, sind auch
ganz andere Möglichkeiten wie Newsticker, Mailinglisten oder Push-Dienste für den Abgleich
replizierter Datenbestände auf verteilten Webservern denkbar. Zudem könnte Multicast den Punktzu-Punkt-Transportmechanismus für VPNs ablösen. An einem Ethernetbus stellt die Verteilung
von Multicast-Daten kein Problem dar, da alle Empfänger alle Datagramme sehen und sich die
interessierenden herausfiltern können. In sich selbstorganisierenden Netzen wie dem Internet
hingegen muß eine lückenlose Kette von Multicastroutern bestehen. Dazu ist eine teure Umrüstung der Netzknoten notwendig.
Für manche Anwendungen wie zum Beispiel das elektronische Börsenparkett ist zudem die
Zuverlässigkeit wichtig. Die Minimierung der Übertragungsfehler wird mit "Reliable Multicast" und
dem Multicast File Transfer Protocol (MFTP) versucht. Dabei kommt einer Router-Assistenz zum
Einsatz, die fehlende Pakete nachbestellt. Router müssen dazu auf dem Übertragungsweg Pakete
zwischenspeichern können, was nur bei Dateiübertragungen, nicht aber für Livesendungen funktioniert. (vgl. [23] [24] [25] [26])
Protokolle, Streaming & Codecs
In der Praxis ergibt sich die Wahl einer Streamingart und des Protokolls aus der Anwendung. Dabei werden die audiovisuellen Qualitätsanforderungen an den Codec gestellt und der
Contentprovider bestimmt Broadcastingform und Protokolle. UDP wird zum Beispiel bei EchtzeitAudio- und Videoübertragungen angewendet, bei denen verlorene Pakete schlicht ignoriert werden
können. Windows Media bietet die Wahl zwischen UDP- und HTTP-Streaming. Es sei allerdings
angemerkt, daß bei UDP-Streaming aus einem LAN ins Internet die Firewalls50 speziell konfiguriert
werden müssen. HTTP hingegen unterstützen praktisch alle Schnittstellen im Netz standardmäßig.
ATM eignet sich für alle Multimediadistributionsmöglichkeiten von OnDemand oder Live-Streaming
bis hin zu Filedownload. Da sich bei den Endverbrauchern jedoch hauptsächlich das InternetProtokoll etabliert hat, kommt ATM hauptsächlich im Produktionsbereich bei hohen Bitraten zum
Einsatz [5]. Bei TCP können durch das Warten auf die Empfangsbestätigung Verzögerungen
auftreten, die es für Echtzeitübertragungen von Multimediainhalten mit hoher Fehlertoleranz eher
ungeeignet macht.
Verschiedene Codecs sind unterschiedlich gut für Streaming geeignet. Die WindowsMedia-Encoder-Anwendung kann theoretisch alle registrierten Codecs zu Streamingzwecken
einbinden. Es hat sich jedoch gezeigt, daß die meisten architekturfremden Codecs für Liveencoding zu Fehlermeldungen führen. Der Grund hierfür ist vermutlich in der Nicht-Übereinstimmung von
50
Sicherheitsschnittstelle für die Verbindung eines firmeninternen Intranet zum weltweiten Internet
- 41 -
Untersuchung der Bildqualität bei unterschiedlichen Netzzugängen
Video Internet Demonstration Aid
Videosegment- und Netzwerkpaketgrößen zu suchen. Sorenson Video benötigt zur Netzwerkanbindung den Sorenson Broadcaster mit dedizierter Hardware und beim Realsystem ist der Algorithmus durch den Real Producer Plus festgelegt. Intel's Indeo Interactive Streamingsoftware ist
nur sehr wenig verbreitet. VivoActive benötigt einen eigenen Player und wird nicht mehr weiterentwickelt. Daher scheint sich der Markt in Zukunft auf die zwei Hauptkonkurrenten Microsoft und
Real Networks zu konzentrieren.
Der klassische Broadcastingfall mit einem Sender mit sehr vielen Empfängern ist zumindest
in der Theorie gelöst. Anstatt Fernsehgeräten mit Netzwerkanschluss werden sich aller Voraussicht nach entsprechend ausgerüstete Set-Top-Boxen als Standaloneanwendung etablieren. In der
Praxis scheitert die kommerzielle Nutzung von Multicast in Deutschland dagegen derzeit an
Internet Service Providern (ISP), die einen MBone-Zugang anbieten.
7 UNTERSUCHUNG DER BILDQUALITÄT BEI
UNTERSCHIEDLICHEN NETZZUGÄNGEN
Im folgenden soll die Bildqualität der Verfahren bei unterschiedlichen Netzzugängen untersucht werden. Dabei wird die Ausgabe eines Videos nach einem EnkodierungsDekodierungszyklus in Echtzeit begutachtet. Man unterscheidet zwischen subjektiver und objektiver Bildqualität. Die objektive Bildqualität umfaßt Bildstörungen wie Artefakte oder Fehler in der
Farbwiedergabe. Zusätzlich werden Meßgrößen wie PSNR oder MSE eingesetzt. Zur subjektiven
Beurteilung wird üblicherweise eine repräsentative Gruppe von Testpersonen herangezogen. Sie
müssen in mehreren Prozeduren nach einer sogenannten Trainingsphase unterschiedliche
Testsignale, sogenannte Stimuli beurteilen. Dabei werden die präsentierten Sequenzen nach einer
genormten Skala verglichen. Sowohl subjektive als auch objektive Standard-Testverfahren gehen
bislang grundsätzlich von der PAL- oder NTSC-Norm als Referenz aus. Die Präsentation erfolgt
über ausgewählte Bildschirmgeräte. Objektive Messungen beziehen sich auf bestimmte Schnittstellen. Hier wird als einziger Parameter die Bitrate des Videosignals variiert. Alle anderen Einstellungen wie die Bilddimensionen oder die Bildwiederholfrequenz sind hingegen festgelegt.
Für Videokodierung mit Bitraten unter 2 Mbps müssen auch diese Parameter variiert werden. Je weniger Bitrate zur Verfügung steht, desto kleinere Bilddimensionen und geringere
Wiederholfrequenzen werden verwendet. Sogar die Anzahl darstellbarer Farben und die Toninformation werden reduziert. Somit ist offensichtlich, daß die einschlägigen Verfahren also für niedrige
Bitraten nicht geeignet sind. Daher wurde für diese Arbeit eine eigene Demonstrationsumgebung
entwickelt. Ziel war es, eine Oberfläche zu schaffen, die es dem Benutzer ermöglicht, interaktiv
bestimmte Videosequenzen auszuwählen und miteinander zu vergleichen. Als bestimmende
Größen sollten die absolute Bitrate, die Komplexität der Filminformationen und verschiedene Kompressionsverfahren mit eingehen.
7.1 Video Internet Demonstration Aid
Das Video Internet Demonstration Aid (VID@) ist eine HTML-basierte Benutzerschnittstelle,
die mit Standard-HTML-Browseranwendungen wie dem Netscape Communicator oder einem
Microsoft Internet Explorer verwendet werden kann. Er stellt eine Weiterentwicklung des am IRT
entwickelten Audio Internet Demonstration Aids (AIDA) dar. Zusatzfunktionen wurden in Javascript
realisiert. Als Multimediasysteme werden die kostenfreien Player von Windows Media, Real System und Apple Quicktime mitgeliefert. Neben der Betrachtung der Videoinhalte stellt VID@ dem
- 42 -
Untersuchung der Bildqualität bei unterschiedlichen Netzzugängen
Realisierung
Benutzer umfangreiche Informationen und Quellenangaben hinsichtlich des zugrundegelegten
Filmmaterials und der verwendeten Kompression zur Verfügung. Der Benutzer kann auf dem
eigenen Rechner unter Realbedingungen selbst individuelle Tests an verschiedenen Videosystemen durchführen. Es wird ihm so ein Hilfsmittel für die persönliche Urteilsfindung über die Benutzerfreundlichkeit und die Leistung gegenwärtig verfügbarer Systeme an die Hand gegeben. Mittels
Zusatzinformationen und Quellenverweisen ist eine detailliertere Recherche oder der direkte Bezug eines favorisierten Systems möglich.
7.2 Realisierung
Eine repräsentative Vorauswahl an Videosequenzen erfolgte durch die EBU [C]. Diese
Videosequenzen zeichnen sich durch unterschiedliche Merkmale in Hinblick auf Objektvielvalt,
Bewegungsrichtung, Farbvielfalt und Geschwindigkeit aus. Sie wurden bereits für offizielle objektive und subjektive Tests des MPEG2-Verfahrens [11], [12] verwendet und sind bei der Video
Quality Experts Group (VQEG) [D] zum Download freigegeben.
7.2.1 Quellenmaterial
Als Ausgangsformat dient sowohl PAL-, als auch NTSC-konformes Filmmaterial mit einer
Farbunterabtastung von 4:2:2 im YUV-Format. Bei einer Farbquantisierung mit 8 Bit trägt eine
Bildzeile damit insgesamt 720 Helligkeitswerte Y, 360 Blau-Gelb-Balancewerte Cb und 360 RotGrün-Balancewerte CR. Dadurch ergeben sich 1440 Bytes an Bildinformation für eine Bildschirmzeile. Die Bildauflösungen betragen für PAL 720 x 576 Pixel und für NTSC 720 x 486 Pixel. Das
mit 525@60Hz bezeichnete NTSC-Material hat dabei eine Bildwiederholrate von 30 Frames pro
Sekunde und das 625@50Hz PAL Material weist 25 Frames pro Sekunde auf. Eine Sequenz hat
eine Dauer von 8 Sekunden und beansprucht dabei 182 MB an Speicherplatz. Um eine Synchronisierung der Codecs sicherzustellen, sind jeder Sequenz 10 unbenutzte Frames voran- und nachgestellt. Damit ergibt sich eine Dauer von 260 Frames für NTSC- und 220 Frames für PAL-Material.
NTSC
PAL
525@60Hz Framegröße =
625@50Hz Framegröße =
1440 x 486 ➜ 699.840 Bytes pro Frame
1440 x 576 ➜ 829.440 Bytes pro Frame
NTSC
PAL
525@60Hz 8 Sekunden Video =
625@50Hz 8 Sekunden Video =
699840 x 260 Frames ➜ 181.958.400 Bytes
829440 x 220 Frames ➜ 182.476.800 Bytes
Diese Sequenzen wurden zunächst für die Videokodierung vorbereitet. Zunächst wurde
eine Konvertierung in Standard Audiovideointerleave Dateien (AVI) durchgeführt. Dazu sind aus
den einzelnen Sequenzen alle Einzelbilder extrahiert [E], diese anschließend in einem Stapelverarbeitungsprozzess einer Deinterlacingfilterung unterzogen [F] und wieder zu einer Bildsequenz
zusammengesetzt worden [G]. Bei der Einzelbildextraktion erfolgte zwangsweise eine Formatumwandlung vom YUV-Farbmodell mit 4:2:2 Unterabtastung der 8 Bit-Komponenten in Echtfarben
RGB mit 16 Bit Quantisierungstiefe je Pixel. Dadurch entstand eine unkomprimierte AVI-Datei, und
das Datenvolumen hat sich verdoppelt. Abschließend wurde dem Videomaterial noch eine StereoTonspur mit 44.1 kHz Abtastrate und 16 Bit Quantisierung aufgeprägt [H]. Sie ist notwendig, da
viele Codecs zwar reine Audiofiles, nicht aber Videodateien ohne Audiospur generieren können.
Die Audioinformation dient also lediglich der Vollständigkeit, soll aber nicht als Testkriterium mit
eingehen. Bei 8 Sekunden Spieldauer kann jedoch nur ein grober Eindruck über die Synchronität
von Ton- und Bildinformationen gegeben werden. Für die sogenannte Lippensynchronität zwis- 43 -
Untersuchung der Bildqualität bei unterschiedlichen Netzzugängen
Realisierung
chen Ton und Bild sei hier auf weitere Tests mit Sequenzenlängen ab 30 Minuten Spieldauer
verwiesen.
7.2.2 Parameterprofile
Um den Anforderungen verschiedener Netzzugänge gerecht zu werden, wurden fünf
Parameterprofile definiert, die sowohl Übertragungseigenschaften wie auch Bild- und Toneinstellungen festlegen.51 Es wurden fünf häufig anzutreffende Netzwerktechnologien wie das analoge
Modem, der digitale ISDN-Zugang, die gegenwärtig auszubauende DSL-Technik und das in Firmen verbreitete lokale LAN-Netzwerk ausgewählt. Auch die Möglichkeit, zwei Datenkanäle einer
ISDN-Leitung logisch zu einem Zugang zusammenzuschalten, wurde berücksichtigt. Stellvertretend für diese Technologien wurde jeweils eine effektive Datenrate festgelegt, die bei einer
durchschnittlichen Leitungsqualität zwischen Endstelle und Internet Service Provider während des
Verbindungsaufbaus ausgehandelt wird. Die Profile ANALOG, ISDN, DUAL, DSL und LAN stehen
stellvertretend für eine effektive Datenrate von 40, 56, 112, 300 und 1000 Kilobit pro Sekunde.
Bild- und Toneinstellungen müssen an diese Übertragungskapazitäten angepaßt sein. Neben der Zuteilung der verfügbaren Datenrate für Video- und Audiodatenströme sind für jedes Profil
eigene Bildauflösungen, Bildwiederholraten und Kompressionseinstellungen definiert. Eine detaillierte Aufstellung dieser Parameter ist dem Anhang zu entnehmen. Die Bezeichnungen der Profile
werden im folgenden stellvertretend für die Benutzung jener Einstellungen verwendet. Bilddimensionen richten sich nach dem genormten Standard Image Format (SIF)52. Entsprechend der zugrundeliegenden Fernsehnorm des Quellmaterials wurden auch bei kleineren Bildformaten die
Seitenverhältnisse von rund 1,25 für NTSC und 1,5 für PAL verwendet.
Aus Kompatibilitätsgründen sind nur bestimmte Kombinationen zwischen Audio- und Videocodecs möglich. Da die vorgegebenen Parameter für die Audiokodierung nicht immer eingehalten werden konnten, soll die Tonqualität hier nur bezüglich der Synchronität zur Videoinformation
eine Rolle spielen.
51
52
siehe Anhang
auch Common Image Format (CIF)
- 44 -
Untersuchung der Bildqualität bei unterschiedlichen Netzzugängen
Realisierung
7.2.3 Design
Die Designspezifikation in Abbildung 7 gibt einen Einblick in das Funktionsprinzip des
Demonstrators. Nach dem Start wird die Indexseite in den Browser geladen und ermöglicht die
Auswahl eines bestimmten Netzwerkprofils. Hat der Benutzer eine Auswahl getroffen, so aktualisiert sich automatisch die Sequenztabelle. Sie stellt die Zugangsmöglichkeit zu einer Datenbank
dar, in der viele kodierte Videosequenzen strukturiert abgelegt sind.
Abbildung 7: VIDA, Designspezifikation
Als Sortierkriterien dienen die kodierte Bitrate, die Nummer der Originalsequenz zum einen
und der verwendete Codec zum anderen. Für ihre Identifizierung wurden die von Microsoft eingeführten Four Character Codes verwendet53. Für die volle Funktionalität wird eine Installation aller
notwendigen Decoder und Player beim Benutzer vorausgesetzt. Da die Videosequenzen bereits
bei der Entwicklung des Demonstrators in komprimierter Form entsprechend der Parameterprofile
in die Datenbank abgelegt wurden, ist eine Encoderinstallation nicht notwendig. Wird in der Sequenztabelle ein Icon durch den Benutzer angeklickt, so übergibt der Browser eine Dateizugriffsanforderung an das Betriebssystem. Dieses versucht nun eine mit dem Dateityp dieser Anforderung verknüpfte Anwendung zu starten. Nach erfolgreichem Start der Playeranwendung wird
dieser die angeforderte Videodatei aus der Sequenzdatenbank übergeben. Neben den eigentlichen Sequenzen enthält die Datenbank auch Diagramme, die einen Einblick in die Kodierungseigenschaften eines Codecs zulassen (➜6.1). Diese werden in einem eigenen Fenster im Falle
eines Klicks mit der rechten Maustaste auf ein Sequenzicon angezeigt. Zusätzlich stehen diverse
zusätzliche Seiten zur Verfügung, die über Codecs und Quellen informieren. Eine Vorschau zeigt
Standbilder der einzelnen Sequenzen.
53 siehe Anhang
- 45 -
Untersuchung der Bildqualität bei unterschiedlichen Netzzugängen
Realisierung
7.2.4 Komponenten
Für eine übersichtliche Oberflächengestaltung reicht der Funktionsumfang der Hyper Text
Markup Language (HTML) nicht aus. Daher wurden den HTML-Seiten zusätzliche Funktionalitäten
in JAVA-Skript angefügt. Der Übersichtlichkeit halber wurden sie in eigene Dateien ausgelagert.
Die Realisierung der drei Hauptkomponenten soll hier erläutert werden. Die Javascriptdatei
MAIN.JS wird zusammen mit jeder Sequenztabelle geladen und enthält folgende fünf Unterfunktionen:
MAIN.JS
function
function
function
function
function
changeRightclick();
dispInfo(cat,file);
URLfilename();
statusMsg(msgNo);
chartInfo(msgNo,file); //v2.0
Mit der Funktion changeRightclick() werden Klicks mit der rechten Maustaste abgefangen und an die Funktion dispInfo(cat,file) übergeben. Dadurch erhält der Benutzer
anstatt des durch den HTML-Browser angebotenen Kontextmenüs eine kontextsenitive Statusinformation. Je nachdem, ob auf ein entsprechendes Icon oder in einen freien Bereich geklickt wird,
wird ein Bitratendiagramm in die Seite chartTMP.HTM geladen oder ein Benutzerhinweis
angezeigt.
Die Unterscheidung zwischen diesen zwei Möglichkeiten wird durch die Funktion
dispInfo(cat,file)vorgenommen. Diese kann ein neues, leeres Fenster erzeugen, das festgelegte Eigenschaften besitzt. Der Aufrufparameter cat bestimmt die Kategorie des neuen Fensters. Je nachdem, ob in dem neuen Fenster Informationen zu Codecs und Sequenzen, ein Diagramm oder Bilder angezeigt werden sollen, wird eine bestimmte Fensterhöhe und -breite
eingestellt. Der Übersichtlichkeit halber werden sämtliche Steuerelemente des Fensters verborgen.
Zusätzlich wird ein globaler Zugriffspfad festgelegt. Über ein Window-Handle, das dem Browser
übergeben wird, überprüft die Funktion, ob bereits ein Fenster geöffnet ist, und schließt dieses bei
Bedarf.
Mittels der Funktion URLfilename() wird der Dateiname zur aktiven HTML-Seite ermittelt
und bei Anforderung eines Bitratendiagramms an die JAVA-Scriptroutine der chartTMP.HTM
Datei übergeben. In der Funktion statusMsg(msgNo) werden verschiedenen Mausereignissen
bestimmte vordefinierte Benutzerhinweise zugeordnet. Die Funktion chartInfo(msgNo,file)
dient lediglich der Kompatibilität zu HTML-Browsern älterer Bauart.
In der JAVA-Scriptdatei SELECT.JS sind zwei Funktionen enthalten, die den Symbolwechsel in der Netzwerkprofilauswahlleiste regeln.
SELECT.JS
function initIcons();
function changeIcon(imgName,newImg,swap);
Nach einer Initialisierung von zwei Arraystrukturen durch die Funktion initIcons(), werden diese mit Pfad und Dateinamen der zugehörigen Icondateien belegt. In der Funktion
changeIcon(imgName,newImg,swap) wird das Verhalten der Knopfsymbole in der Selektionsleiste festgelegt. Mit dem Eingabeparameter imgName wird eine Icongruppe anhand ihres zugehörigen Profilnamens referiert, wobei newImg das Array-Element des neuen Icons angibt. Der
Parameter swap gibt an, ob im Falle eines Klicks "0" ein Wechsel des aktuellen und ein Rücksetzen des zuvor gewählten Knopfes vorgenommen werden soll. Einem onMouseOver-Ereignis "1"
- 46 -
Untersuchung der Bildqualität bei unterschiedlichen Netzzugängen
Realisierung
folgt ein temporärer Symbolwechsel und onMouseClick "2" erzeugt eine bleibende Veränderung
eines Knopfes. Je nach Benutzerauswahl eines in select.htm bestimmten Knopfes wird die
entsprechende Sequenztabellenseite in das Hauptfenster geladen.
Sequenztabelle
Die Tabelle ist intern der Reihenfolge nach Sequenzen und innerhalb einer Sequenz nach Codecs
aufgebaut. Die Grundstruktur hat folgenden Eintragungen:
Sequenzauswahl
ana.htm | isdn.htm | dual.htm | lan.htm | high.htm
<a href="Media/WinMedia/40k/WNM7_19.wmv"
onMouseover="chartInfo(4,1);return document.msgFLG"
onMouseout="chartInfo(0,0)">
<img src="icons/seq_525.GIF" alt="MS Media Video7" boder="0"></a>
Codecinformationen
<a href="javaScript:dispInfo('codec','cod_WNM7.htm')"
onMouseover="statusMsg(2);return document.msgFLG"
onMouseout="chartInfo(0,0)">
MS<br>Media<br>Video7</a>
Sequenzvorschau
<a href="javaScript:dispInfo('pic525','clip_19.htm')"
onMouseover="statusMsg(3);return document.msgFLG"
onMouseout="chartInfo(0,0)">
<img src="pics/clip_19_mini.JPG" border="0"></a>
Als Hauptfunktionselement ist der Aufruf einer Sequenz in einfachem HTML gehalten, um
Benutzer mit älteren Browserversionen nicht auszuschließen. Lediglich zusätzliche Statusinformationen sind in JAVA-Script realisiert. Die Codecinformationen und Sequenzvorschau finden über
die dispInfo(cat,file)-Funktion statt, die alle Fensterparameter dem Inhalt entsprechend
anpaßt. Eine Besonderheit stellt der Aufruf des Bitratendiagramms mit der rechten Maustaste dar.
Dessen Kontext, also der Diagrammname zur entsprechenden Sequenz, wird nämlich bei jedem
onMouseOver-Event eines Sequenzicons mit der chartInfo-Funktion als globale Variable erzeugt.
ChartTMP.htm
title = "BITRATEOVERVIEW - Sequence#" + seqNumber + " coded by "+ codName;
document.write('<title>' + title + '</title>');
document.write('<IMG SRC="' + path + '">');
Zur Anzeige eines Framediagramms zum entsprechenden Clip wird die HTML-Seite
chartTMP.htm benützt. Sie stellt ein Template dar, dessen Inhalt mit JAVA-Script aktiv generiert
wird. Mit der dokument.write-Methode wird so die Titelzeile und der Bildinhalt dieser Seite zur
Laufzeit kontextsensitiv bezüglich des gewählten Icons erzeugt. Für die Darstellung des Diagramms wird zusätzlich analog zum aufgerufenen Parameterprofil der Sequenztabelle ein Zugriffspfad festgelegt. Die aktiv erzeugte Titelzeile enthält neben der Sequenznummer des angeklickten Icons auch den zugrundeliegenden Codec und stellt so den Bezug zum Diagrammbild her:
7.2.5 Sequenzkodierung
Die Kodierung der Quellsequenzen erfolgte in der jeweils codeceigenen Applikation. Für
MPEG4v3 kamen die Microsoft Netshow Tools 4.1, für Windows Media der Windows Media Encoder 7, für das Real G2 System der Real Producer Pro 6.0 und für Real v8 der Real Producer
Plus 8.0 zum Einsatz. Die MPEG1- und MPEG2-Codierungen wurden mit dem Darim Vision Software Encoder 5.0 verwendet. Bei Sorenson Video kam der Sorenson Codec, Developper Edition
v3 unter Apple Quicktime Pro zum Einsatz und als H.263-Repräsentant wurde der in Quicktime
- 47 -
Untersuchung der Bildqualität bei unterschiedlichen Netzzugängen
Benutzung
Pro integrierte Codec von Apple verwendet. Die restlichen Sequenzen für Intel Indeo, DivX und
VDO Wave wurden unter Terran Media Cleaner als AVI-Dateien kodiert, wobei die jeweils
neuesten Versionen der Videocodecs direkt von den Anbietern Intel und VDOnet bezogen wurden.
Eine Ausnahme bildet die illegale Portierung DivX, die hier zu Versuchszwecken von einem nichtkommerziellen Anbieter bezogen wurde.
7.3 Benutzung
7.3.1 Installation
Die notwendigen Dateien stehen zur Onlinebenutzung via HTTP auf einem Server des IRT
zur Verfügung und werden auf Wunsch in beschränkten Stückzahlen als kostenlose Demo-CDRom ausgegeben. Außerdem ist ein Download der kodierten Sequenzen per FTP möglich. Nachdem der Demonstrator das erste Mal gestartet wird, müssen eventuell nicht vorhandene Player
und einige Codecs im Betriebssystem installiert werden. Möchte man die gegenwärtige Multimediafähigkeit des eigenen Systems testen, ist es aber auch möglich, das Startprogramm
auszuführen und zunächst entsprechende Installationshinweise zu übergehen. Da viele Betriebssysteme wie MacOS, Linux und Windows bereits Codecs und Player enthalten, ist mindestens
eine Teilfunktionalität gegeben. Es wird auch darauf verwiesen, nach der Installation entsprechende Voreinstellungen zu treffen, um eine optimierte und vergleichbare Wiedergabequalität der
verschiedenen Player zu gewährleisten.
7.3.2 Netzwerkeigenschaften
Nachdem der Benutzer die Indexseite des Demonstrators geöffnet hat, stehen ihm verschiedene Auswahlmöglichkeiten zur Verfügung. Analog zu den vorher definierten Parameterprofilen hat er die Möglichkeit, einen von
fünf Netzzugängen auszuwählen. Es sei angemerkt, daß die
Übertragung und damit auch deren Eigenschaften je nach
Verwendung des Demonstrators nur simuliert ist. Wird er von
einem CD-Rom Laufwerk auf einem lokalen Rechner
gestartet, kommt keine reale Netzwerkverbindung zustande.
In diesem Fall wird die Übertragungsbandbreite
ausschließlich durch die bei der Enkodierung festgelegte
Datenrate bestimmt. Auch wenn der Benutzer Videosequenzen über eine TCP/IP-Internetverbindung vom Server des
IRT anfordert, werden diese zunächst lokal im temporären
Speicher des Rechners (Cache) abgelegt, bevor sie an den
Player weitergegeben und durch diesen visualisiert werden.
Abbildung 8: Selektion, Netzwerkprofil
Es findet also in keinem Fall Live-Streaming statt. Dieser Umstand ist bewußt gewählt, um
für alle Benutzer möglichst gleiche Bedingungen zu schaffen, da die Verbindungsqualitäten abhängig vom gewählten ISP und der aktuellen Netzauslastung sehr unterschiedlich sein können.
Außerdem ist die Demonstration so vom tatsächlich installierten Netzwerk unabhängig. Dementsprechend kann auch ein ISDN-Nutzer nach einem etwas längeren Datentransfer die Videoqualität
eines DSL-Zugangs testen. Durch einen Mausklick wird das entsprechende Profil aktiviert und die
Inhaltstabelle wird entsprechend aktualisiert.
- 48 -
Untersuchung der Bildqualität bei unterschiedlichen Netzzugängen
Benutzung
7.3.3 Sequenztabelle
Dem Benutzer präsentieren sich diese Sequencen in einer großen Sequenztabelle. Sie
stellt eine Übersicht des verfügbaren Materials dar und bietet Zugang zu zusätzlichen Informationen. Die Spalten zeigen Symbole stellvertretend für die kodierten Videosequenzen, wobei der
Spaltenkopf über den benutzten Videocodec Auskunft gibt. In den Zeilen wird zwischen den Quellsequenzen unterscheiden, wobei die Symbole Auskunft über das Bildseitenverhältnis geben. Icons
mit der Bezeichnung 625 verweisen auf die in Europa gebräuchliche PAL-Fernsehnorm mit 576
sichtbaren Bildschirmzeilen und 525 deutet auf das in Amerika verbreitete NTSC-System mit 486
sichtbaren Zeilen hin.
Abbildung 9: Demonstrator, Sequenztabelle
Beim Klick auf ein Sequenzicon wird ein im Betriebssystem registrierter Player gestartet
und die Sequenz abgespielt. Neben einer Voransicht der Sequenzen durch Klick auf das Miniaturbild in der rechten Spalte kann der Benutzer detaillierte Informationen zum Quellmaterial und den
verwendeten Codecs abrufen, indem er den entsprechenden Zeilen- oder Spaltenkopf anwählt.
Die bereitgestellten Codecinformationen beinhalten die zugehörige Multimediaarchitektur, den
verwendeten Komprimierungsalgorithmus, die Versionbezeichnung, einen passenden Audiocodec,
die Indentifizierung im Betriebssystem und Quellverweise zum Hersteller. Sequenzinformationen
geben Auskunft über Name, Dauer, Videoformat, Farbsystem, Fileformat, Audioabtastung und den
Ursprung der Sequenz. Hilfestellung bietet ein Fragezeichen in der rechten oberen Ecke. Benutzt
der Tester die rechte Maustaste beim Klick auf ein Sequenzsymbol, erhält er detailiertere Informationen bezüglich der Bitratenzuteilung zur entsprechenden Sequenz (➜6.1).
7.3.4 Informationen
Die vorher erläuterten Parameterprofile sind am unteren Ende jeder Sequenztabelle angegeben. Sie geben Auskunft über die Bitrate und deren Aufteilung. Im Beispiel der Abbildung 10
entfallen von einem Megabit Gesamtdatenrate 800 Kilobit auf den Video- und 160 Kilobit auf den
Audiodatenstrom. Die Bildwiederholrate beträgt hier volle 25 bzw. 30 Frames pro Sekunde, wobei
jedes zehnte Frame als Intraframe kodiert wurde. Im Falle eines NTSC-Ausgangsmaterials wurde
- 49 -
Untersuchung der Bildqualität bei unterschiedlichen Netzzugängen
Benutzung
eine Auflösung von 480 x 324 Bildpunkten verwendet. Neben den Audioeigenschaften wie Samplingfrequenz, Abtatsttiefe und Kanalanzahl wird der Kompressionsfaktor mit 112:1 angegeben. Er
errechnet sich aus dem Verhältnis zwischen der komprimierten Datenrate von 1 Mbps und der
Datenrate des äquivalenten Ausgangsmaterials. Da in diesem Beispiel mit einer geringeren Auflösung kodiert wurde, als im Original, muß die Quelldatenrate um einen entsprechenden Wert
korrigiert werden. Dementsprechend steht im Beispiel der reduzierten Datenrate eine Quellrate von
112 Mbps oder 14 MBps bezogen auf ein Ursprungsmaterial von 480 x 324 Bildpunkten (NTSC).
Abbildung 10: Sequenztabelle, Kodierungsparameter
Abschließend sind noch die Anforderungen an Speicherkapazität zu dem aktiven Profil
angegeben. Umgerechnet würde eine Standard-CD-Rom mit 650 MB Kapazität beispielsweise
rund 90 Minuten Video dieser Kompressionsstufe aufnehmen. Das entspricht einer Rate von 120
kBps, die beispielsweise für aktuelle CD-Rom-Laufwerke mit Raten ab 4•150kBps kein Problem
darstellt. Im Vergleich dazu würde eine CD-Rom unkomprimiert lediglich 45 Sekunden aufnehmen
und ein Abspielen bei einer geforderten Rate um 14 MBps ist selbst für die schnellsten Laufwerke
dieses Medientyps unmöglich. Ein Sequenzicon mit rotem Kreuz bedeutet, daß eine Codierung mit
diesem Parametersatz beim entsprechenden Codec aus technischen Gründen nicht durchführbar
war. Beispielsweise ließ sich der H.263-Codec nicht auf eine Datenrate von 1000 kbps einstellen,
da er zu Videokonferenzzwecken via ISDN-Leitung entwickelt wurde, welche weit unterhalb dieser
Datenrate betrieben wird.
- 50 -
Untersuchung der Bildqualität bei unterschiedlichen Netzzugängen
Benutzung
7.3.5 Bitratendiagramm
Wie vorher erläutert, erhält der Benutzer, wenn er mit der rechten Maustaste auf ein Sequenzsymbol klickt, ein Diagramm [H], das den zeitlichen Verlauf der Bitrate wiedergibt. Das ist
insbesondere dann von Interesse, wenn eine Sequenz während des Abspielens Fehler aufweist.
Teilweise ist es möglich, Ausreißer im Diagrammverlauf so den Abspieleigenschaften zuzuordnen
und Probleme spezieller Codecs auszumachen.
Das in Abbildung 11
dargestellte Diagramm zeigt
den Verlauf eines acht
Sekunden dauernden Bilddatenstroms einer Videosequenz. Im hier vorliegenden
Fall einer für ISDN kodierten
Sequenz mit 10 Frames pro
Sekunde ergeben sich insgesamt 80 Frames.
Abbildung 11: Bitratendiagramm, Erläuterung
Dieser Wert kann je nach Codec und Sequenz um ca. 10% vom rechnerischen abweichen.
Die roten Balken geben dabei die Samplegröße eines Intraframes, die blauen diejenigen eines
Deltaframes wieder. Der vorliegende Codec kommt also bei über 80 Frames mit nur zwei I-Frames
aus. Da mit einem I-Frame immer ein komplettes, DCT-komprimiertes Bild übertragen wird,
benötigt dieses, wie aus der Balkenhöhe ersichtlich, grundsätzlich mehr Bitrate als ein Deltaframe.
An der rechten Skala ist abzulesen, daß das erste Keyframe mit ca. 2 KB ein absolutes Maximum
des Graphen darstellt. Dieses Extremum ist auch bei anderen Sequenzen bestimmter Codecs zu
beobachten. In der sogenannten "Preload"-Phase füllt der Decoder vor dem Abspielen einer Sequenz seinen Pufferspeicher. Da der Zuschauer während dieser Zeit warten muß, wird dann häufig
das erste I-Frame als Standbild gezeigt. Dieser Prozedur wird durch bestimmte Codecs bereits bei
der Enkodierung Rechnung getragen, indem dem ersten Frame ein Überhang zugeteilt wird. Treten während der laufenden Übertragung Verzögerungen auf, so können diese mit der Reserve aus
dem Speicher ausgeglichen werden. Diese Pufferung setzt eine zur Kodierungsrate leicht erhöhte
Übertragungsrate voraus und bedingt eine Verzögerung zwischen gesendetem und abgespieltem
Signal. In der rechten Diagrammhälfte sind Lücken zu beobachten, in denen die erwarteten Deltaframes fehlen. Da eine reale Szene zwar geringe, aber permanente regionale Bildveränderungen
aufweist, kann bei solchen Verläufen normalerweise von Kodierungsfehlern ausgegangen werden.
Im vorliegenden Fall kann der Player auf Grund der fehlenden Information die Framerate nicht
aufrechterhalten. Dadurch wird der flüssige Bewegungsablauf unterbrochen, und das Bild bleibt
zeitweise stehen. Eine weiße Linie zeigt die mittlere Datenrate, welche sich an der linken Skala
ablesen läßt, wobei der Gesamtmittelwert durch eine waagrechte rote Linie gekennzeichnet wird.
Bei der vorliegenden, für ISDN kodierten Sequenz wurde eine Bitrate von 56 kbps bzw. 7 kBps
gefordert. Dieser Wert wurde im Gesamtmittel unterboten, bei zwei lokalen Maximas allerdings
überschritten. Mit einer standardmäßigen Pufferung von 5 Sekunden bei der hier verwendeten
Bitrate ergibt sich eine Kapazität von ca. 35 KB beim Player. Ein solcher Puffer würde die Überschreitungen der geforderten Bitrate durch den Encoder im vorliegenden Fall bei einer konstanten
Netzwerkbitrate von 7 kBps ausgleichen.
- 51 -
Untersuchung der Rechenintensität ausgewählter Verfahren
8
Serverseitige Enkodierung
UNTERSUCHUNG DER RECHENINTENSITÄT AUSGEWÄHLTER
VERFAHREN
Nachdem bislang die Funktionalität der verschiedenen Verfahren untersucht wurde, soll
das Augenmerk nun auf die Rechenintensität fallen. Dazu wurde ein Benchmarking54 durchgeführt,
bei dem die benötigte Rechenzeit für die Komprimierung einer bestimmten Filmsequenz eines
ausgewählten Codecs untersucht wurde. Als Referenzcomputer diente hierbei ein Intel Pentium III
System, getaktet mit 500 Mhz intern und 100 Mhz Speichertakt55.
8.1
Serverseitige Enkodierung
Zunächst wird die Rechenzeit gemessen, die ein Encoder braucht, welcher auf der Produktionsseite beim Server installiert ist. Die Codecparameter wurden hier für Liveencodinganforderungen optimiert. Spezielle Filter wurden deaktiviert und grundsätzlich das Singlepass-Verfahren
angewendet. Das heißt, der Encoder benötigt nur einen Durchlauf für eine Videosequenz und
versucht eine konstante Datenrate zu gewährleisten (CBR). Die Tests wurden bei drei festen
Bitraten durchgeführt, wobei die Parameter den weiter oben definierten Profilen entsprechen. Um
die Komplexität der Codecs gegenüberzustellen, wurden die vier in Tabelle 7 dargestellten
Videosequenzen ausgewählt.
#15, Mobile & Calendar
#16, Animation
#19, Football
#20, Susie On The Phone
Tabelle 7: Testsequenzen, Auswahl
Die Sequenz No.15 "Mobile & Calendar" enthält Bewegung in zwei Hauptrichtungen, stark
saturierte Farben und eine extrem hohe Detaildichte. Sequenz No.16 ist eine synthetisch generierte Animation mit langsamer Bewegung in zwei Hauptebenen, Kamerazoom und sehr weichen
Farbübergängen mit scharfen Konturen. In Sequenz No.19 "Football" finden schnelle Bewegungen
in mehreren Richtungen mit Kameraschwenk statt, wogegen No.20 "Susie On The Phone" eine
typische Talking-Head-Situation darstellt, wie sie häufig bei Nachrichten oder Diskussionsrunden
auftritt. Hier passieren nur sehr langsame, auf bestimmte Bereiche begrenzte Bewegungen bei
feststehender Kamera. Zudem tritt nur eine begrenzte Anzahl an Farben auf.
54
55
dt. Leistungsmessung
genannt: Ram Bustakt
- 52 -
Untersuchung der Rechenintensität ausgewählter Verfahren
Serverseitige Enkodierung
8.1.1 ISDN
Hier wurde eine Gesamtbitrate von nur 56 kbps gewählt, wobei 8 kbps auf die
Audioinformation und 48 kbps auf die Videoinformation enfallen. Bei einer Auflösung von 240x162
Punkten wurde eine Bildwiederholfrequenz von 10 fps gefordert.
48
50
45
40
35
30
encoding
25
time [sec]
20
#15 Mobile & Calendar
#16 Animation
#19 Football
#21 On The Phone
17
15
10
5
0
MS MPEG4v3
MS Media
Video7
Real Video
v8
Sorenson
Apple H.263
Videocodec
Abbildung 12: Dauer der Enkodierung von 8 Sekunden NTSC Video
für ISDN auf einem PIII-500 Windows98 System
Die Kodierung der 8 Sekunden langen Sequenzen dauerte maximal 48 Sekunden beim
H.263-Codec und minimal 17 Sekunden bei Microsofts MPEG4v3-Codec. Es ist auch ersichtlich,
daß eine Liveencodierung für ISDN nicht in Frage kommt, da kein Codec auf diesem System
einere geringere Zeit als 8 Sekunden benötigte. Trotz der unterschiedlichen Eigenschaften des
Videomaterials weißt lediglich der H.263-Codec leichte Differenzen zwischen den Sequenzen auf.
Erwartungsgemäß benötigte die Szene mit den meisten Details No.15, am meisten Zeit, und No.21
mit wenig zeitlichen Veränderungen am wenigsten Zeit.
8.1.2 DSL
Hier wurde eine Bitrate von 300 kbps gewählt, wobei 64 kbps auf die Audio- und 240 kbps
auf den Videodatenstrom entfallen. Bei einer Auflösung von 352 x 240 Punkten (SIF) war eine
Bildwiederholfrequenz von 20 fps gefordert.
160
145
140
120
100
encoding
time [sec]
#15 Mobile & Calendar
#16 Animation
#19 Football
#21 On The Phone
80
60
40
22
20
0
MS MPEG4v3
MS Media
Video7
Real Video
v8
Sorenson
Apple H.263
Videocodec
Abbildung 13: Dauer der Enkodierung von 8 Sekunden NTSC Video
für DSL auf einem PIII-500 Windows98 System
- 53 -
Untersuchung der Rechenintensität ausgewählter Verfahren
Serverseitige Enkodierung
Die Rangfolge der Codecs hat sich im Vergleich zur niedrigeren Datenrate bei ISDN nicht
geändert, wohl aber die absolute Kodierungsdauer. Wieder benötigt der H.263-Codec von Apple
mit 145 Sekunden am längsten, gefolgt von Sorenson, Real und Microsoft. Während sich die
Kodierungsdauer der Microsoftcodecs durch die Steigerung von 56 kbps auf 300 kbps nur
geringfügig erhöhte, kann man bei Sorenson von einer Verdopplung und beim H.263-Codec von
nahezu einer Verdreifachung der benötigten Zeit sprechen. Außerdem bereiten dem Apple-Codec
höhere Bitraten bei Szenen mit schnellen Bewegungen offensichtlich mehr Probleme als viele
Bilddetails, während die Animation und die Talking-Head-Situation mit Sorenson gleichauf liegen.
Für dieses Profil ist eine Liveencodierung auf einem 500 Mhz-Pentium also noch weniger geeignet.
8.1.3 LAN
Dem Profil für lokale Netze wurde eine Bitrate von rund 1 Mbps zugrundegelegt, wobei 800
kbps auf den Audio- und 160 kbps auf den Videodatenstrom enfallen. Die Auflösung beträgt 480 x
324 Punkte und die Bildwiederholfrequenz hat für das NTSC Material bereits volle 30 fps. Der
H.263-Codec ist bei dieser Messung nicht mehr enthalten, da dessen maximal zulässige Bitrate
analog dem H.261 Standard bei 384 kbps liegt (➜5.6).
172
180
160
140
120
encoding 100
time [sec] 80
#15 Mobile & Calendar
#16 Animation
#19 Football
#21 On The Phone
60
40
31
20
0
MS MPEG-4v3
MS Media
Video7
Real Video v8
Sorenson
Videocodec
Abbildung 14: Dauer der Enkodierung von 8 Sekunden NTSC Video
für LAN auf einem PIII-500 Windows98 System
Der Trend der vorherigen Messungen setzt sich auch bei einer Bitrate von einem Megabit
fort. Die Codecrangfolge bleibt gleich und während die Steigerungen von Microsoft und Real
bezüglich der geringeren Bitraten im linearen Bereich bleiben, verdoppelt Sorenson wiederum die
erforderliche Rechenleistung. Ein bestimmter Mechanismus des Sorensoncodec scheint also eine
zur Bitrate exponentiell ansteigende Rechenzeit zu verursachen.
8.1.4 Livebetrieb
Nachdem in den bisherigen Messungen auf Dateibasis offline enkodiert wurde, sollen nun
Streamingbedingungen untersucht werden. Dazu wurde der Windows Media Encoder 7 mit altem
und neuem Codec auf einem Doppel-Pentium System mit 866 Mhz mit einer Osprey-500 Capturingkarte betrieben. Als Videoquelle diente ein S-VHS-Recorder, der ein für Livestreaming typisches aufgezeichnetes Signal56 auf S-Video mit getrenntem analogen Luminanz- / Chrominanzsignal ausgibt. Es kamen die sechs bekannten Bitratenprofile Analog, ISDN, DUAL, DSL und LAN
mit Bitraten von 40 kbps bis 1 Mbps zum Einsatz. Außerdem wurden zwei Multibitratenströme
56
hier: Livemitschnitt eines Konzertsaales mit DV-Kamera
- 54 -
Untersuchung der Rechenintensität ausgewählter Verfahren
Serverseitige Enkodierung
(intelligent Streams) betrachtet, deren Bitraten 40..56 kbps und 112..300 kbps mit 8 kbps und 32
kbps für Audio betrugen. Als Bildauflösung wurde QCIF und CIF gewählt.
Intelligent Streams:
MULTI1:40,56 | 8kbps Audio | (QCIF)
MULTI2:112,300 | 32kbps Audio | (CIF)
Abbildung 15: CPU-Auslastung einer Liveenkodierung von PAL Video
auf einem dual PIII-866 Windows2000 System
Analog zu den Offlinemessungen kann man erkennen, daß der MPEG4v3-Codec wiederum
geringfügig weniger Rechenleistung verbraucht als Windows Media. Bei den CPU-Daten handelt
es sich um Durchschnittswerte. Mit einem Dual-Pentium-Prozessor können Zielgruppen57 mit
Modem und ISDN und auch Benutzer einer DSL-Verbindung also problemlos bedient werden.
DSL-Benutzer empfangen dabei immerhin bereits 352 x 288 Punkte Auflösung und Stereoton mit
44.1 kHz. Bei der Enkodierung von hochratigem Video stellt eine Bildgröße von 480 x 324 Punkten
mit 25 fps die Obergrenze des Machbaren dar. Vollwertige PAL-Qualität wird mit Rechenleistungen
unter 1 Ghz also noch nicht in Echtzeit erreicht.
57
auch Target Audience
- 55 -
Untersuchung der Rechenintensität ausgewählter Verfahren
8.2
Clientseitige Dekodierung
Clientseitige Dekodierung
In der Anwendung des Demonstrators (VIDA) mit unterschiedlichen Rechnerkonfigurationen hat sich gezeigt, daß auch an den Playoutrechner bestimmte Hardwareanforderungen
gestellt werden müssen. Dabei spielen alle Hardwarekomponenten, die Prozessorgeschwindigkeit,
die Grafikkarte, die Grafikbeschleunigungschipsätze, die Multimediaerweiterung des Prozessors,
der PCI-Bus und die RAM-Busparameter sowie der Zugriff auf die Speichermedien eine Rolle.
Anhand einer Beobachtung der benötigten Rechenkapazität eines Pentiumsystems mit 800 Mhz
läßt sich folgender Trend erkennen:
Abbildung 16: CPU-Auslastung beim Abspielen von NTSC Video
auf einem PIII-800 Windows2000 System
Das Decoding von niedrigratigem Video, wie es für ISDN oder DSL bis 300 kbps benötigt
wird, stellt auf der benutzten Rechnerarchitektur bei keinem Kodierungsverfahren ein Problem dar.
Weniger komplexe Verfahren wie MPEG1 und MPEG2 erzielen bei sehr hohen Datenraten ab 2
Mbps mit höheren Bildqualitäten gute Ergebnisse. Dagegen erfordern komplexere neuere Verfahren wie Windows Media, MPEG4 und DivX bei mittleren Datenraten um 1,5 Mbps und gleich
hohen Bildparametern eine extrem hohe Rechenleistung. Ist diese nicht vorhanden, kommt es zu
Inkonsistenzen im Bildablauf (Ruckler), die bei den einfacheren MPEG-Verfahren nicht auftreten.
Dort werden dafür Artefakte deutlicher sichtbar. Andere Verfahren wie Real Video sind schlicht
nicht für Datenraten über 1 Mbps ausgelegt und verursachen ebenfalls einen Einbruch der Bildwiederholrate.
Weitere Stichprobentests lassen den Schluß zu, daß mit aktuellen Verfahren wie Windows
Media mittlerweile auch bei Datenraten um 1 Mbps PAL-Fernsehqualität erreicht werden kann,
sofern genug Rechenleistung zur Verfügung steht. Diese liegt allerdings mit mindestens rund 800
Mhz noch über der Leistungsfähigkeit eines älteren Desktoprechners. Wie bei allen Datenkompressionsformen gilt also auch hier das Prinzip: Ein Datenvolumen läßt sich grundsätzlich in weiten
Grenzen reduzieren, wodurch sich aber der Aufwand beim Wiederherstellungsprozesses erhöht.
Wird bei Video- und Audioanwendungen Echtzeitfähigkeit gefordert, so müssen die Anforderungen
der Algorithmen an den technischen Fortschritt angepaßt werden.
- 56 -
Auswirkungen einer gestörten Übertragung
9
9.1
Mögliche Ursachen von Übertragungsfehlern
AUSWIRKUNGEN EINER GESTÖRTEN ÜBERTRAGUNG
Mögliche Ursachen von Übertragungsfehlern
Als Übertragung wird hier der Transport des kompletten Multimediainhalts von einer Quelle,
dem Produktionsort, bis zur Senke, dem Endbenutzer, angesehen. Grundvoraussetzung ist, daß
alle beteiligten Komponenten die durch den OSI-Standard geforderten Betriebsbedingungen einhalten und daß eingesetzten Protokolle und Formate kompatibel sind. Die Ursache für gestörte
Übertragung ist an drei Stellen zu suchen: Bei der Produktion seitens des Service Providers, auf
dem Übertragungsweg der Netzwerk Provider und bei der Ausstattung des Kunden selbst. Beim
Netzwerk kann es speziell im Unicastbetrieb zu einer Überlastung des Servers kommen.
Wenn zu viele Benutzer versuchen, auf einen Datenstrom gleichzeitig zuzugreifen, sinkt die
individuelle Datenrate. Im Extremfall kommt es dazu, daß Verbindungsanforderungen nach einem
Timeout gelöscht oder sogar bestehende Beziehungen beendet werden. Die Echtzeitanforderung
an Livevideo wird dann schnell unterschritten. Störungen einer logischen Netzwerkverbindung
können durch eine Überlastung der Netzknoten hervorgerufen werden. Wenn alle Ports eines
Routers im Netzwerksegment belegt sind und der Routingalgorithmus keinen Alternativweg mehr
findet, wird bereits der Aufbau zur gewünschten Adresse mit einer Fehlermeldung quittiert. Bei
einer etablierten Verbindung kann es durch Störungen auf dem Kabelweg zu Paketverlusten oder
Vertauschungen von deren Reihenfolgen kommen. Bei einem ungesicherten UDP-Streaming
werden die falschen Pakete nicht erneut angefordert. Die betreffenden Informationen fehlen dann
auch in einer lokal abgelegten Kopie des Datenstroms. HTTP-Streaming beendet die Kommunikation komplett, wenn eine fehlerhafte Übertragung oder ein Timeout auftritt. Das führt dazu, daß die
Verbindung inklusive Preloadphase jedesmal wieder neu aufgebaut werden muß. Auf der Seite
des Konsumenten kann es bei älteren Rechnern zur Überlastung des Systems kommen. Wie
jedoch aus Abbildung 1, S.56 (Netzwerke & Videostandards, typische Datenraten) hervorgeht, ist
dieser Fall aufgrund der niedrigen Bandbreiten eher seltener anzutreffen. Eine letzte mögliche
Fehlerquelle im Sinne der hier definierten Übertragung ist die Inkompatibilität der Decoding- oder
Netzwerkkomponenten zum gelieferten Datenstrom. Häufig wird der Benutzer zu einer erneuten
Playerinstallation oder einem Codec- bzw. Plugindownload aufgefordert.
9.2
Auswirkung auf die Bild- und Tonübertragung
Die Auswirkungen von Übertragungsfehlern sind neben dem Netzwerkprotokoll auch stark
vom verwendeten Codec und der Architektur oder dem Player abhängig. Während sich die Tonwiedergabe bei allen Architekturen als fehlerrobust herausgestellt hat, ist die Bildwiedergabe
bereits anfällig für einen kurzzeitigen Einbruch der Datenrate. Bis auf Real, wo mittels Prioritätenregelung auch dem Bild Vorrang gewährt werden kann, läuft der Ton meist ungestört synchron zur
Übertragung, während es beim Video zu Aussetzern oder einem gänzlich stehenden Bild kommt.
Fehlende Pakete verursachen beim Ton fast immer "Gluckser", die maximal im Zehntelsekundenbereich liegen. Fängt das Video zu "ruckeln" an, kommt es hingegen trotz hoch gewählten Wiederholraten schnell zu Aussetzern von mehreren Sekunden. Manche Architekturen wie Real verfügen
über Eingriffsmöglichkeiten zum Ergreifen von Gegenmaßnamen, die dann zwar die Framerate
aufrechterhalten, aber in bewegten Bereichen extreme Unschärfen erzeugen. Der SorensonCodec hingegen erzeugt einen pulsierenden Detailverlust mit starken Blockingartefakten, wenn die
Datenrate einen bestimmten Wert unterschreitet. Bei Sequenzen mit Spielfilmlänge beginnt spe- 57 -
Auswirkungen einer gestörten Übertragung
Kompensationsmöglichkeiten
ziell bei höheren Bitraten mit Windows Media, die Bild-Tonabstimmung (Lippensynchronität)
auseinanderzudriften. Der DivX-Codec trägt diesem Umstand immerhin mit einer Nachregelung ab
einem Maximalwert an Divergenz Rechnung. Er korrigiert dann beim Abspielen den Zeitabstand,
indem er den quasi hinterherhinkenden Film für kurze Zeit mit doppelter Geschwindigkeit ablaufen
läßt.
9.3
Kompensationsmöglichkeiten
Um Übertragungsfehler zu vermeiden, können folgende Maßnahmen ergriffen werden:
Prinzipiell ist es möglich, für Streaming den Encoder und Serverprozeß auf einem Rechner laufen
zu lassen. Gerade bei Livestreaming ist aber in höchstem Grade davon abzuraten. Besser ist ein
Encoderrechner mit möglichst hoher Rechenleistung und ein Netzwerkserver mit noch höherer
Bandbreite. Außerdem ist ein ISP mit möglichst guter Backbone auszuwählen. Bei der Enkodierung sollten die sehr unterschiedlichen Einstellungsmöglichkeiten des Codec und der Architektur ausgenützt werden. Sorenson bietet zum Beispiel eine Spike-Suppression-Funktion, die
bereits bei der Enkodierung einer gleichmäßigen Datenrate Rechnung trägt. Bei den Kodierungen
zu VIDA hat sich herausgestellt, daß die wenigen Codecs, die Variable Bitrate Encoding (VBR)
anbieten, meist schwer dazu zu bringen sind, das eingestellte Maximum dann auch einzuhalten.
Die normale Qualitätseinstellung gibt es fast bei jedem Codec. Sie kann von "clearer Image" bis
"smother Action" variiert werden und arbeitet sehr effektiv. Sie ist der entsprechenden Anwendung
anzupassen. Für ein Präsentationsstreaming sind beispielsweise andere Parameter als bei einem
Konzertmitschnitt zu wählen. Bei Real sollte die Prioritätenregelung von Bild und Ton genutzt
werden. Seitens der Dekodierung sollte die Playersoftware sinnvoll konfiguriert werden.
Tabelle 8: Playerkonfiguration, Pufferung
Wie Tabelle 8 zeigt, sollte die Zwischenpufferung gerade bei längeren Streamingsitzungen
nicht zu niedrig gewählt werden. Wenn es bereits beim lokalen Abspielen von der Festplatte zu
"Rucklern" kommt, reicht die Rechenleistung nicht aus. In diesem Fall ist die Hardwarebeschleunigung der Grafikkarte auf das Maximum zu stellen. Bei Datenraten über 5 Mbps sollte der
Direct Memory Access (DMA)-Zugriff zu allen Speichermedien aktiviert58 werden. Zudem existieren
Player, die eine weitere Einstellung der Decodingsqualität ermöglichen.
58
siehe Microsoft Windows: Einstellungen|Systemsteuerung|System|Laufwerke|Eigenschaften
- 58 -
Zusammenfassung
Kompensationsmöglichkeiten
10 ZUSAMMENFASSUNG
Aufgabe dieser Arbeit war es, die Qualität, Komplexität und Eignung moderner Videokompressionsverfahren für Video@Internet zu untersuchen. Es sollte ein Überblick über derzeit für das
Internet verfügbare Videokompressionsverfahren gegeben werden. Dazu wurden zunächst deren
verwendete Algorithmen dargestellt. Es wurde die Komplexität verbreiteter Multimediaarchitekturen
beurteilt und eine detailierte Übersicht der verfügbaren Implementierungen gegeben. Zusätzlich
sind verschiedene Ansätze des Broadcasting im digitalen Netzwerk aufgezeigt worden. Zur Beurteilung der Bildqualität der Verfahren bei unterschiedlichen Netzzugängen wurde eine interaktive
HTML-basierte Testumgebung entwickelt, mit der der Benutzer einen individuellen Vergleich der
Videosysteme durchführen kann. Den Abschluß bildete eine Meßreihe über die Rechenintensität
der einzelnen Verfahren und die Erörterung des Verhaltens bei gestörter Übertragung.
Die Untersuchungen haben gezeigt, daß gegenwärtig verfügbare Verfahren bereits
geeignet sind, bewegte Bilder über das weltweite digitale Netz zu übertragen. Mit dem Ausbau der
Bandbreiten und einer Modernisierung der Netzwerktechnologien werden in Zukunft qualitativ
hochwertigere Video-Liveübertragungen und interaktive Unterhaltung mit aktiver Programmgestaltung möglich. Ausgebaute Netzwerke sind für Business-TV im LAN-Bereich und
Educational-Anwendungen im Internet bereits jetzt geeignet. Mit der Verbreitung von DSL und der
Einführung von Multicast in IP-Netzen wird auch für OnDemand-Video eine weltweite Teilname an
LiveEvents attraktiv.
Es erzielen niedrigere Bitraten um ISDN das Real System, bei mittleren Raten um DSL
Windows Media und für hochwertiges PAL-Video DivX und Video for Windows gute Ergebnisse.
Apples Quicktimearchitektur konnte jedoch trotz umfangreicher Zusatzfunktionalitäten und
Plattformunabhängigkeit weder in der Bedienung noch in der Videoqualität überzeugen. Die
Vorteile des hoch gelobten Sorensoncodecs konnten selbst mit dessen umfangreichen Einstellmöglichkeiten nicht nachvollzogen werden. Desweiteren erscheinen die Streamingfähigkeiten der
Real- und Windowsmedia-Architekturen ausgereifter. In der Vielzahl weiterer verfügbarer Codecs
finden sich durchaus überlegene Kompressionsprinzipien. Auf Grund der spärlichen Verbreitung,
der nicht vorhandenen Netzwerkunterstützung und dem Umstand, daß die meisten dieser Codecs
nicht mehr weiterentwickelt werden, kommen sie nicht für Video@Internet in Betracht.
Zuletzt muß noch ein weitverbreiteter Irrtum ausgeräumt werden. Auf Produktionsseite
besteht häufig die Meinung, daß für niedrige Bitraten beim Internetvideo keine besonderen Anforderungen an die Qualität des Ausgangsmaterials gemacht werden müssen. Genau das Gegenteil
ist der Fall ! Bei diesem engen, aber angepaßten Übertragungskanal sollte die Qualität der Quelle
am besten SDI oder DigiBeta, minimal aber DV-Video sein. Wer ein LiveStreaming mit VHS-Video
und schlechter Ausleuchtung einrichtet und glaubt auf Kameraführung verzichten zu können,
braucht sich über niedrige Besucherzahlen also nicht zu wundern.
- 59 -
Ausblick
Kompensationsmöglichkeiten
11 AUSBLICK
In weiteren Untersuchungen könnte der Frage nachgegangen werden, wie die realisierten
Bildqualitäten der Netzzugänge subjekiv auf Testpersonen wirken. Dazu muß ein neues Testverfahren entwickelt werden. Als Benutzerschnittstelle könnte eine Weiterentwicklung des Multi
Stimulus with Hidden Reference and Ankre (MuSHRA) [30]-Verfahrens dienen. Die verfügbare
objektiven Testverfahren sind auf ein Lowbitrate-Video-System nicht anwendbar. Daher müssen
auch hier neue Ansätze geprüft werden. Als objektives Verfahren, dessen Messwert nicht von der
Testumgebung beeinflußt wird erscheint eine reine Softwarelösung ohne Videoschnittstellen als
sinnvoll. Dazu könnte ein Programm entwickelt werden, das im offline-Betrieb jedes dekodierte
Einzelframe von einer internen Softwareschnittstelle des Grafikaufbaus abgreift.
Zu solchen Analysezwecken könnten die in dieser Arbeit erzeugten Testsequenzen dienen.
Die Datenbank von über 500 Sequenzen unterschiedlichster Codecs und Architekturen könnte um
objektive Messwerte und subjektive Testresultate erweitert werden. Außerdem besteht bereits jetzt
durch die zunehmende Verbreitung des Demonstrators über Internet und ausgegebene CD-Roms
zunehmende E-Mail-Resonanz, die in die weitere Bewertung mit eingehen kann.
Erfahrungen des Autors
Nach meiner persönlichen Auffassung befindet sich die Entwicklung bei Video@Internet
gegenwärtig an dem Punkt, an dem sich vormals MPEG-Audio beim Übergang des Layer 2 zu
"MP3" befand. In einschlägigen Kreisen ist der digitale Austausch und die Archivierung qualitativ
hochwertigen Videomaterials zu privaten Zwecken bereits Realität. Zudem möchte eine wachsende Zahl des Publikums den Zeitpunkt und den Inhalt ihrer Freizeitunterhaltung selbst bestimmen. Für diese Freiheit sind immer mehr Konsumenten durchaus bereit, Abstriche in der Qualität
hinzunehmen. Das Gleiche, was mit Napster59 in der Musikbranche zum De-Facto-Standard
wurde, ist im Begriff, sich auf Videoinhalte auszuweiten. Es besteht die Gefahr einer geteilten
Gesellschaft. Ein Teil wird dann mit maximaler Individualität (komplett) am Markt vorbei konsumieren, ein anderer sich von übersteigerten Preise abschrecken lassen. Wenn die Unterhaltungsbranche dies verhindern will, gilt es jetzt zu handeln. Es sollten nicht nur Risiken der kriminalisierten Verbraucher gesehen werden. Die Chancen neuer Technologien sind auf ein mündiges
Publikum anzuwenden. Wir sollten nicht abwarten, bis in einer mehr oder weniger fernen Zukunft
die Technik reif ist und die Konsumenten bereits ihren eigenen Weg gegangen sind.
59
Synonym für private Internet Tauschbörsen, die unter anderem eine illegale Verbreitung kommerzieller Inhalte ermöglicht
- 60 -
Literaturverzeichnis
LITERATURVERZEICHNIS
[1]
Fremerey, Frank:
Der digitale Sender, Hörfunk und Fernsehen aus dem Computer
c't - magazin für computer technik, Heft 4, 1999, S.98ff
[2]
Werner, Dieter:
Taschenbuch der Informatik
Fachbuchverlag Leipzig, 1995
[3]
McGowan, John F.: AVI Glossary, CCIR 601
2000
Internet: http://www.jmcgowan.com/avigloss.html
[4]
AECweb:
ARCHmatic Glossar und Lexikon
Mai 2000
Internet: http://www.glossar.de
[5]
Wilkens, Henning: (Institut für Rundfunktechnik)
IRT auf der Systems
Multiservice Netzwerk-Plattform für Rundfunkapplikationen
Messemitteilung, Nov 2000
[6]
Steinmetz, Arnd; Hemmje, Matthias:
(Gesellschaft für Mathematik und Datenverarbeitung,
Institut für integrierte Publikations- und Informationssysteme)
Konzeption eines digitalen Videoeditiersystems auf Basis
des internationalen Standards ISO/IEC 11172 (MEPG-1)
Studie, Nov 1998
Internet: http://www.darmstadt.gmd.de
[7]
McGowan, John F.: Overview of Video for Windows DirectShow and AVI
1996-2000
Internet: http://www.jmcgowan.com
[8]
Simon, Ute; Berndtgen, Manfred:
Handlich bunt, Kompressionstechniken für Bild- und Videodateien im Vergleich
c't - magazin für computer technik, Heft 11,1996
[9]
Cótè, Guy; Erol, Berna; Gallant, Michael; Kossentini, Faouzi:
(Institute of Electric and Electronic Engineers)
H.263+: Video Coding at Low Bit Rates
IEEE Transactions On Circuits And Systems For Video Technology: Vol.8 No.7
Nov 1998
[10]
European Broadcasting Union:
subj. Skala Recommendation ITU-R BS.1116-1:
Methods for the subjective assessment of small impairments in audio systems
including multichannel sound systems
ITU-R recommendations: BS series, 1998, S.434-459
[11]
International Telecommunication Union, Telecommunication Standardization Sector:
(Video Quality Experts Group, KPN Research)
Evaluation of new methods for objective testing of video quality:
objective test plan
1997-2000
[12]
Corriveau, Philip; Walch, Nikolaus; Schertz, Alexander:
(Communications Research Centre, Institut für Rundfunktechnik)
Video Quality Experts Group, Subjective Test Plan, Version 3
Jul 1999
- 61 -
Literaturverzeichnis
[13]
Schmidt, Ulrich:
Digitale Videotechnik
Franzis' Verlag, München, 1998
[14]
Németh, Karlo:
Vorlesung Datenkommunikation
Skript. Fachhochschule München, 1999
[15]
Loviscach, Jörn; Wagner, Reinhard E.:
Spots aus dem Rechner, Computertechnik im TV-Studio
c't - magazin für computer technik, Heft 20, 1999, S.204ff
[16]
Beier, Andreas:
Macintosh-Notizen
c't - magazin für computer technik, Heft 9, 2000, S.64
Internet: www.microsoft.com/windows/mediaplayer/en/download/Macintosh.asp
[17]
Terran Interactive: Codeccentral, Index of Codecs
1999-2000
http://www.terran-int.com/CodecCentral/Codecs/index.html
[18]
Himmelein, Gerald:Kinoprogramme, Software-DVD-Spieler unter Windows
c't - magazin für computer technik, Heft 20, 1999, S.112ff
[19]
Ritscher; Felderhoff; Nielsen:
Kaskadierung von Bitratenreduktionsverfahren für Tonsignale
18. Tonmeistertagung, Karlsruhe, 1994
[20]
Jaeger, Stefan:
Legal oder illegal, Der rechtliche Status des DVD-Hackertoolsaktuell
c't - magazin für computer technik, Heft 14, 2000, S.28f
[21]
Loviscach, Jörn:
Filmkonserven, Analogvideo DV und DVD archivieren
c't - magazin für computer technik, Heft 21, 2000, S.234
[22]
Mackensen, Philip: Live Streaming von der Tonmeistertagung
(Institut für Rundfunktechnik)
Dez 2000
Internet: http://www.tonmeister.de/tmt/2000/streaming/intro.htm
[23]
Leitner, Felix von: Bilder für alle, Multicast: Sendeverfahren für Audio und Video im Netz
c't - magazin für computer technik, Heft 12, 2000, S.212ff
[24]
Hofmann, Herbert: Networks and Network Management, Audio/Video Streaming over IP
(Institut für Rundfunktechnik)
Mai 2000
[25]
Schröder, Karsten, Gebhard, Harald:
Audio-/Video-Streaming über IP Multimedia-Netze
Fernseh- und Kinotechnik, Heft 54, Jahrgang Nr.1-2, 2000
[26]
Gebhard, Harald:
Diplomarbeit. IP-basierte Video-Kommunikation
(Lehrstuhl für Nachrichtentechnik, Universität Dortmund)
Internet: http://www.nt.e-technik.uni-dortmund/m_gh, 1999
[27]
Plate, Jürgen:
[28]
Zivadinovic, Dusan: Highspeed-Surfer, Breitbandtechnik in Deutschland nicht flächendeckend
c't - magazin für computer technik, Heft 9, 2000, S.154ff
[29]
Stokes, Michael; Anderson, Matthew; Chandrasekar, Srinivasan; Motta, Ricardo:
(Hawlett Packard, Microsoft)
Farbmodelle, A Standard Default Color Space for the Internet, sRGB Version
Nov 1996
Multimedia in Netzen
Vorlesung, August 1997
Internet: http://www.w3.org/graphics/color/sRGB
- 62 -
Literaturverzeichnis
[30]
Stoll, Gerhard:
Audio Goes Internet
(Institut für Rundfunktechnik)
Seminar Präsentation, Aug 2000, S.17
[31]
Kuri, Jürgen:
Telefonieren über TCP/IP: Spielerei oder Zukunftstechnik?
c't - magazin für computer technik, Heft 10, 1999, S.220ff
[32]
Oberdörster, Alexander; Carstens, Matthias:
Frontalangriff, Internet- Audio und Video: Microsoft contra Apple und MP3
c't - magazin für computer technik, Heft 10, 1999, S.52ff
[33]
Loviscach, Jörn:
[34]
Zivadinovic, Dusan: Privatfunk, Bluetooth als Netzwerk- und Schnittstellenmodul
c't - magazin für computer technik, Heft 25, 1999, S.126ff
[35]
Rink, Jürgen:
[36]
Windeck, Christof: Universeller Bus gegen Feuerdraht, Wer ist schneller?
c't - magazin für computer technik, 22/99, Seite 57
[37]
Gersho, A.; Gray, R.; Boston:
Vector Quantization and Signal Compression
1992
[38]
Zota, Volker:
Kopierschutz ausgehebelt, Microsofts Streaming-Media-Formate speicherbar
c't - magazin für computer technik, Heft 16, 1900, S.33f
[39]
ISO/IEC 13818-1:
Information technology, Generic coding of moving pictures and associated
audio information, Part 1: Systems
[40]
ETR:
Digital Video Broadcasting (DVB); Implementation Guidelines for the Use of
MPEG-2 Systems
Draft 154, Rev.3, Juni 1999
[41]
Reimers, U.:
Digitale Fernsehtechnik
Berlin, Springer Verlag 1995
Formen mit Normen, Internet-Standards für Multimedia - nicht nur online
c't - magazin für computer technik, Heft 18, 2000
IrDA-Verbindungen mit PC, Notebook, PDA und Mobiltelefon
c't - magazin für computer technik, Heft 25, 1999, S.114
- 63 -
Anhang
QUELLENVERZEICHNIS
[A]
Stoll, Gerhard; IRT, Audio Internet Demonstration Aid, Version 2.1
Internet: http://radio.irt.de/aida/start_e.htm
[B]
Schmalohr, Martin; IRT, Video Internet Demonstration Aid, Version 2.6
Internet: http://radio.irt.de/vida/begin.htm
[C]
European Broadcasting Union
Internet: http://www.rnw.nl/ebu
[D]
Video Quality Experts Group
Internet: http://ftp.crc.ca/test/pub/crc/vqeg
[E]
Cristy, John; ImageMagic, Version 5.21
Internet: http://www.imagemagick.org
[F]
Adobe, Photoshop, Version 4.0
http://www.adobe.com/products/main.html
[G]
Roberts, Jeff; Rad Video Tools,
Internet: http://www.radgametools.com
[H]
Adobe, Premiere, Version 5.1
http://www.adobe.com/products/main.html
[I]
W3C, Empfehlung zur Synchronized Multimedia Integrated Language,
Internet: http://www.w3.org/tr/rec-smil
[J]
Microsoft, Netshow Tools, Version 4.1
http://www.microsoft.com/netshow/download/en/release.htm
[K]
Microsoft, Windows Media Encoder, Version 7
Internet: http://www.microsoft.com/windows/windowsmedia
[L]
Microsoft, Windows Media System Developer Kit, Version 7
Internet: http://www.microsoft.com/windows/windowsmedia
[M]
Real Networks, Real Producer Pro, Version 6.0
Internet: http://www.real.com
[N]
Real Networks, Real Producer Plus, Version 8.0
Internet: http://www.real.com
[O]
Darim Vision, MPEG Encoder, Version 5.0
Internet: http://www.s-vision.com
[P]
Sorenson, Video Codec, Developper Edition 3
http://www.sorenson.com/SorensonVideo/overview.html
[Q]
Apple, Quicktime Pro, Version 4.0
http://www.apple.com/quicktime
[R]
Intel, Indeo Video Codec, Version 3-5
Internet: http://developer.intel.com/ial/indeo/video/web.htm
[S]
Radium, DivX Video Codec, Version 3.11
Internet: http://divx.ctw.cc
[T]
Terran, Media Cleaner, Version 4.0
Internet: http://www.terran-int.com/products/cleaner/index.html
[U]
Quicktimetools Electrifier, LiveStage, Macromedia Director, MPEG
Internet: http://www.terran-int.com/products/LivestageOverview.html
[V]
Macromedia, Dreamweaver, Version 3.0
Internet: http://www.macromedia.com/software/dreamweaver
[W]
Quicktime, Filmtrailer
Internet: http://www.apple.com/trailers
[X]
Münz, Stefan; Selfhtml, Version 7.0
Internet:
[Y]
http://www.teamone.de/selfaktuell
Wilson, Dave; Four Character Code Liste
Internet: http://www.webartz.com/fourcc
[Z]
Microsoft, Four Character Code Liste
http://www.microsoft.com/hwdev/devdes/fourcc.htm
- 64 -
Anhang
ABKÜRZUNGSVERZEICHNIS
MC ............................................................Motion Compensation
MFTP .........................................Multicast File Transfer Protocol
MJPEG................................................................... Motion-JPEG
MPEG ......................................... Moving Picture Experts Group
MSE .............................................................Mean Squared Error
MuSHRA ...... Multi Stimulus with Hidden Reference and Ankre
A
AAC ......................................................Advanced Audio Coding
ACM ............................................. Audio Compression Manager
AIDA.................................... Audio Internet Demonstration Aids
ATM....... Asynchronous Transfer Asynchronous Transfer Mode
AVI ......................................................... Audio Video Interleave
N
C
NT ..............................................................Network Termination
NTSC ......................... National Television Standards Committee
CBR ................................................................... Constant Bitrate
CD-I ......................................................................CD Interactive
CoDec ................................. Compressor-Decompressor-Pärchen
CYMK................ Farbmodell nach Cyan Yellow Magenta BlacK
O
OSI...............................................Open Systems Interconnection
D
P
D1..D9....................................................... digitales Videosystem
DCT ............................. engl. für diskrete Kosinustransformation
DIB...................................................Device Independent Bitmap
DLL.........................................................Dynamic Link Liberary
DMA ........................................................Direct Memory Access
DSL.................. Digital Subscriber Line Digital Subscriber Line
DV.............................................................. Digital Video System
DVB ................................................. Digital Video Broadcasting
DVC-Pro ................................................... digitales Videosystem
DVD.........................................................Digitale Versatile Disc
DWT ....................................... Diskrete Wavelet Transformation
PAL..........................................................Phase Alternation Line
Payload.......................................................................... Datenteil
PDU ..............................................................Protokoll Data Unit
PNG..................................................... Portable Network Grafiks
PSK ............................................Phase-Shift-Keying Modulation
PSNR .................................................Peak Signal to Noise Ratio
E
RGB ..........................................Farbmodell nach Rot-Grün-Blau
RLE ........................................................... Run Length Encoding
RPRendezvous Point
RSVP ........................................................ ReSerVation Protocol
RTCP ................................................ Transport Control Protocol
RTP ................................................. Realtime Transport Protocol
Q
QAM ...................................... Quadratur-Amplitudenmodulation
R
EBU ............................................. European Broadcasting Union
F
FBAS.............................. Farb-Bild-Austast- und Synchronsignal
FCC............................................................. Four Character Code
FD .................................................................Frame Differencing
FPS..............................................................Fast Paket Switching
FTP............................................................ File Transfer Protocol
S
SDI........................................................... Serial Digital Interface
SFM ........................................................ Surface Fitting Method
SIF...........................................................Standard Image Format
Sprite........................................................................... Bildobjekt
SVCD..............................................Super Video Comopact Disk
SVT..............................................skalierbare Video Technologie
G
GIF ................................................. Graphics Interchange Format
GOP.................................................................. Group of Pictures
GSM...Short Messaging Service Groupe Spécial Mobile System
T
H
TCP ..............................................Transmission Control Protocol
TDSL..................................................................... Telekom-DSL
TE ............................................................... Terminal Equipment
Header ......................................................................Kopfstruktur
HF .......................................................................High Frequency
HSB........................ Farbmodell nach Hue,Saturation,Brightness
HTML .......................................... Hyper Text Markup Language
HTTP.............................................. Hypertext Transfer Protokoll
U
UDP .......................................................User Datagram Protocol
ULP .......................................................... Upper Layer Protokoll
UMTS ................. Universal Mobile Telecommunication Service
URI................................................Uniform Ressource Indicators
URL....................................................Uniform Resource Locator
URS................................................. Uniform Ressource Number
I
IEC ............................International Electrotechnical Commission
IP .................................................................... Internet Protokoll
IPv6..............Internet-Protokoll Version 6 (auch next Generation
ISDN .................................. Integrated Services Digital Network
ISO ............................ International Standardisation Organisation
ISP...................................................... Internet Service Providern
IVI...........................................................Indeo Video Interactive
V
JPEG ................................................ Joint Picture Experts Group
JTC1...... Joint Technical Committee on Information Technology
VBR ....................................................................Variable Bitrate
VCM ..............................................Video Compression Manager
VHS ............................................................ Video Home System
[email protected] Internet Demonstration Aid
VOB ...................................................................... Video Objects
VQEG ............................................Video Quality Experts Group
L
W
LAB.. Farbmodell nach Helligkeit und Farbkreiskoordinaten-AB
LAN .............................................................Local Area Network
LLC .............................................................Logical Link Control
WDM ...................................................Wave Division Multiplex
WMA ...................................................... Windows Media Audio
J
Y
M
YUV...............Farbmodell mit RGB-Balance Component Video
MAC .........................................................Media Access Control
- 65 -
Anhang
ANHANG
- 66 -
Anhang
Parameterprofile
1 PARAMETERPROFILE
1.1
Quellbitrate
ORG
20 MBps
Originale unkomprimierte Sequenz ...............................................................260Mbyte gesamt, Faktor 1:1
@ 257Mbps|1500:8|I1|4:2:2
Video:
NTSC
525@60Hz
720x486 260 pics/24 bit
PAL
625@50Hz
720x576 220 pics/24 bit
Audio:
PCM
16bit [email protected]
REF
6 Mbps
1
Referenz, Video only (DVD, MP@ML) ......................................................15,2Mbyte gesamt, Faktor 41:1
@ 6Mbps|6000:0
Video:
525@60Hz: (720x486)
30fps|IBBP
625@50Hz: (720x576)
25fps|IBBP
Audio:
no Audio
1.2
Niedrige Bitraten
ANA
40 kbps
56K Analog-Modem ........................................................................................42kByte gesamt, Faktor 83:1
@ 40kbps|34:6|7fps|I60
Video:
NTSC
525@60Hz
176x112 (QSIF)
PAL
625@50Hz
176x144 (QSIF)
Audio:
8bit mono@8kHz
ISDN
56 kbps
einfacher ISDN B-Kanal................................................................................58kByte gesamt, Faktor 167:1
@ 56kbps|48:8|10fps|I60
Video:
NTSC
525@60Hz
240x162
PAL
625@50Hz
240x192
Audio:
16bit [email protected]
DUAL
112 kbps
Doppeltes ISDN, 2 parallelgeschaltete B-Kanäle .......................................116kByte gesamt, Faktor 222:1
@ 112kbps|80:22|15fps|I40
Video:
NTSC
525@60Hz
320x216
PAL
625@50Hz
320x256
Audio:
16bit [email protected]
DSL
300 kbps
Schnelles Internet, T1 Kabel Modem, xDSL Breitband ..............................311kByte gesamt, Faktor 135:1
@ 300kbps|240:64|20fps|I20
Video:
NTSC
525@60Hz
352x240 (SIF)
PAL
625@50Hz
352x288 (SIF)
Audio:
16bit [email protected]
LAN
1 Mbps
Standard LAN, Intranet ..................................................................................1Mbyte gesamt, Faktor 112:1
@ 1Mbps|800:160|I10
Video:
NTSC
525@60Hz
480x324 30fps
PAL
625@50Hz
480x384 25fps
Audio:
16bit [email protected]
1
Main Profile at Main Layer
-A1-
Anhang
1.3
Parameterprofile
Mittlere Bitraten
Video:
Audio:
NTSC
PAL
PCM
525@60Hz
352x240
30fps (SIF)
625@50Hz
352x288
25fps (SIF)
16bit [email protected]
Video CD
1125k
Video CD, CD Interactive, Laserdisc ........................................................... 1,5MByte gesamt, Faktor 54:1
@ 1125kbps|1125:224|IBBP
(29.97fps)
MPEG-1
1 Mbps
Program Stream mit minimaler Rate ........................................................... 1.3MByte gesamt, Faktor 61:1
@ 1Mbps|1000:128|IBBP
MPEG-1
1.5 Mbps
Standard Program Stream für Videoclips .................................................... 2.0MByte gesamt, Faktor 41:1
@ 1,5Mbps|1500:224|IBBP
MPEG-1
3 Mbps
Hochwertiger Program Stream .................................................................... 3.7MByte gesamt, Faktor 20:1
@ 3Mbps|3000:224|IBBP
1.4
Hohe Bitraten
Video:
Audio:
NTSC
PAL
PCM
525@60Hz
720x486
30fps
625@50Hz
720x576
25fps
16bit [email protected]
MS Media7
1.5 Mbps
Windows Media mit TV Qualität................................................................. 1.7MByte gesamt, Faktor 166:1
@ 1,5Mbps|1500:192|I90/I75
MS Media7
2 Mbps
Windows Media mit DV Qualität ................................................................ 2.3MByte gesamt, Faktor 125:1
@ 2Mbps|2000:192|I90/I75
MPEG-2
1.5 Mbps
Program Stream mit minimaler Rate ......................................................... 2.0MByte gesamt, Faktor 166:1
@ 1,5Mbps|1500:224|IBBP
MPEG-2
3 Mbps
Program Stream mit mittlrer Rate ................................................................ 3.7MByte gesamt, Faktor 83:1
@ 3Mbps|3000:224|IBBP
MPEG-2
4 Mbps
Standard Program Stream (DVD,DVB) ....................................................... 4.9MByte gesamt, Faktor 62:1
@ 4Mbps|4000:224|IBBP
MPEG-2
6 Mbps
Video Only Stream, hochwertige Qualität.................................................... 6.5MByte gesamt, Faktor 41:1
@ 6Mbps|6000:224|IBBP|no sound
1.5
Codec Kombinationen
CODE
APPL
I263
IIND
MPG2
MPG4
RLG2
SRS2
VDOW
WNM7
Videocodec
Apple Video
Intel H263
Intel Indeo
Darim MPEG2 V5
MS MPEG4v3
Real G2
Sorenson2
VDOWave
MS Media7
Audiocodec
Architektur
Qdesign Music Codec
QT
MPEG-1 Audio L3
QT
MPEG-1 Audio L3
WM
MPEG-1 Audio L2 / no
WM
MS Audio V2
WM
Real Audio
RL
Qdesign Music Codec
QT
MPEG-1 Audio L3
WM
MS Audio V7
WM
-A2-
Anhang
Programmcode
2 PROGRAMMCODE
2.1
MAIN.JS
<!-var dispFLG = 1;
var infoDir = "info/";
var picDir = "pics/";
var file3 = "";
var info = "";
var path = "";
var fpsFile = "";
var filename = "";
var scrolling = "no";
var resize = "no";
var Message0 = "Click left to view the Videosequence and right to display a Bitratechart";
var Message1 = "Sorry, no additional Information avaliable";
var Message2 = "Click here for more Information";
var status0 = Message0;
var status1 = "Click here for Details on the Videosource";
var status2 = "Click here for special Encodingparameters";
var status3 = "Click to enlarge view";
var status4 = "Click for slideshow";
var status5 = "Click to view the Videosequence";
var extraWin = "";
function changeRightclick()
{
if (document.layers)
{
window.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP)
window.onmousedown=rightclick;
window.onmouseup=rightclick;
function rightclick(e)
{
if (e.which == 3)
{
dispInfo('chart', fpsFile);
return false;
}
else return true;
}
}
if (document.all)
{
function click()
{
if (event.button==2) dispInfo('chart', fpsFile);
if (event.button==3) dispInfo('chart', fpsFile);
}
document.onmousedown=click
}
}
function dispInfo(cat,file)
{
var Iwidth=100;
var Iheight=550;
var Property
dispFLG=1;
scrolling = "no";
resize = "no";
switch(cat)
{
case "codec":
case "info":
case "chart":
case "seq525":
case "seq625":
case "pic525":
case "pic625":
default:
Iwidth=450;Iheight=420;
path = infoDir + file;.
break;
Iwidth=450;Iheight=500;
path = infoDir + file;
break;
Iwidth=470;Iheight=300;
if (fpsFile==0) {alert(Message0);dispFLG=0;}
if (fpsFile==1) {alert(Message1);dispFLG=0;}
break;
Iwidth=360;Iheight=243;
path = infoDir + file;
break;
Iwidth=360;Iheight=288;
path = infoDir + file;
break;
Iwidth=720;Iheight=486;
path = infoDir + file;
break;
Iwidth=720;Iheight=576;
path = infoDir + file;
break;
Iwidth=450;Iheight=550;
path = infoDir + file;
break;
}
if (dispFLG)
{
filename = URLfilename();
if (extraWin.closed == false) extraWin.close();
if (cat=="chart") {path = infoDir + "chartTMP.htm?" + escape(file) + '&' + escape(filena
Property = "width=" + Iwidth + ",height=" + Iheight + ",directories=no,scrollbars=" + sc
extraWin = windowHandle=window.open(path,'infoWin',Property);
}
}
function URLfilename()
{
actPageURL = window.location.href;
x = actPageURL.length;
while((actPageURL.substring(x,x-1)) != "."){ x--; } clipend = x;
while((actPageURL.substring(x,x-1)) != "/"){ x--; } clipstart = x;
return actPageURL.substring(clipend-1,clipstart);
}
function statusMsg(msgNo)
{
switch(msgNo)
{
case 0:
status = "";break;
case 1:
status = status1;break;
case 2:
status = status2;break;
case 3:
status = status3;break;
case 4:
status = status0;break;
case 5:
status = status4;break;
case 6:
status = status5;break;
default: status = "";break;
}
document.msgFLG = true;
}
function chartInfo(msgNo,file) //v2.0
{
jsStr = "fpsFile = \'" + file + "\'";.
statusMsg(msgNo);
return eval(jsStr);
}
//-->
-A3-
Anhang
2.2
Programmcode
selectICON = imgName;
if (selectICON != 'ana') document['ana'].src =
if (selectICON != 'isdn') document['isdn'].src
if (selectICON != 'dual') document['dual'].src
if (selectICON != 'dsl') document['dsl'].src =
if (selectICON != 'lan') document['lan'].src =
if (selectICON != 'high') document['high'].src
SELECT.JS
<!-var selectINFO = "";
var selectICON = "";
var icons = 6;
var infos = 6;
var modes = 3;
var iconDir = "icons/";
var statusINFO = "choose your Web Connection Speed (kilobit per second)";
var statusFLG = 0;
var i;
var info = new Array(infos);
var icon = new Array(icons);
for (i=0; i < icon.length; ++i) {icon[i] = new Array(modes);}
function initIcons()
{
if (document.images)
{
icon[0][0] = new Image(); icon[0][0].src = iconDir + "0_analog.gif";
// OnLoad Off
icon[0][1] = new Image(); icon[0][1].src = iconDir + "1_analog.gif";
// OnMouseOver OnC
icon[0][2] = new Image(); icon[0][2].src = iconDir + "2_analog.gif";
// OnMouseOver OnC
icon[1][0] = new Image(); icon[1][0].src = iconDir + "0_isdn.gif";
icon[1][1] = new Image(); icon[1][1].src = iconDir + "1_isdn.gif";
icon[1][2] = new Image(); icon[1][2].src = iconDir + "2_isdn.gif";
icon[2][0] = new Image(); icon[2][0].src = iconDir + "0_dual.gif";
icon[2][1] = new Image(); icon[2][1].src = iconDir + "1_dual.gif";
icon[2][2] = new Image(); icon[2][2].src = iconDir + "2_dual.gif";
icon[3][0] = new Image(); icon[3][0].src = iconDir + "0_dsl.gif";
icon[3][1] = new Image(); icon[3][1].src = iconDir + "1_dsl.gif";
icon[3][2] = new Image(); icon[3][2].src = iconDir + "2_dsl.gif";
icon[4][0] = new Image(); icon[4][0].src = iconDir + "0_lan.gif";
icon[4][1] = new Image(); icon[4][1].src = iconDir + "1_lan.gif";
icon[4][2] = new Image(); icon[4][2].src = iconDir + "2_lan.gif";
icon[5][0] = new Image(); icon[5][0].src = iconDir + "0_high.gif";
icon[5][1] = new Image(); icon[5][1].src = iconDir + "1_high.gif";
icon[5][2] = new Image(); icon[5][2].src = iconDir + "2_high.gif";
info[0] = new Image(); info[0].src = iconDir + "i_info.gif";
// OnLoad Off
info[1] = new Image(); info[1].src = iconDir + "i_analog.gif";
// OnMouseOver OnClick O
info[2] = new Image(); info[2].src = iconDir + "i_isdn.gif";
// OnMouseOver OnClick On
info[3] = new Image(); info[3].src = iconDir + "i_dual.gif";
info[4] = new Image(); info[4].src = iconDir + "i_dsl.gif";
info[5] = new Image(); info[5].src = iconDir + "i_lan.gif";
info[6] = new Image(); info[6].src = iconDir + "i_high.gif";
}
}
function changeIcon(imgName,newImg,swap)
{
if (document.images)
{
if (selectICON != imgName) document[imgName].src = eval(newImg + ".src");
if (swap == 2) selectINFO = selectICON;
else selectINFO = imgName;
switch (selectINFO)
{
case "ana" :
document['sel_INFO'].src = eval('info[1]' + ".src"); break;
case "isdn" :
document['sel_INFO'].src = eval('info[2]' + ".src"); break;
case "dual" :
document['sel_INFO'].src = eval('info[3]' + ".src"); break;
case "dsl" :
document['sel_INFO'].src = eval('info[4]' + ".src"); break;
case "lan" :
document['sel_INFO'].src = eval('info[5]' + ".src"); break;
case "high" :
document['sel_INFO'].src = eval('info[6]' + ".src"); break;.
default
:
document['sel_INFO'].src = eval('info[0]' + ".src"); break;
}
if (swap == 0)
{
eval('icon[0][0]' +
= eval('icon[1][0]'
= eval('icon[2][0]'
eval('icon[3][0]' +
eval('icon[4][0]' +
= eval('icon[5][0]'
".src");
+ ".src");
+ ".src");
".src");
".src");
+ ".src");
}
}
}
function defMsg() {
status=statusINFO;
document.statusFLG = true;
}
function clrMsg() {
status = "";
document.statusFLG = true;
}
//-->
2.3
SELECT.HTM
<html>
<head>
<title>Select bar</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" src="select.js" type="text/javascript">
</script>
</head>
<body bgcolor=" DDDDDD" onLoad="initIcons()">
<img src="icons/bar_0.GIF" hspace=0 vspace=0 border=0 width="140" height="100"><br>
<img src="icons/bar_1.GIF" hspace=0 vspace=0 border=0 width="140" height="160"><br>
<a href="analog.htm" target="main"
onClick="changeIcon('ana', 'icon[0][2]',0);"
onMouseOver="changeIcon('ana', 'icon[0][1]',1); defMsg(); return true; return document.sta
onMouseOut="changeIcon('ana', 'icon[0][0]',2); clrMsg()">
<img name="ana" SRC="icons/0_analog.gif" border=0 alt="Analog Modem"></a><br>
<a href="isdn.htm" target="main"
onClick="changeIcon('isdn', 'icon[1][2]',0);"
onMouseOver="changeIcon('isdn', 'icon[1][1]',1); defMsg();return document.statusFLG"
onMouseOut="changeIcon('isdn', 'icon[1][0]',2); clrMsg()">
<img name="isdn" SRC="icons/0_isdn.gif" border=0 alt="Integrated Services Digital Network
<a href="dual.htm" target="main"
onClick="changeIcon('dual', 'icon[2][2]',0);"
onMouseOver="changeIcon('dual', 'icon[2][1]',1); defMsg();return document.statusFLG"
onMouseOut="changeIcon('dual', 'icon[2][0]',2); clrMsg()">
<img name="dual" SRC="icons/0_dual.gif" border=0 alt="Two Parallel ISDN Lines"></a><br>
<a href="dsl.htm" target="main"
onClick="changeIcon('dsl', 'icon[3][2]',0);"
onMouseOver="changeIcon('dsl', 'icon[3][1]',1); defMsg();return document.statusFLG"
onMouseOut="changeIcon('dsl', 'icon[3][0]',2); clrMsg()">
<img name="dsl" SRC="icons/0_dsl.gif" border=0 alt="Digital Subscriber Line"></a><br>
<a href="lan.htm" target="main"
onClick="changeIcon('lan', 'icon[4][2]',0);"
onMouseOver="changeIcon('lan', 'icon[4][1]',1); defMsg();return document.statusFLG"
onMouseOut="changeIcon('lan', 'icon[4][0]',2); clrMsg()">
<img name="lan" SRC="icons/0_lan.gif" border=0 alt="Local Area Network"></a><br>
<a href="high.htm" target="main"
onClick="changeIcon('high', 'icon[5][2]',0);"
onMouseOver="changeIcon('high', 'icon[5][1]',1); defMsg();return document.statusFLG"
onMouseOut="changeIcon('high', 'icon[5][0]',2); clrMsg()">
<img name="high" SRC="icons/0_high.gif" border=0 alt="Local Storage & Distribution"></a><
<img src="icons/i_info.GIF" width="140" height="229" name="sel_INFO"><br>
<img src="icons/bar_2.GIF" width="140" height="400">
</body>
</html>
-A4-
Anhang
2.4
Programmcode
INDEX.HTM
<html>
<head>
<title>Video Internet Demonstration Aid</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<frameset cols="16%,*%" frameborder="NO" border="0">
<frame src="select.htm" frameborder="NO" scrolling="NO" name="select" marginwidth="0" mar
<frameset rows="20%,80%" frameborder="NO" border="0">
<frame src="head.htm" scrolling="NO" frameborder="NO" name="Head">
<frame src="analog.htm" frameborder="NO" name="main">
</frameset>
</frameset>
<noframes><body bgcolor=" FFFFFF">
<a href="/index.htm">index</a> <a href="/index.htm">index</a>
</body></noframes>
</html>
2.5
chartTMP.HTM
<HTML>
<!-- Diese Template Seite generiert aktiv eine HTML Seite
zur Darstellung des Framediagramms zum entsprechenden Clip -->
<BODY leftmargin=0 topmargin=0 marginwidth=0 marginheight=0 bgcolor= C0C0C0 onLoad="self.focu
<SCRIPT LANGUAGE="JavaScript">
var title = "";
var codec = "";
var path = "";
var codName = "";
var seqNumber = 0;
var passed
= location.search ? unescape(location.search.substring(1)) + '&' : '';
var file
= passed ? passed.substring(0,passed.indexOf('&')) : 'default.gif';
passed
= passed.substring(passed.indexOf('&')+1);
var bitrate
= passed ? passed.substring(0,passed.indexOf('&')) : 'Default bitrate';
switch(bitrate)
{
case "analog": path = "../pics/chart/40k/" + file;
break;
case "isdn":
path = "../pics/chart/56k/" + file;
break;
case "dual":
path = "../pics/chart/112k/" + file;
break;
case "dsl":
path = "../pics/chart/300k/" + file;
break;
case "lan":
path = "../pics/chart/1000k/" + file;
break;
default:
path = "../pics/chart/40k/" + file;
break;
}
seqNumber = file.substr(5,2);
codec = file.substr(0,4);
switch(codec)
{
case "A263":
codName = "Apple H.263";
break;
case "DIVX":
codName = "DivX MPEG-4v3";
break;
case "IIND":
codName = "Intel Indeo Video";
break;
case "MPG2":
codName = "Reference MPEG-2 (DVD)";
break;
case "MPG4":
codName = "MS MPEG-4v3";
break;
case "RLG2":
codName = "Real Video G2";
break;
case "RLV8":
codName = "Real Video v8";
break;
case "SRS2":
codName = "Sorenson Video";
break;
case "VDOW":
codName = "VDOnet VDO Wave";
break;
case "WNM7":
codName = "MS Media Video7";
break;
default:
codName = "unknown Codec";
break;
}
var title = "BITRATEOVERVIEW - Sequence " + seqNumber + " coded by "+ codName;
document.write('<title>' + title + '</title>');
document.write('<IMG SRC="' + path + '">');
</SCRIPT>.</BODY>
</HTML>
-A5-
Anhang
Architekturen
3 ARCHITEKTUREN
3.1
Quicktime
3.1.1 Video Codecs
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Animation
Apple BMP
Apple Video
Cinepak
Component Video
DV - NTSC
DV - PAL
Graphics
H.261
H.263
Intel Indeo Video 3.2
Intel Indeo Video 4.4
Microsoft Video
Microsoft RLE
Motion JPEG A
Motion JPEG B
MPEG 1 (Mac OS)
None
Photo JPEG
Planar RGB
Streaming
•
•
•
•
H.261
H.263
Motion JPEG
Sorenson Video 2
3.1.2 Audio Codecs
•
•
•
•
•
•
•
•
•
•
•
•
•
24-bit Integer
32-bit Integer
32-bit Floating Point
64-bit Floating Point
ALaw 2:1
DVI 4:1
IMA 4:1
MACE 3:1
MACE 6:1
MS ADPCM
QDesign Music 2
QUALCOMM PureVoice
uLaw 2:1
Streaming
•
•
•
•
3.1.3 Spur Typen
•
•
•
•
•
•
•
•
•
Video
Sound
Music
Text
3D
Sprite
VR – virtual reality
Timecode
Tween, Base, Hint Tracks
-A6-
DVI 4:1
QDesign Music 2
QUALCOMM PureVoice
uLaw 2:1
Anhang
3.2
Architekturen
Windows Media Technologies
3.2.1 Video Codecs
•
•
•
•
•
Microsoft MPEG-4 Video 1
Microsoft MPEG-4 Video 2
Microsoft MPEG-4 Video 3
Windows Media Screen 7
ISO-MPEG-4 (version) 1
3.2.2 Audio Codecs
•
•
•
•
•
Windows Media Audio 1
Windows Media Audio 2
Windows Media Audio 7
Frauenhofer IIS MPEG Layer3 Codec
Voxware
3.2.3 Spur Typen
• Script (Visual Basic)
• Audio
• Video
3.3
Real System G2
3.3.1 Video Codecs
• Real Video G2
• Real Video V8
3.3.2 Audio Codecs
• Real Audio V2
• Real Audio V8
3.3.3 Spur Typen
•
•
•
•
•
•
Real Text
Real Text 3D
Real Pix
Script (SMIL)
RealAudio
RealVideo
-A7-
Anhang
Codeceigenschaften
4 CODECEIGENSCHAFTEN
4.1
Apple Video
Multimedia Architektur
Geeignetes Material
Farbumfang
Räumliche Kompression
Zeitliche Kompression?
Eigenschaften
Encoder Voraussetzungen
Decoder Voraussetzungen
Encoder Quelle
Decoder Quelle
Hersteller
4.2
Cinepak
Multimedia Architektur
Geeignetes Material
Farbumfang
Räumliche Kompression
Zeitliche Kompression?
Eigenschaften
Encoder Voraussetzungen
Decoder Voraussetzungen
Encoder Quelle
Decoder Quelle
Algorithmus
Farbraum
Hersteller
4.3
Video für Windows
PAL-Video
8,24 Bit Farbe oder Graustufen
slow
Ja
MacOS, Windows
MacOS, Windows
QuickTime
QuickTime
Vector Quantisierung
RGB
Apple, CTI
Clear Video
Multimedia Architektur
Farbumfang
Treiber (32 Bit)
Hersteller
4.4
Quicktime
Video
16 Bit Farbe
Asymmetrisch (ca. 7:1)
Ja
advanced data rate limiting mit Media Cleaner Pro 2.0
MacOS, Windows
MacOS, Windows
Quicktime
Quicktime
Apple
Video für Windows
8 Bit Farbe
vidc.ucod=clrvidcd.dll
Q-Team
escape videostudio
Multimedia Architektur
Geeignetes Material
Farbumfang
Räumliche Kompression
Zeitliche Kompression?
Eigenschaften
Encoder Voraussetzungen
Decoder Voraussetzungen
Encoder Quelle
Decoder Quelle
Hersteller
Video für Windows
Video
16 Bit Farbe
Schneller als Cinepak
Ja
Blacklined-Doubling Verfahren
Pentium, PowerMac
Pentium, PowerMac
Eidos Technologies
Frei verfügbar
Eidos Technologies
-A8-
Anhang
4.5
Codeceigenschaften
H.261
Multimedia Architektur
Geeignetes Material
Farbumfang
Räumliche Kompression
Zeitliche Kompression?
Eigenschaften
Encoder Vorraussetzungen
Decoder Vorraussetzungen
Encoder Quelle
Decoder Quelle
Algorithmus
Farbraum
Hersteller
Treiber (32 Bit)
4.6
H.263
Multimedia Architektur
Geeignetes Material
Farbumfang
Räumliche Kompression
Zeitliche Kompression?
Eigenschaften
Encoder Voraussetzungen
Decoder Voraussetzungen
Encoder Quelle
Decoder Quelle
Algorithmus
Treiber (32 Bit)
Hersteller
4.7
Video für Windows, Quicktime
Low-motion video
16 Bit Farbe
Symmetrisch, Echtzeit
Ja
MacOS, Windows
PowerMac, Pentium
QT Conferencing kit, Intel's ProShare videoconferencing, Microsoft
QT Conferencing kit, Intel's ProShare videoconferencing, Microsoft
Diskrete Kosinus Transformation (DCT),
Bewgungskompensation(H.261 war der erste video codec mit DCT)
4:2:0
Verschiedene, auch Apple und Microsoft
VIDC.M261=MSH261.DRV
Video für Windows, Quicktime
Low-motion video
16 Bit Farbe
Symmetrisch, Echtzeit
Ja
MacOS, Windows
PowerMac, Pentium
QuickTime 3, Microsoft NetShow (Vivo H.263),
Intel I263 mit NetCard, Shannon Communication
Systems (SCS) H.263+, Telenor R&D of Norway
QuickTime 3, Microsoft NetShow (Vivo H.263),
Intel I263 mit NetCard, Shannon Communication
Systems (SCS) H.263+, Telenor R&D of Norway
Diskrete Kosinus Transformation (DCT),
Bewgungskompensation basierend auf H.261
VIDC.VIVO=IVVIDEO.DLL
VIDC.I263=C:\WINDOWS\I263_32.DLL
VIDC.I420=C:\WINDOWS\I263_32.DLL
VIDC.M263=msh263.drv
Verschiedene, auch Apple, Microsoft, Intel
Microsoft Video 1
Multimedia Architektur
Farbumfang
Treiber (Win 3.x)
Treiber (32 Bit)
Hersteller
Video für Windows
8, 16 Bit Farbe
Vidc.msvc=msvidc.dll
Vidc.msvc=msvidc32.dll
Microsoft
-A9-
Anhang
4.8
Codeceigenschaften
MPEG
Multimedia Architektur
Geeignetes Material
Räumliche Kompression
Zeitliche Kompression?
Eigenschaften
Encoder Quelle
Decoder Quelle
Algorithmus
Hersteller
Treiber (Windows 95)
4.9
Video für Windows, Quicktime, Windows Media, Real
PAL/NTSC video
Moderat
Ja
Ab MPEG4 objektorientierte Kodierung möglich
MPEG4 Encoder in NetShow 3.0, u.a.
MPEG4 Decoder in NetShow 3.0, u.a.
Diskrete Kosinus Transformation (DCT),
Bewgungskompensation basierend auf H.263
Offener Standard
vidc.mpg4=msscrc32.dll
RealVideo G2
Multimedia Architektur
Geeignetes Material
Farbumfang
Räumliche Kompression
Zeitliche Kompression?
Eigenschaften
Encoder Voraussetzungen
Decoder Voraussetzungen
Encoder Quelle
Decoder Quelle
Treiber (Windows 95)
Treiber (32 Bit)
Hersteller
Real
Low-motion video, ab 24 kbps
32 Bit Farbe
Asymmetrisch
Ja
PowerMac, Pentium
PowerMac, Pentium
RealVideo Encoder kit oder Media Cleaner Pro
RealProducer Packet von RealNetworks
RealPlayer Installer
RealNetworks
4.10 RLE
Multimedia Architektur
Geeignetes Material
Farbumfang
Räumliche Kompression
Zeitliche Kompression?
Eigenschaften
Encoder Quelle
Decoder Quelle
Algorithmus
Treiber (Win 3.x)
Treiber (32 Bit)
Hersteller
Video für Windows
Animationen
8 Bit Farbe
Ja
Nein
Verlustlos
Windows 95
Windows 95
Run Length Encoding (Lauflängenkodierung nach LZW)
vidc.mrle=msrle.dll
vidc.mrle=msrle32.dll
Microsoft
- A 10 -
Anhang
Codeceigenschaften
4.11 Sorenson Video
Multimedia Architektur
Geeignetes Material
Farbumfang
Räumliche Kompression
Zeitliche Kompression?
Eigenschaften
Quicktime
Video, Animationen
24 Bit Farbe
Sehr Langsam
Ja
Developer Edition:
Temporal scalability,
Media Keys, watermarking,
variable bitrate encoding
Encoder Voraussetzungen PowerPC, Windows
Decoder Voraussetzungen WWW: PowerMac, Pentium
CD-ROM: PowerMac, Pentium
(120mhz for playback of 320x240 @ 15fps)
Basic Edition: QuickTime 3 and 4
Encoder Quelle
Developer Edition: Terran, Sorenson
Hardware-beschleunigte Version: Terran
Decoder Quelle
QuickTime 3 and 4
Algorithmus
Fortgeschrittene Vectorquantisierung mit Bewegungskompensation
Farbraum
YUV-9
Hersteller
Sorenson Vision, Inc.
4.12 VDO Wave
Multimedia Architektur
Räumliche Kompression
Zeitliche Kompression?
Eigenschaften
Encoder Quelle
Decoder Quelle
Algorithmus
Treiber (Win 3.x)
Treiber (32 Bit)
Hersteller
Video für Windows
Stark
Ja
Skalierbar
Microsoft Netshow 2.0
Microsoft Netshow 2.0
Wavelet
vidc.vdom=vdowave.drv
vidc.vdow=vdowave.drv
VDONet
- A 11 -
Anhang
Microsoft Four Character Codes
5 MICROSOFT FOUR CHARACTER CODES
5.1
Standard Codecs
Compressor
Code
MSVC or CRAM or WHAM
MRLE
IV31
IV32
CVID
ULTI
MJPG
IJPG
CYUV
YVU9
XMPG
MPGI
VIXL
MVI1
SPIG
PGVV
TMOT
DMB1
BW10
IV41
IV50
UCOD
VDOW
SFMC
QPEG
H261
M261
VIVO
M263
I263
MPG4
MP42
MP43
DIV3
DIV4
MWV1
Description
Microsoft Video 1
Microsoft Run Length Encoding
Indeo 3.1/3.2
Indeo 3.1/3.2
Cinepak (Radius)
Ultimotion (IBM)
Motion JPEG (Microsoft, Paradigm Matrix, video capture companies)
Intergraph JPEG
Creative YUV
Intel Indeo Raw YUV9
Editable (I frames only) MPEG (Xing)
Editable MPEG (Sigma Designs)
miro Video XL
Motion Pixels
Radius Spigot
Radius Video Vision
Duck TrueMotion S
Custom Format Used by Matrox Rainbow Runner. This appears to be a type of Motion
JPEG
Broadway I-Frame MPEG. Broadway is a Video Capture and Editing System,
including a video capture and MPEG compression board for the PC.
Indeo Interactive (Indeo 4.1 from Intel)
Indeo 5.x, including 5.0, 5.06, and 5.10
ClearVideo (Iterated Systems)
VDOWave (VDONet)
Surface Fitting Method (CrystalNet)
Q-Team Dr.Knabe 's QPEG video compressor
H.261
Microsoft H.261
Vivo H.263
Microsoft H.263
Intel "I.263" H.263
Microsoft MPEG-4
Microsoft MPEG-4 Version 2
Microsoft MPEG-4 Version 3
DivX MPEG-4 Video
DivX MPEG-4 Video
Aware Motion Wavelets Video Codec (not registered with Microsoft as of March 10, 2000)
- A 12 -
Anhang
5.2
Microsoft Four Character Codes
Durch Microsoft registrierte Codecs
Compressor
Code
ANIM
AUR2
AURA
BT20
BTCV
CC12
CDVC
CHAM
CPLA
CVID
CWLT
DUCK
DVE2
DXT1
DXT2
DXT3
DXT4
DXT5
DXTC
FLJP
GWLT
H260
H261
H262
H263
H264
H265
H266
H267
H268
H269
I263
I420
IAN
ICLB
ILVC
ILVR
IRAW
IV30
IV31
IV32
IV33
IV34
IV35
IV36
IV37
IV38
IV39
IV40
IV41
IV42
IV43
IV44
IV45
IV46
Description
Intel - RDX
AuraVision - Aura 2 Codec - YUV 422
AuraVision - Aura 1 Codec - YUV 411
Brooktree – MediaStream codec
Brooktree – Composite Video codec
Intel - YUV12 codec
Canopus - DV codec
Winnov, Inc. - MM_WINNOV_CAVIARA_CHAMPAGNE
Weitek - 4:2:0 YUV Planar
Supermac - Cinepak
reserved
Duck Corp. - TrueMotion 1.0
InSoft - DVE-2 Videoconferencing codec
reserved
reserved
reserved
reserved
reserved
DirectX Texture Compression
D-Vision - Field Encoded Motion JPEG With LSI Bitstream Format
reserved
Intel - Conferencing codec
Intel - Conferencing codec
Intel - Conferencing codec
Intel - Conferencing codec
Intel - Conferencing codec
Intel - Conferencing codec
Intel - Conferencing codec
Intel - Conferencing codec
Intel - Conferencing codec
Intel - Conferencing codec
Intel - I263
Intel - Indeo 4 codec
Intel - RDX
InSoft - CellB Videoconferencing codec
Intel - Layered Video
ITU-T - H.263+ compression standard
Intel - YUV uncompressed
Intel - Indeo Video 3 codec
Intel - Indeo Video 3.1 codec
Intel - Indeo Video 3 codec
Intel - Indeo Video 3 codec
Intel - Indeo Video 3 codec
Intel - Indeo Video 3 codec
Intel - Indeo Video 3 codec
Intel - Indeo Video 3 codec
Intel - Indeo Video 3 codec
Intel - Indeo Video 3 codec
Intel - Indeo Video 4 codec
Intel - Indeo Video 4 codec
Intel - Indeo Video 4 codec
Intel - Indeo Video 4 codec
Intel - Indeo Video 4 codec
Intel - Indeo Video 4 codec
Intel - Indeo Video 4 codec
- A 13 -
Anhang
5.3
Microsoft Four Character Codes
IV47
Intel - Indeo Video 4 codec
IV48
IV49
IV50
MP42
MPEG
MRCA
MRLE
MSVC
NTN1
qpeq
RGBT
RT21
RVX I
SDCC
SFMC
SMSC
SMSD
SPLC
SQZ2
SV10
TLMS
TLST
TM20
TMIC
TMOT
TR20
V422
V655
VCR1
VIVO
VIXL
VLV1
WBVC
XLV0
YC12
YUV8
YUV9
YUYV
ZPEG
Intel - Indeo Video 4 codec
Intel - Indeo Video 4 codec
Intel - Indeo 5.0
Microsoft - MPEG-4 Video Codec V2
Chromatic - MPEG 1 Video I Frame
FAST Multimedia - Mrcodec
Microsoft - Run Length Encoding
Microsoft - Video 1
Nogatech - Video Compression 1
Q-Team - QPEG 1.1 Format video codec
Computer Concepts - 32 bit support
Intel - Indeo 2.1 codec
ntel - RDX
Sun Communications - Digital Camera Codec
Crystal Net - SFM Codec
Radius - proprietary
Radius - proprietary
Splash Studios - ACM audio codec
Microsoft - VXtreme Video Codec V2
Sorenson - Video R1
TeraLogic - Motion Intraframe Codec
TeraLogic - Motion Intraframe Codec
Duck Corp. - TrueMotion 2.0
TeraLogic - Motion Intraframe Codec
Horizons Technology - TrueMotion Video Compression Algorithmus
Duck Corp. - TrueMotion RT 2.0
Vitec Multimedia - 24 bit YUV 4:2:2 format (CCIR 601).
Vitec Multimedia - 16 bit YUV 4:2:2 format.
ATI - VCR 1.0
Vivo - H.263 Video Codec
Miro Computer Products AG - for use with the Miro line of capture cards.
Videologic - VLCAP.DRV
Winbond Electronics - W9960
NetXL, Inc. - XL Video Decoder
Intel - YUV12 codec
Winnov, Inc. - MM_WINNOV_CAVIAR_YUV8
Intel - YUV9
Canopus - YUYV compressor
Metheus - Video Zipper
Codecs für DIB Kompression
Compressor
Code
CYUV
FVF1
IF09
JPEG
MJPG
PHMO
ULTI
VDCT
VIDS
YU92
Description
Creative Labs, Inc - Creative Labs YUV
Iterated Systems, Inc. - Fractal Video Frame
Intel - Intel Intermediate YUV9
Microsoft - Still Image JPEG DIB
Microsoft - Motion JPEG DIB Format
IBM - Photomotion
IBM - Ultimotion
Vitec Multimedia - Video Maker Pro DIB
Vitec Multimedia - YUV 4:2:2 CCIR 601 for V422
Intel - YUV
- A 14 -
Credits
Danksagung
An dieser Stelle möchte ich allen danken, die zum Entstehen dieser Arbeit
beigetragen haben. Ich danke Herrn Prof. Dr. Konrad Walliser für seine Betreuung
dieser Arbeit von Seiten der Fachhochschule München.
Vielen Dank an Herrn Dipl.-Ing. Gerhard Stoll und Herrn Dipl.-Phys. Philip
Mackensen, meine Betreuer im Institut. Ich möchte auch allen anderen Mitarbeitern
der Abteilung AS des Instituts für Rundfunktechnik danken, die mir immer mit Rat
und einigem Humor zur Seite gestanden haben, allen voran auch Herrn Olliver
Dreier, welcher mich als Praktikant unterstützte und Herrn Michael Wechsel, meinem
freundlichen Zimmerkollegen.
Ein ganz besonders herzlicher Dank geht an Stephanie, "Martin 2" und meine lieben
Eltern, die mir geholfen und beigestanden haben.
-C1-
Credits
Lebenslauf des Autors
Name:
Geburtstag:
Geburtsort:
Eltern:
Martin Schmalohr
25. Mai 1974
München
Vater: Gerhard Schmalohr
Mutter: Edith Schmalohr
Familienstand:
ledig
Staatsangehörigkeit: deutsch
Anschrift:
Defreggerstr. 29, 85540 Haar
Schulbesuch:
1980 – 1984 .... Grundschule Haar am Jagdfeldring
1984 – 1993 .... Ernst-Mach-Gymnasium Haar
Leistungskurse: Wirtschaft/Recht, Physik
Facharbeit: Physik, Rechnergestützte
Geschwindigkeitsmessung
Abschluß:
Abitur
Studium:
Studium der Elektrotechnik und Informationstechnik
1993 – 1997 .... Technische Universität München
Vordiplom: WS1996/97
1997 – 2000 .... Fachhochschule München
Schwerpunkt Datentechnik
2000 ................ Diplomarbeit am Institut für Rundfunktechnik
Praktikum:
1993 ................ Henschel & Co. KG, Mechanische Grundpraxis
1997 ................ Deutsches Museum München, Elektroniklabor
1999 ................ Siemens AG-ZT, F&E Radarsysteme
Berufserfahrung:
1990 – 1993 .... Mc Donald’s, Rotation in Service und Produktion
1997 – 1998 .... Tele München, Fernseh GmbH & Co
Dokumentation interner Datenbankstrukturen
München, den 27. Dezember 2000
-C2-