Roland Schmitz · Roland Kiefer Johannes Maucher · Jan Schulze Thomas Suchy
Kompendium Medieninformatik Mediennetze Mit 106 Abbildungen und 11 Tabellen
123
Roland Schmitz Roland Kiefer Johannes Maucher Jan Schulze Thomas Suchy Hochschule der Medien Nobelstr. 10 70569 Stuttgart
[email protected] www.medieninformatik.hdm-stuttgart.de
Bibliografische Information der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.ddb.de abrufbar. ISSN 1439-3107 ISBN-10 3-540-30224-7 Springer Berlin Heidelberg New York ISBN-13 978-3-540-30224-7 Springer Berlin Heidelberg New York Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes. Springer ist ein Unternehmen von Springer Science+Business Media springer.de © Springer-Verlag Berlin Heidelberg 2006
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Text und Abbildungen wurden mit größter Sorgfalt erarbeitet. Verlag und Autor können jedoch für eventuell verbliebene fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung übernehmen. Satz und Herstellung: LE-TEX, Jelonek, Schmidt & Vöckler GbR, Leipzig Umschlaggestaltung: KünkelLopka Werbeagentur, Heidelberg Gedruckt auf säurefreiem Papier 33/3100 YL – 5 4 3 2 1 0
Einleitung
„The medium is the message“ – treffender und kürzer, als es Herbert Marshall McLuhan in den 60er Jahren des letzten Jahrhunderts auf den Punkt gebracht hat, kann man die wechselseitige Beziehung zwischen dem Inhalt einer Kommunikation und ihrer Präsentationsform auch heute nicht beschreiben. Versucht man davon ausgehend, den zu Grunde liegenden Sachverhalt etwas präziser zu fassen, so stellt man fest: Die Techniken zur Erzeugung, zum Transport, zur Speicherung und zur Darstellung einer Botschaft sind ebenso entscheidend für ihre Wahrnehmung, wie ihr eigentlicher Inhalt. Damit wird klar, was der viel benutzte (und strapazierte) Begriff der „Medien“ eigentlich bedeutet: Medien sind dem Wortsinn nach „Vermittler“. Sie dienen der Speicherung, Darstellung und Übermittlung von Informationen. Im heutigen Sprachgebrauch meint man mit Medien aber häufig auch die Informationen selbst und unterscheidet nicht deutlich zwischen der Information und ihrem Träger. Die übertragenen Informationen können in unterschiedlich strukturierter Form und Codierung vorliegen. Eine Strukturierung in Medien kann auf unterschiedliche Arten herbeigeführt werden, etwa mittels ergänzender Informationen, so genannter Metadaten, oder durch Eingliederung in eine Ordnungsstruktur, etwa eine hierarchische Gruppierung. Die Medieninformatik beschäftigt sich speziell mit digitalen Medien, das sind zum einen digital (also in Form von Bits) codierte Arten von Informationen, zum anderen die Träger dieser Informationen. Die Art der Codierung, das heißt die Vorschrift, wie die ursprünglichen Informationen in Bitform darzustellen sind (und wie umgekehrt die Bits als Information zu interpretieren sind) bestimmt über den Medientyp, wie zum Beispiel Text, Dokument, Bild, Audio, Video. Die Digitalisierung stellt dabei einen entscheidenden Schritt dar: Durch sie wird es möglich, die Informationen von ihrem physikalischen Träger zu trennen. Diese Trennung trägt maßgeblich zur immer weiter wachsenden Mobilität unserer Kommunikation und unseres Arbeitslebens
Einleitung
Medien
Medieninformatik
■ ■ ■
V
Das Buch
VI
■ ■ ■
insgesamt bei. Die Informatik stellt hierfür die theoretischen Grundlagen und Methoden der Informationsverarbeitung auf Rechnersystemen zur Verfügung. Die Medieninformatik zeigt, wie diese Methoden speziell auf digitale Medien anzuwenden sind. Damit prägt die Medieninformatik unseren Alltag, weil sie letztlich darüber mitentscheidet, was und wie viel aus der täglichen Informationsflut in unseren Köpfen ankommt. Die Beherrschung ihrer Konzepte und Techniken ist für unser aller Zukunft maßgebend. Aus diesem Grund versteht sich die Medieninformatik auch nicht nur als rein technische Disziplin, sondern umfasst auch gestalterische, psychologische und ökonomische Aspekte. Diese Vielfalt spiegelt sich auch in den unterschiedlichen Inhalten der vielen verschiedenen, an deutschen Hochschulen angebotenen Studiengängen mit dem Namen „Medieninformatik“ wider. Das „Kompendium der Medieninformatik“ befasst sich vor allem mit den technischen Aspekten der Medieninformatik und bildet damit den Schwerpunkt der Lehrinhalte im Studienbereich Medieninformatik an der Hochschule der Medien in Stuttgart ab. Trotz dieses Schwerpunkts auf den Informatik-Aspekten der Medieninformatik unterscheidet sich das Kompendium der Medieninformatik inhaltlich deutlich von klassischen Lehrbüchern der Informatik. Die Grundlagen der Informatik werden nur insoweit behandelt, als sich durch die Anwendung auf Mediendaten neue und spezifische Gesichtspunkte ergeben. In allen anderen Fällen gehen wir davon aus, dass der Leser mit den Grundlagen der Informatik bereits vertraut ist. Zielgruppen dieses Buches sind somit Studenten der Informatik und Medieninformatik im Hauptstudium sowie Praktiker, die bereits Erfahrung mit den Anwendungen der Informatik in der Industrie gesammelt haben und sich nun speziell über Anwendungen in den Medien informieren wollen. Der vorliegende erste Teil des Kompendiums der Medieninformatik beschäftigt sich mit „Mediennetzen“. Damit sind die Techniken gemeint, die beim Transport von Informationen durch unterschiedliche Netze zum Einsatz kommen. Es geht also um die „Verpackung“ und den Transport digitalisierter Informationen. Kompressionsverfahren, Mediensicherheit, Multimedianetze und Mobile Netze sind hier die Stichworte. Darauf aufsetzend behandeln wir in einem zweiten Teil des Kompendiums Aspekte der praktischen Informatik und ihre Anwendung in der Medientechnik, wie die Entwicklung von Multimedia-Anwendungen, die Grundlagen der Computergrafik, Theorie und Praxis von Mediendatenbanken. Hinzu kommen einige ausgewählte Anwendungen der Medieninformatik wie die Content-Related-Technologien, mit denen mediale Informationen in möglichst effizienter Weise organisiert, strukturiert und an die richtigen Empfänger verteilt werden können.
Einleitung
Wir begleiten in diesen beiden Teilen also die digitalen Mediendaten auf ihrem Weg von der Erzeugung und Kodierung über ihren Transport durch drahtgebundene oder drahtlose Netze bis hin zum Endnutzer und decken damit eine ganze Wertschöpfungskette ab. Die Autoren des Kompendiums sind allesamt ausgewiesene Experten ihres Fachs und stehen (oder standen) in aktiver Lehrtätigkeit an der Hochschule der Medien Stuttgart. Die Inhalte des Kompendiums basieren auf Lehrveranstaltungen, die von den Autoren im Rahmen der Studiengänge Medieninformatik (Bachelor/Master) und Information Systems (Bachelor/Master) gehalten werden. Wir danken unseren Studenten für zahlreiche wertvolle Kommentare und Verbesserungsvorschläge zu diesen Lehrveranstaltungen. Ohne diese Anregungen wäre dieses Buch nicht realisierbar gewesen.
Einleitung
■ ■ ■
VII
Inhaltsverzeichnis
1
Kompressionsverfahren für Video und Audio.............................. 1 1.1 Einführung in die Informationstheorie ................................. 2 1.2 Grundlagen der Datenkompression....................................... 4 1.3 Elementare Verarbeitungsschritte.......................................... 5 1.3.1 Unterabtastung und Quantisierung............................ 6 1.3.2 Entropiecodierung ........................................................ 8 1.3.3 Prädiktion..................................................................... 11 1.3.4 Signaltransformationen.............................................. 12 1.4 Medienspezifische Verarbeitungsschritte ........................... 17 1.4.1 Interframe-Kompression ........................................... 17 1.4.2 Psychoakustische Kompression................................ 20 1.5 Codecs im Überblick............................................................... 23 1.5.1 Video-Codecs............................................................... 24 1.5.2 Audio-Codecs .............................................................. 27 1.6 Die Standards JPEG und JPEG 2000 ..................................... 29 1.6.1 JPEG .............................................................................. 29 1.6.2 JPEG 2000 und Motion JPEG 2000 ............................ 35 1.7 Videokompression mit MPEG .............................................. 38 1.7.1 MPEG-1......................................................................... 39 1.7.2 MPEG-2......................................................................... 44 1.7.3 MPEG-4......................................................................... 50 1.8 Audiokompression mit MPEG.............................................. 60 1.8.1 MPEG-1 Audio............................................................. 61 1.8.2 MPEG-4 Audio Lossless Coding................................ 67 1.9 Verfahren der Sprachkompression ...................................... 70 1.9.1 Signalformcodierer ..................................................... 71 1.9.2 Parametrische Codecs................................................. 73 1.9.3 Hybride Codecs ........................................................... 74 Literatur ............................................................................................. 78
Inhaltsverzeichnis
■ ■ ■
IX
X
■ ■ ■
2
Mediensicherheit ............................................................................. 83 2.1 Einführung .............................................................................. 84 2.1.1 Sicherheitsanforderungen für Digitale Medien...... 84 2.1.2 Sicherheitsmechanismen........................................... 85 2.2 Digitale Wasserzeichen.......................................................... 92 2.2.1 Anwendungsgebiete für Digitale Wasserzeichen ... 93 2.2.2 Einbettungstechniken ................................................ 97 2.2.3 Angriffe ...................................................................... 106 2.3 DRM-Systeme ....................................................................... 108 2.3.1 Komponenten von DRM-Systemen ....................... 109 2.3.2 Mobile DRM-Systeme .............................................. 112 2.3.3 Angriffe auf DRM-Systeme ..................................... 116 2.3.4 Kommerzielle DRM-Systeme.................................. 117 2.3.5 Ökonomische und Rechtliche Aspekte.................. 121 2.4 Ausblick ................................................................................. 123 Literatur........................................................................................... 124
3
Multimedia-Netze.......................................................................... 3.1 Einführung ............................................................................ 3.2 Multimedia-Transportnetze................................................ 3.2.1 Einleitung................................................................... 3.2.2 High-Speed in Metronetzen .................................... 3.2.3 High-Speed im Weitverkehrsnetz .......................... 3.3 Quality of Service (QoS) ...................................................... 3.3.1 Einführung................................................................. 3.3.2 Problemstellungen und Lösungsansätze............... 3.3.3 ATM-QoS................................................................... 3.3.4 IP-QoS in Weitverkehrsnetzen ............................... 3.4 Next Generation Networks NGN........................................ 3.4.1 Einleitung................................................................... 3.4.2 Voice-over-IP ............................................................ 3.4.3 IP Next Generation – IPv6....................................... 3.4.4 Multicast..................................................................... 3.4.5 Fazit ............................................................................ Literatur...........................................................................................
127 127 129 129 130 133 143 143 145 148 151 156 156 159 176 180 181 181
4
Mobile Multimedia........................................................................ 4.1 Begriffsbestimmungen......................................................... 4.2 Dienste und Architekturen zukünftiger mobiler Multimedia Netze ................................................................. 4.2.1 Mobilität und Multimedia – Anforderungen........ 4.2.2 Mobile Netze der Gegenwart................................... 4.2.3 Architektur zukünftiger mobiler All-IP Netze am Beispiel des UMTS Release 5 ............................
183 185
Inhaltsverzeichnis
186 186 190 202
4.3 Entwicklung Mobiler Multimedia-Anwendungen............ 208 4.3.1 Mobile Multimedia Endgeräte................................. 209 4.3.2 Mobile Multimedia Software-Plattformen............. 213 4.3.3 Mobile Multimedia Datenformate .......................... 272 Literatur ........................................................................................... 280 Autorenverzeichnis ................................................................................. 285 Index.......................................................................................................... 287
Inhaltsverzeichnis
■ ■ ■
XI
Abkürzungen
3GPP 3GPP2 AAC AAL AAZ ABR AC-3 ACELP ADM ADPCM AIS ALS AMR AMR-WB APS ASF ATM AU AUG AVC AVI BAB BBC B-Frame CBR CDV CDVT CELP CER CIDR CLP CLR CRC CS CS-ACELP CVR DAB DBR DCC DCI
3rd Generation Partnership Project 3rd Generation Partnership Project 2 Advanced Audio Coding ATM Adaption Layer Advanced Audio Zip Available Bit Rate Audio Coding 3 Algebraic Code Excited Linear Prediction Add Drop Multiplexer Adaptive Differential Pulse Code Modulation Alarm Indication Signal Audio Lossless Coding Adaptive Multirate Adaptive Multirate Wideband Automatic Protection Switching Advanced Streaming/Systems Format Asynchronous Transfer Mode Administrative Unit Administrative Unit Group Advanced Video Coding Audio Video Interleave Binary Alpha Block British Broadcasting Company Bidirectionally predicted Frame Constant Bit Rate Cell Delay Variation Cell Delay Variation Tolerance Code Excited Linear Prediction Cell Error Ratio Classless Inter Domain Routing Cell Loss Priority Cell Loss Ratio Cyclic Redundancy Check Call Server Conjugate Structure Algebraic Code Excited Linear Prediction Cell Delay Variation Digital Audio Broadcast Deterministic Bit Rate Digital Compact Cassette Digital Cinema Initiatives
Abkürzungen
■ ■ ■
XIII
DCT DECT DiffServ DRM DS DSCP DSCP DVB-S DVB-T DVD DVMRP E-ADPCM ECC EDGE EFR ENUM ES FFT FIR FR FWT GFC GFP GOP GPRS GS GSM HD HILN HR HVXC IDCT IEC IETF I-Frame IIR IIS IMS IMS IntServ IP ISDN ISO ITU ITU JBIG JPEG JVT LAN LCAS LD-CELP LDP LER
XIV
■ ■ ■
Abkürzungen
Diskrete Kosinustransformation Digital Enhanced Cordless Telecommunications Differentiated Services Digital Radio Mondiale Differentiated Services Differentiated Services Code Point DiffServ Code Point Digital Video Broadcast Satellite (MPEG-2) Digital Video Broadcast Terrestrial Digital Versatile Disc Distance Vector Multicast Routing Protocol Enhanced Adaptive Differential Pulse Code Modulation Embedded Communication Channel Enhanced Data Rates for GSM Evolution Enhanced Full Rate TElephone NUmber Mapping Elementary Stream Fast Fourier Transform Finite Impulse Response Full Rate Fast Wavelet Transform Generic Flow Control Generic Frame Procedure Group Of Pictures General Packet Radio Services Guaranteed Service Global System for Mobile Communications High Definition Harmonic and Individual Lines and Noise Half Rate Harmonic Vector Excitation Coding Inverse DCT International Electrotechnical Commission Internet Engineering Task Force Intra-Frame Infinite Impulse Response Fraunhofer Institut für integrierte Schaltungen IP Multimedia Subsystem IP Multimedia System Integrated Services Internet Protocol Integrated Services Digital Network International Organization for Standardization International Telecommunications Union Internation Telecommunication Union Joint Bi-Level Image Group Joint Photographic Experts Group Joint Video Team Local Area Network Link Capaciyt Adjustment Scheme Low-Delay Code Excited Linear Prediction Label Distribution Protocol Label Edge Router
LPAC LPC LSR MA MAC MAN MCU MDCT MELPe MGC MJPEG 2000 MJPEG MMD MMS MOS MOS MP3 MPEG MPEG-LA MPLS MP-MLQ MSOH MTU NAL NAPT NAPTR NGN OAM OSPF PCM PCR PCR PDH P-Frame PHB PHB PIM PNS POH PVC QoS RFC RPE-LTP RPR RSOH RSVP RSVP RTCP RTP RTP RTSP SAR SB-ADPCM
Lossless Predictive Audio Coding Linear Prediction Coefficients Label Switch Router Monkey's Audio Media Access Control Metropolitan Area Network Multipoint Control Unit Modified DCT Enhanced Mixed Excitation Linear Prediction Media Gateway Controller Motion JPEG 2000 Motion JPEG Multimedia Domain Multimedia Messaging Service Mean Opinion Score Mean Opinion Score MPEG Audio Layer III Moving Picture Experts Group MPEG Licensing Authority Multiprotocol Label Switching Multipulse Maximum Likelihood Quantization Multiplexer Section Overhead Maximum Transmission Unit Network Abstraction Layer Naming Authority Pointer Records Naming Authority Pointer Records Next Generation Network Operation, Administration and Management Open Shortest Path First Pulse Code Modulation Peak Cell Rate Peak Cell Rate Plesiochronous Digital Hierarchy Predicted Frame Per-hop-behaviour Per Hob Behaviour Protocol Independant Multicast Perceptual Noise Substitution Path Overhead Permanent Virtual Channel Quality of Service Request for Comment Regular Pulse Excitation with Long-Term Prediction Resilient Packet Ring Regenerator Section Overhead Resource Reservation Protocol Resource Reservation Protocol Real Time Transmission Control Protocol Real-Time Transport Protocol Real-Time-Protocol Real Time Streaming Protocol Segmentation and Reassemblation Subband Adaptive Differential Pulse Code Modulation
Abkürzungen
■ ■ ■
XV
SDDS SDH SDP SIP SIP SMPTE SOH SONET STANAG STM STS SVC TCP TMN TOS TU TUG UAC UAS UBR UBR UDP VBR VBR VC VC-1 VCAT VCL VLAN VMR VMR-WB VO VOL VOP VPN VQEG VRML VS VSELP WAN WM WMA WMV
XVI
■ ■ ■
Abkürzungen
Sony Dynamic Digital Sound Synchronous Digital Hierarchy Session Description Protocol Session Initiation Protocol Session Initiation Protocol Society of Motion Picture Engineers Section Overhead Synchronous Optical Network Standardization Agreement Synchronous Transfer Module Synchronous Transport Signal Switched Virtual Channel T ransmission Control Protocol Telecommunications Management Network Type of Service Tributary Unit Group Tributary Unit Group User Agent Client User Agent Server Unspecified Bit Rate Unspecified Bit Rate User Datagram Protocol Variable Bit Rate Variable Bit Rate Virtual Container Video Coding 1 Virtual Concatenation Video Coding Layer Virtual LAN Variable Multirate Variable Multirate Wideband Video Object Video Object Layer Video Object Plane Virtual Private Network Video Quality Experts Group Virtual Reality Modeling Language Visual Sequence Vector Sum Excited Linear Prediction Wide Area Network Windows Media schnelle Wavelet-Transformation Audio Windows Media Video
1 Kompressionsverfahren für Video und Audio Jan Schulz
Kontinuierliche Medien wie Audio- und Videosequenzen stellen in Bezug auf erforderliche Datenrate und benötigten Speicherplatz hohe Anforderungen an die verarbeitenden Systeme. Beispielsweise besitzt eine unkomprimierte Bildsequenz mit der Auflösung von 640 u 480 Pixeln bei einer Bildrate von 25 Bildern pro Sekunde und einer Farbtiefe von 8 Bit pro RGB-Kanal eine Datenrate von:
Motivation für Datenkompression
640 480 25 Hz 8 Bit/Kanal 3 Kanäle = 184.320.000 Bit/s | 184 MBit/s.
10 Minuten einer solchen Bildsequenz benötigen Speicherplatz im zweistelligen Gigabyte-Bereich. Um also Audio- und Videosequenzen übertragen, verarbeiten und speichern zu können, ist der Einsatz effizienter Kompressionsverfahren fast immer unverzichtbar. Dies gilt für den klassischen Fernsehbereich ebenso wie z. B. für die Wachstumsbranche der Mobilen Multimediadienste (vgl. Kap. 4). Unter der Sammelbezeichnung High Definition Television (HDTV) starten derzeit immer mehr Fernsehprogramme in höherer Auflösung, während Auflösung in der Mobilfunkbranche aufgrund der Größe der Endgeräte nur ein untergeordnetes Kriterium darstellt. Hier steht – mehr noch als bei HDTV – die Datenrate im Blickpunkt, die bei der ersten UMTS-Version z. B. bis zu 384 kBit/s beträgt. HDTV-Programme benötigen dagegen mit etwa 15 MBit/s (DVB-S) weitaus höhere Datenraten. Diese ausgeprägten Unterschiede beginnen mit der Annäherung von Kommunikations- und Unterhaltungsbranche auf dem Konsumentenmarkt zu schwinden, was sich auch bei neuen Verfahren der Datenkompression widerspiegelt. Während frühere Kompressionsstandards wie z. B. MPEG-1 stark auf einen bestimmten Einsatzzweck zugeschnitten wurden, sind neuere Standards wie bspw. H.264/AVC viel flexibler einsetzbar und werden in beiden oben genannten Branchen verwendet. Trotz aller Annäherung bei der Auslieferung von Medieninhalten hat die Film- und Fernsehbranche jedoch nach wie vor Bedarf an
1 Kompressionsverfahren für Video und Audio
Annäherung von Fernseh- und Kommunikationsbranche auf dem Konsumentenmarkt
Bleibender Bedarf an hoher Qualität
■ ■ ■
1
Inhalte des Kapitels
Verfahren, mit denen Produktionen möglichst ohne Informationsverluste komprimiert werden können. Dies ist z. B. an den Fidelity Range Extensions ersichtlich, welche H.264/AVC u. A. um eine Möglichkeit ergänzen, die volle Farbinformation des Videomaterials zu erhalten. Im Folgenden werden zunächst einige Konzepte der Informationstheorie und Begriffe aus dem Bereich der Datenkompression erläutert, bevor in Kap. 1.3 grundlegende Verarbeitungsschritte dargestellt werden, die sich in vielen Kompressionsverfahren wieder finden. Mit Interframe- und psychoakustischer Kompression werden in Kap. 1.4 zwei Verfahren für die Video- bzw. Audiokompression beleuchtet, welche medienspezifische Besonderheiten ausnutzen und in Kombination mit anderen Verarbeitungsschritten die Kompressionsrate stark erhöhen können. Kapitel 1.5 gibt einen Überblick über zahlreiche Kompressionsverfahren für Audio- und Videodaten, wobei insbesondere Standards der ITU und der MPEG-Gruppe betrachtet werden. Nachdem in Kap. 1.6 die JPEG-Kompression als Ausgangspunkt zahlreicher Verfahren zur Videokompression erläutert wurde, behandelt Kap. 1.7 ausführlich die Videokompression nach MPEG. Anhand von MPEG-1 wird hierbei die grundlegende Funktionsweise der MPEG-Standards dargestellt, so dass in den weiteren Unterkapiteln zu MPEG-2 und MPEG-4 darauf aufgebaut werden kann. Kapitel 1.8 widmet sich der Audiokompression und stellt mit MPEG-1 und MPEG-4 ALS Verfahren vor, denen zwei unterschiedliche Funktionsweisen zu Grunde liegen. Während MPEG-1 Audio ein psychoakustisches Modell verwendet, basiert MPEG-4 ALS im Wesentlichen auf Prädiktion. Als Spezialfall der Audiokompression wird in Kap. 1.9 abschließend die Sprachkompression erläutert. Weitere Informationen hierzu finden sich auch in Kap. 3.
1.1 Einführung in die Informationstheorie Informationstheorie
gedächtnislose Nachrichtenquelle
2
■ ■ ■
Die Informationstheorie wurde durch Shannon begründet, der die Übertragung von Zeichen zwischen Nachrichtenquelle und Nachrichtensenke betrachtete und daraus mathematische Methoden entwickelte, um Information quantitativ zu bestimmen [Shn48]. Erkenntnisse der Informationstheorie werden u. A. bei Entropiecodierungen (Kap. 1.3.2) eingesetzt, die Nachrichten möglichst kompakt darstellen und so Datenkompression erzielen. Im Folgenden werden diskrete gedächtnislose Nachrichtenquellen mit endlichem Alphabet betrachtet, die in der Informationstheorie einen Spezialfall darstellen. Eine solche Quelle versendet zu diskreten
1 Kompressionsverfahren für Video und Audio
Zeitpunkten t = 0, 1, ... die Symbole eines endlichen Alphabets A. Die Wahrscheinlichkeit für das Auftreten eines Zeichens z A zum Zeitpunkt t hängt dabei nicht vom Zeitpunkt t und nicht von den Zeichen ab, die zu den vergangenen Zeitpunkten 0, ..., t–1 gesendet wurden. Gedächtnislose Quellen sind in der Realität selten zu finden, da hier häufig Abhängigkeiten zwischen einzelnen Quellsymbolen bestehen. Sie genügen jedoch, um grundlegende Konzepte und Begriffe der Informationstheorie zu erläutern, wie sie im Weiteren benötigt werden. Für eine Verallgemeinerung der Konzepte sei z. B. auf [Gra98] verwiesen. Der Informationsgehalt I(z) eines Zeichens z A, das von einer diskreten gedächtnislosen Nachrichtenquelle mit endlichem Alphabet erzeugt wird, berechnet sich aus der Wahrscheinlichkeit, mit der die Nachrichtenquelle das Zeichen z produziert: I(z) log 2
Informationsgehalt
1 [bit] W(z)
Mit abnehmender Auftrittswahrscheinlichkeit eines Zeichens steigt folglich sein Informationsgehalt. Tritt mit W(z) = 1 stets dasselbe Zeichen auf, so ist sein Informationsgehalt gleich 0. Betrachtet man eine Symbolfolge z0, z1, ..., zn, so lässt sich der mittlere Informationsgehalt dieser Folge berechnen, der auch als Entropie erster Ordnung bezeichnet wird. Unter der Voraussetzung, dass die Elemente der Zeichenfolge statistisch nicht voneinander abhängen, ergibt sich diese Entropie H aus der Summe der gewichteten Informationsgehalte der Einzelelemente:
Entropie
n
H
¦ W ( z i ) I ( z i ) [bit/Symbol]
i 0
Den höchsten Wert hat die Entropie demnach bei einer Gleichverteilung der Symbole. Je stärker sich die Auftrittswahrscheinlichkeiten um einen bestimmten Wert konzentrieren, desto geringer ist die Entropie. Ist die gesamte Symbolfolge z0, z1, ..., zn schon im Voraus bekannt, so entspricht die Auftrittswahrscheinlichkeit eines Zeichens der relativen Häufigkeit des Zeichens in der Symbolfolge. Bei der Audio- und Videokompression ist dies jedoch selten der Fall, und die Wahrscheinlichkeiten müssen geschätzt werden. Wenn man die Elemente einer Zeichenfolge auf binäre Codewörter abbildet, wird die mittlere Codelänge interessant. Ist li die Länge des Codeworts, mit dem das Zeichen zi codiert wird, errechnet sich die mittlere CodelängeCli aus der Summe gewichteter Codewortlängen: li
mittlere Codelänge
n
¦ W ( zi ) li [Bit/Symbol]
i 0
1.1 Einführung in die Informationstheorie
■ ■ ■
3
Codierungsredundanz
Die Differenz zwischen Entropie und mittlerer Codelänge wird Codierungsredundanz genannt. Shannon zeigte, dass immer ein Code existiert, dessen mittlere Codelänge kleiner als H+1 ist. Hohe Redundanz ist bei der Datenkompression kontraproduktiv. Kompressionsverfahren zielen daher unter anderem auf die Minimierung der Codierungsredundanz ab. Bei Nachrichten bzw. Symbolfolgen, die im Rahmen der Audiokompression betrachtet werden, handelt es sich um diskrete Samples eines digitalen Tonsignals. Bei Bilddaten sind es die Helligkeits- oder Farbwerte von Pixeln, die bei sequenzieller Betrachtung der Zeilen ebenfalls diskrete Symbolfolgen darstellen. Daher werden die Begriffe Zeichenfolge, Symbolfolge, Signal und Nachricht im Folgenden synonym verwendet.
1.2 Grundlagen der Datenkompression Quellencodierung
verlustfreie und verlustbehaftete Kompression
symmetrische und asymmetrische Kompression
4
■ ■ ■
Datenkompression ist eine Form der Codierung, welche die Symbolfolgen einer Nachrichtenquelle möglichst Platz sparend abspeichert. Codierung zum Zwecke der Datenkompression wird häufig auch als Quellencodierung bezeichnet, um sie von Kanalcodierungen bei der Datenübertragung und kryptographischen Codierungen im Bereich der Datensicherheit abzugrenzen. Im Folgenden wird diese Unterscheidung nicht mehr getroffen, und der Begriff Codierung ist immer als Quellencodierung zu verstehen. Mit verlustfreien und verlustbehafteten Verfahren lassen sich zwei grundlegende Arten der Datenkompression bzw. Quellencodierung unterscheiden. Die verlustfreie Kompression verwirft ausschließlich redundante Informationen und ist daher voll reversibel. Durch Redundanzreduktion verlustfrei komprimierte Informationen können fehlerfrei wiederhergestellt werden. Die verlustbehaftete Kompression nimmt dagegen den Verlust von irrelevanten Informationen in Kauf. Während sich Redundanz eindeutig definieren lässt, ist Irrelevanz stark subjektiv geprägt. Irrelevant sind jene Informationen, die den Empfänger nicht interessieren oder nicht von ihm wahrgenommen werden können. Die Irrelevanzreduktion ist irreversibel. Einmal verworfene Informationen lassen sich nicht wieder zurückgewinnen. Ein weiteres Kriterium für die Klassifizierung von Kompressionsverfahren erhält man, indem der zeitliche bzw. rechnerische Aufwand für die Kompression AK mit dem Aufwand für die Dekompression AD in Beziehung gesetzt wird. Ist der Aufwand identisch, spricht man von symmetrischer Kompression. Dagegen handelt es sich um asymmetrische Kompression, wenn AK > AD ist. Bei der Kompression von Audio-
1 Kompressionsverfahren für Video und Audio
und Videodaten ist häufig ein geringer Aufwand bei der Decodierung erwünscht, da diese für eine flüssige Wiedergabe des Mediums in Echtzeit erfolgen muss. Verfahren für die Audio- und Videokompression sind daher zumeist asymmetrischer Natur. Ein Algorithmus oder Schaltkreis, der eine Codierung oder Datenkompression vornimmt, wird als Coder oder Encoder bezeichnet. Umgekehrt macht ein Decoder die Kompression wieder rückgängig. Spricht man von einem Kompressionsverfahren als Ganzes, so verwendet man den zusammengesetzten Begriff Codec. Als Maß für die quantitative Bewertung eines Kompressionsverfahrens kann die Kompressionsrate herangezogen werden, bei der die ursprüngliche Datenmenge zur komprimierten Datenmenge ins Verhältnis gesetzt wird. Durch Irrelevanzreduktion lassen sich weitaus höhere Kompressionsraten erzielen als mit Verfahren, die ausschließlich auf Redundanzreduktion beruhen. Die Kompressionsrate als rein objektives Kriterium ist bei der verlustbehafteten Irrelevanzreduktion nur bedingt aussagekräftig. Daher unterscheidet man bei der Bewertung von verlustbehafteten Kompressionsverfahren häufig zwischen objektiver und subjektiver Qualität. Als einfaches Kriterium für die Beurteilung der subjektiven Qualität hat sich der Mean Opinion Score (MOS) etabliert, der aus dem Bereich der telefonischen Sprachübertragung stammt. Für dieses Einsatzgebiet existieren Empfehlungen der International Telecommunication Union (ITU), einem internationalen Zusammenschluss zur Koordination von Entwicklungen im Telekommunikations- und Fernsehbereich. Der MOS wird durch Versuchspersonen ermittelt, die anhand einer fünfstufigen Skala qualitative Bewertungen zu unterschiedlich komprimierten Signalen abgeben. Im einfachsten Fall wird anschließend der arithmetische Mittelwert dieser Bewertungen gebildet [ITU96d] [ITU03b]. Die Ermittlung der subjektiv empfundenen Qualität durch Versuchspersonen ist ein aufwändiges Verfahren. Daher wurde im Videobereich die Video Quality Experts Group (VQEG) ins Leben gerufen, die sich mit der Standardisierung objektiver Messmethoden zur Bewertung subjektiver Qualität bei Videokompressionsverfahren befasst.
Coder/Encoder, Decoder, Codec
Kompressionsrate
objektive und subjektive Qualität, Mean Opinion Score (MOS)
Video Quality Experts Group (VQEG)
1.3 Elementare Verarbeitungsschritte Bei der Audio- und Videokompression verwendet man Verfahren, die sequentiell verschiedene grundlegende Verarbeitungsschritte durchführen, um besonders hohe Kompressionsraten zu erzielen. Meist entstehen dadurch hybride Methoden, die Irrelevanz- und Redundanzreduktion kombinieren.
1.3 Elementare Verarbeitungsschritte
hybride Kompressionsverfahren
■ ■ ■
5
1.3.1
Unterabtastung und Quantisierung Unterabtastung
Abtasttheorem, Aliasfrequenz
Chrominanz und Luminanz, YCrCb-Farbraum
Durch Unterabtastung lässt sich die Datenrate eines Signals auf einfache Weise reduzieren. Bei digitalen Signalen wird dabei eine bestimmte Anzahl der diskreten Signalwerte (engl.: Samples) verworfen, und nur jeder n-te Wert mit n = 2, 3, ... wird beibehalten. Dies resultiert in einer Reduktion der Datenrate um den Faktor 1/n. Die verworfenen Samples lassen sich nicht fehlerfrei wiederherstellen, weshalb es sich hierbei um einen verlustbehafteten Vorgang handelt. Durch die Unterabtastung können bei der Rekonstruktion des Signals Aliasfrequenzen entstehen, die sich in Videosignalen beispielsweise durch störende Muster äußern. Diese Aliasfrequenzen treten nach dem fundamentalen nachrichtentheoretischen Abtasttheorem [Kot33][Shn48] immer dann auf, wenn die Frequenz der diskreten Signalwerte fa durch die Unterabtastung kleiner wird als die doppelte Bandbreite des Signals. Um die Entstehung von Aliasfrequenzen zu verhindern, kann das Signal vor der Unterabtastung einer Bandpassfilterung mit der Grenzfrequenz fg = fa/2n [Hz] unterzogen werden. Bei digitalem Video findet man häufig eine Unterabtastung der Farbinformation (Chrominanz), da diese vom menschlichen Auge schlechter aufgelöst werden kann als Helligkeitsinformation (Luminanz). Um Luminanz und Chrominanz zu trennen, werden die Videobilder in den YCrCb-Farbraum konvertiert. Dieser ist in der ITUEmpfehlung BT.601 [ITU95a] für digitale Fernsehstudiotechnik definiert und wird aus den RGB-Kanälen durch folgende Produktmatrix gewonnen: §Y · ¨ ¸ ¨ Cr ¸ ¨ Cb ¸ © ¹
4:2:2-Subsampling
6
■ ■ ■
0 ,587 0 ,114 · § R · § 0 ,299 ¸ ¨ ¸ ¨ 0 , 500 0 , 419 0 ,081¸ ¨ G ¸ ¨ ¨ 0 ,169 0 ,331 0 ,500 ¸ ¨ B ¸ ¹ © ¹ ©
In dieser weitgehend historisch bedingten Formel wird die Luminanz von der Y-Komponente, und die Chrominanz von den Komponenten Cr und Cb repräsentiert. Bei einer Unterabtastung der Chrominanz nach BT.601 werden für die Komponenten Cr und Cb jeweils nur halb so viele Pixelwerte aufgewendet wie für die Luminanz, was als 4:2:2-Subsampling bekannt ist. Noch geringer ist die Abtastung der CrCb-Komponenten bei der Kompression nach dem MPEG-1Standard (Kap. 1.7.1), wo 4:2:0-Subsampling zum Einsatz kommt (Abb. 1.1).
1 Kompressionsverfahren für Video und Audio
Abb. 1.1: 4:2:2- und 4:2:0-Subsampling
Quantisierung ist eine weitere, sehr einfache Methode der Datenreduktion. Anstatt einzelne Samples zu verwerfen, wird hierbei die Genauigkeit reduziert, mit der sie abgespeichert werden. Man unterscheidet in skalare Quantisierung und Vektorquantisierung. Die skalare Quantisierung ordnet jedem Signalwert einen quantisierten Wert aus einer endlichen Wertemenge zu. Die Zuordnung erfolgt dabei im einfachsten Fall linear auf Basis eines Rasters mit Intervallen fester Länge. Alle Samples innerhalb eines bestimmten Intervalls werden dabei auf denselben quantisierten Wert abgebildet, wodurch verlustbehaftete Datenkompression entsteht. Anstelle eines festen Rasters können auch unterschiedliche Intervallbreiten gewählt werden, um bestimmte Werte stärker zu quantisieren als andere. Dies kann beispielsweise Sinn machen, wenn sich dadurch Einschränkungen der menschlichen Wahrnehmung ausnutzen lassen und wird als nichtlineare Quantisierung bezeichnet. Die Intervallbreiten bei nichtlinearer Quantisierung werden in Form von sog. Quantisierungskennlinien festgelegt. Die Vektorquantisierung berücksichtigt n Signalwerte gleichzeitig, die als Vektor des n-dimensionalen Raums aufgefasst werden. Wie die skalare Quantisierung stellt auch die Vektorquantisierung einen verlustbehafteten Vorgang dar. Ein Vektorquantisierer der Dimension n und Größe s bildet Eingabevektoren auf eine endliche Menge C ab, die aus s Ausgabevektoren besteht. Für die Wahl der Ausgabevektoren aus C können verschiedene Kriterien herangezogen werden. Im einfachsten Fall kommt das euklidische Abstandsmaß der Vektoren zum Einsatz. Die Menge C der Ausgabevektoren wird als Codebuch bezeichnet. Die größte Herausforderung bei der Vektorquantisierung ist die Wahl eines geeigneten Codebuchs. Dieses muss in einer Trainingsphase mit Hilfe
1.3 Elementare Verarbeitungsschritte
Quantisierung
skalare Quantisierung, nichtlineare Quantisierung
Vektorquantisierung, Codebuch
■ ■ ■
7
Vektorquantisierung in der Videokompression
charakteristischer Signalvektoren optimiert und so an typische Signalstatistiken angepasst werden. Ein verbreiteter Algorithmus zur Codebuch-Erstellung ist der LBG-Algorithmus [LBG80]. Vektorquantisierung in der Videokompression teilt Einzelbilder in quadratische Blöcke auf, wobei gleichartige Blöcke durch einen generischen Block aus einem Codebuch ersetzt werden. Der Einsatz von Vektorquantisierung in Codecs wie Sorensen oder Cinepak trug in den neunziger Jahren zur Verbreitung von digitalem Video auf Heimcomputern bei [WNW94]. Ein Audio-Codec auf Basis von Vektorquantisierung ist z. B. SoundVQ, der unter der Bezeichnung TwinVQ entwickelt [IMM95] und inzwischen als Teil von MPEG-4 Audio standardisiert wurde (Kap. 1.8).
1.3.2
Entropiecodierung Entropiecodierungen nutzen die statistische Verteilung von Symbolen innerhalb einer Zeichenkette aus. So lässt sich die mittlere Codelänge der Entropie annähern und damit die Codierungsredundanz mindern. Da Entropiecodierungen ausschließlich redundante Informationen verwerfen, arbeiten sie verlustfrei. 1.3.2.1 Huffman-Codierung
grafische Ermittlung
Die Huffman-Codierung [Huf52] geht davon aus, dass die einzelnen Symbole einer Nachricht statistisch unabhängig voneinander sind, und codiert diese separat. Symbole, die eine hohe Auftrittswahrscheinlichkeit besitzen, werden mit kürzeren Codes abgespeichert als Werte mit geringer Auftrittswahrscheinlichkeit. Um eine Huffman-Codierung auf grafische Weise zu ermitteln, werden die Quellsymbole als Codebäume mit einem Knoten betrachtet. In jedem Knoten wird die Auftrittswahrscheinlichkeit des jeweiligen Symbols eingetragen. Die verschiedenen Knoten werden dann wie folgt zu einem einzelnen Baum zusammengefügt: 1. Die zwei Knoten mit der geringsten Auftrittswahrscheinlichkeit werden zu einem neuen Knoten zusammengefasst. 2. Dem neu entstandenen Knoten wird die Summe der beiden Auftrittswahrscheinlichkeiten zugewiesen. 3. Die neu entstandenen Zweige erhalten als Beschriftung 0 bzw. 1. 4. Man beginnt von vorne, wenn die Wurzel des Baumes mit der Auftrittswahrscheinlichkeit 1 noch nicht erreicht ist.
8
■ ■ ■
1 Kompressionsverfahren für Video und Audio
Abb. 1.2: Grafische Entwicklung einer Huffman-Codierung
Ausgehend von den Blattknoten kann am Ende das Codewort für jedes Symbol abgelesen werden. Die grafische Entwicklung einer Huffman-Codierung für die Zeichenkette mississippi ist in Abb. 1.2 dargestellt. Die Huffman-Codierung besitzt eine Entropie von 1,82 bit/ Symbol und eine mittlere Codelänge von 1,91 Bit/Symbol. Die Codierungsredundanz ist demnach nahe null. Dabei wurde jedoch nicht berücksichtigt, dass der Codebaum für die Decodierung bekannt sein muss und daher zusätzlich abgespeichert wird. Da die Huffman-Codierung einzelne Symbole codiert, und diese immer durch eine ganzzahlige Folge von Bits dargestellt werden müssen, ist die Codierung nicht in allen Fällen optimal. Eine Codierungsredundanz von 0 Bits wird nur dann erreicht, wenn der Informationsgehalt eines Symbols und die zugeordnete Codelänge übereinstimmen. Dies ist der Fall, wenn die Auftrittswahrscheinlichkeiten der Bedin-n gung W(zi) = 2i mit n = 1, 2, 3, ... genügen. Ein Vorteil der HuffmanCodierung ist, dass sie einfach implementiert werden kann, und es sich nur um ein geringfügig asymmetrisches Verfahren handelt.
Eigenschaften
1.3.2.2 Arithmetische Codierung
Die arithmetische Codierung rückt von der separaten Symbolcodierung ab und erzeugt einen einzigen Code für die gesamte Nachricht. So wird Redundanz auch dort effizient vermindert, wo sich eine Huffman-Codierung als ungünstig erweisen würde. Trotzdem lässt sich die arithmetische Codierung sequentiell durch Abarbeiten einzelner Symbole ermitteln. Wie die Huffman-Codierung geht die arithmetische Codierung davon aus, dass die Nachrichtensymbole statistisch unabhängig voneinander sind. Das Funktionsprinzip der arithmetischen Codierung ist es, die gesamte Zeichenfolge z0, z1, ... zn durch eine rationale Zahl aus dem Einheitsintervall [0,1) zu codieren. Dies geschieht wie folgt:
1.3 Elementare Verarbeitungsschritte
Funktionsprinzip
■ ■ ■
9
1. Das Einheitsintervall [0,1) wird ausgewählt. 2. Das aktuell gewählte Intervall wird so in Teilintervalle eingeteilt, dass die Größen der Teilintervalle mit den Auftrittswahrscheinlichkeiten W(zi) der Symbole z0, z1, ... zn korrespondieren. 3. Das Teilintervall, das dem aktuellen zu codierenden Symbol zi entspricht, wird ausgewählt. 4. Ist zi das letzte Symbol der Zeichenfolge, so kann diese durch eine beliebige Zahl aus dem Teilintervall codiert werden. Ansonsten setzt man bei Schritt 2 fort. Beispiel
Das beschriebene Verfahren wird in Abb. 1.3 am Beispiel der Zeichenfolge abac mit den Auftrittswahrscheinlichkeiten W(a) = 0,5 sowie W(b) = W(c) = 0,25 dargestellt. Die Zeichenkette kann in diesem Fall durch eine Zahl aus [0.296875, 0.31275) codiert werden. Die Decodierung wendet das eben beschriebene Verfahren rückwärts an und muss daher nicht explizit erläutert werden.
Abb. 1.3: Arithmetische Codierung der Zeichenkette abac
Entstehung
10
■ ■ ■
Die theoretische Grundlage der arithmetischen Codierung wurde durch [Shn48] gelegt. Trotz des relativ einfachen Prinzips scheiterte eine algorithmische Umsetzung lange Zeit an der endlichen Genauigkeit von Fließkommazahlen auf Computern. Mit zunehmender Nachrichtenlänge werden die Teilintervalle sehr klein und können mit endlicher Fließkomma-Genauigkeit u. U. nicht mehr eindeutig unterschieden werden. Schließlich gelang der Nachweis, dass bestimmte endlich lange Zahlendarstellungen noch die benötigte Unterscheidbarkeit bieten. Einer der ersten Algorithmen für die technische Umsetzung der arithmetischen Codierung wurde von IBM veröffentlicht [RiL79].
1 Kompressionsverfahren für Video und Audio
1.3.3
Prädiktion Die Prädiktion zieht vorhergegangene und damit bekannte Symbole einer Nachricht heran, um Voraussagen über unbekannte Folgesymbole treffen zu können. Dies ist sinnvoll, da zwischen benachbarten Symbolen einer Nachricht häufig Abhängigkeiten bestehen. So ist in der deutschen Sprache beispielsweise eine hohe Korrelation zwischen den Buchstaben Q und U zu finden. Auch die Pixel eines Bildes können korrelieren, wenn sie demselben abgebildeten Objekt zugeordnet sind. Die Prädiktion stammt ursprünglich aus dem Bereich der Sprachverarbeitung, wo sie zur Kompression und Spracherkennung verwendet wird [AtS67]. Die Abweichung zwischen vorausgesagtem Prädiktionswert und tatsächlich auftretendem Folgesymbol wird als Prädiktionsfehler bzw. Residuum bezeichnet. Seien dž(n) ein Prädiktionswert und s(n) das tatsächlich auftretende Folgesymbol, so ist der Prädiktionsfehler e(n) = s(n) – dž(n). Mit Hilfe von Prädiktionsfehlern lassen sich Nachrichten eindeutig decodieren, indem der Decoder ebenfalls Prädiktionswerte errechnet und diese durch Addition der Prädiktionsfehler korrigiert. Durch die Symbolkorrelation bedingt, entsteht bei der Prädiktion eine starke Ungleichverteilung der Prädiktionsfehler, was wiederum eine geringere Entropie bedeutet. Daher ist die Prädiktion ein Verarbeitungsschritt, welcher die Bedingungen für eine nachfolgende Entropiecodierung verbessert. Die Prädiktion von Folgesymbolen erfolgt im einfachsten Fall als lineare Prädiktion durch das unmittelbar vorhergehende Symbol. Dieses kann entweder direkt verwendet oder vorher einer Gewichtung unterzogen werden. Der Gewichtungsfaktor wird als Prädiktorkoeffizient ak bezeichnet und muss meist fortlaufend an das Signal angepasst werden. Wenn mehr als ein Vorgängersymbol zur Prädiktion herangezogen wird, so handelt es sich um eine Prädiktion höherer Ordnung. Dies kann z. B. bei der Prädiktion von Bildinhalten sinnvoll sein, da sich ein Bildpixel genauer vorhersagen lässt, wenn mehrere umliegende Pixel, das sog. Template, berücksichtigt werden. Die lineare Prädiktion p-ter Ordnung erfolgt mit p Prädiktorkoeffizienten ak, die auch als Linear Prediction Coefficients (LPC) bezeichnet werden. Der Prädiktionswert dž(n) errechnet sich dann aus p vorangegangenen Symbolen als FIR-Filter nach: ˆs( n )
Prädiktionsfehler bzw. Residuum
lineare Prädiktion
Linear Prediction Coefficients (LPC)
p
¦ ak s( n k )
k 1
1.3 Elementare Verarbeitungsschritte
■ ■ ■
11
Analyse- und Synthesefilter
AR-Modellierung
Es muss folglich ein FIR-Filter mit den Filterkoeffizienten ak entwickelt werden, das die zukünftigen Symbole möglichst gut auf Basis vergangener Symbole vorhersagen kann. Dieses Filter wird Analyseoder Prädiktionsfilter genannt, während das korrespondierende Gegenstück des Decoders als Synthese- oder LPC-Filter bezeichnet wird. Gibt man das Prädiktionsfehler-Signal, das vom Analysefilter errechnet wurde, unverändert in das Synthesefilter hinein, so kann das ursprüngliche Signal ohne Fehler rekonstruiert werden. Eine etwas andere, wenn auch verwandte Aufgabe stellt sich mit der AR-Modellierung auf dem Gebiet der parametrischen Sprachkompression (Kap. 1.9.2). Dort wird ein Synthese-Filter gesucht, das ein stationäres Anregungssignal, wie z. B. ein weißes Rauschen, möglichst gut an das zu codierende Sprachsignal annähert. Zwischen linearer Prädiktion und AR-Modellierung besteht ein sehr enger Zusammenhang, der in [KaK02] ausführlich erläutert wird. Prinzipiell arbeitet die Prädiktion verlustfrei, sofern die errechneten Prädiktionsfehler nicht quantisiert werden. Quantisierung bietet sich an, wenn die Prädiktionsfehler rational sind, was eine weitere Verarbeitung erschweren würde. In vielen Verfahren zur Bildkompression wird die Prädiktion nicht direkt auf Bildpunkte angewendet. Statt dessen wird das Bild zunächst in eine Repräsentation überführt, die sich besser für den Einsatz einer prädiktiven Codierung eignet. Dies geschieht bspw. durch Signaltransformationen, die im Folgenden erläutert werden.
1.3.4
Signaltransformationen Wie die Prädiktion zielen auch Signaltransformationen darauf ab, die Korrelation zwischen Nachrichtensymbolen zu verringern, und so die Effizienz nachfolgender Verarbeitungsschritte zu steigern. Um eine anschaulichere Darstellung zu ermöglichen, liegen den folgenden Erläuterungen Bilddaten zugrunde. Signaltransformationen sind jedoch nicht auf solche Daten beschränkt. 1.3.4.1 Diskrete Kosinustransformation Die diskrete Kosinustransformation (DCT) als Sonderfall der Fouriertransformation existiert in verschiedenen Ausprägungen, die von [Wan84] erstmals in vier Transformationstypen eingeteilt wurden. Bei der Bilddatenkompression wird die DCT-II nach [ANR74] verwendet. Die DCT-II und die zugehörige inverse Transformation werden im Folgenden nur noch als DCT bzw. IDCT bezeichnet. Die DCT zur
12
■ ■ ■
1 Kompressionsverfahren für Video und Audio
Transformation zweidimensionaler Bilder wird auf quadratische Teilbereiche des Bildes angewendet und arbeitet auf Basis einzelner Bildpixel. Bei einem quadratischen Bildausschnitt von N u N Pixeln wird jedes Pixel f(x,y) wie folgt transformiert: F( u ,v )
N 1N 1 2 ª( 2 x 1 ) u S º ª( 2 y 1 ) v S º C u C v ¦ ¦ f ( x , y ) cos « cos « » » N 2N 2N ¬ ¼ ¬ ¼ x 0y 0
Die IDCT ist: f ( x, y )
2 N 1N 1 ª( 2 x 1 ) u S º ª( 2 y 1 ) v S º ¦ ¦ Cu Cv F ( u , v ) cos « » cos « » N u 0v 0 2N 2N ¬ ¼ ¬ ¼
Dabei gilt für die beiden Gleichungen: Cu
1 für u 0 ° und Cv ® 2 °¯ 1 für u z 0
1 für v 0 ° ® 2 °¯ 1 für v z 0
Die DCT transformiert das Bildsignal vom Orts- in den Frequenzbereich und zerlegt es dazu in Kosinus-Basisfunktionen unterschiedlicher Frequenz. Jeder Bildausschnitt mit N u N Pixeln resultiert in N u N Koeffizienten, die als zweidimensionale Frequenzangaben interpretiert werden können. Hohe Frequenzen repräsentieren im Ortsbereich feine Bildstrukturen, niedrige Frequenzen dagegen homogene Flächen. In Abb. 1.4 ist der Ausschnitt eines Graustufenbildes zu sehen. Es handelt sich dabei um einen Bildbereich aus 8 u 8 Pixeln, wie er z. B. auch vom JPEG-Standard verwendet wird (Kap. 1.6.1). Das Graustufenbild ist mit 8 Bit pro Pixel quantisiert, weshalb die einzelnen Pixel Graustufenwerte von 0 bis 255 besitzen können.
Orts- und Frequenzbereich
Beispiel
Abb. 1.4: Quadratischer Pixelblock eines Graustufenbildes
1.3 Elementare Verarbeitungsschritte
■ ■ ■
13
Abb. 1.5: DCT-Koeffizienten eines Pixelblocks
DC-Koeffizient und AC-Koeffizienten
Weiterverarbeitung durch Entropieund Lauflängencodierung
14
■ ■ ■
Abbildung 1.5 zeigt die gerundeten DCT-Koeffizienten des transformierten Pixelblocks. In Anlehnung an die englischen Bezeichnungen für Gleich- und Wechselstrom lassen sich die Koeffizienten in einen DC-Koeffizient und 63 AC-Koeffizienten unterscheiden. Der DC-Koeffizient, der häufig auch als Gleichanteil bezeichnet wird, entspricht dem Anteil der Frequenz 0 Hz in beiden Bildachsen und repräsentiert den mittleren Farbton bzw. Grauwert des 8 u 8 Pixelblocks. Die AC-Koeffizienten entsprechen Frequenzen größer 0 Hz in horizontaler und vertikaler Richtung. So entspricht der Koeffizient AC7 beispielsweise der höchsten Frequenz, die im Pixelblock innerhalb der horizontalen Bildachse auftritt. Im Ortsbereich ist dies das dichtest mögliche Muster senkrechter Streifen innerhalb des Pixelblocks. Da viele Bilder hauptsächlich aus flächigen Bereichen und nur zu einem geringen Teil aus scharfen Kanten bestehen, werden DCT-Koeffizienten, die höhere Frequenzen repräsentieren, sehr häufig niedrige Werte annehmen, wie auch in Abb. 1.5 beispielhaft zu erkennen ist. Die DCT-Koeffizienten sind also oft ungleich verteilt, und weisen somit eine geringe Entropie auf. Dies machen sich Verfahren zur Bild- und Videokompression zu Nutze und unterziehen die Koeffizienten einer nachfolgenden Entropiecodierung. Indem die Koeffizienten zuvor quantisiert werden, lässt sich die Kompression weiter optimieren. Durch die Quantisierung nehmen viele der kleineren Koeffizienten den Wert 0 an und können durch eine Lauflängencodierung zusammengefasst werden. DCT-Koeffizienten können durch die IDCT theoretisch ohne Informationsverluste in die ursprünglichen Graustufenwerte zurück transformiert werden. In der Praxis lassen sich DCT und IDCT jedoch nur annähernd genau berechnen und die diskrete Kosinustransformation ist verlustbehaftet.
1 Kompressionsverfahren für Video und Audio
1.3.4.2 Wavelet-Transformation
Obwohl ein erstes Wavelet schon sehr früh im Rahmen der HaarTransformation [Haa10] beschrieben wurde, entstand eine zusammenhängende Wavelet-Theorie erst in den 80er Jahren, nachdem Grossmann u. Morlet [GrM84] den Wavelets ihren Namen gegeben und eine genauere Beschäftigung mit dem Thema ausgelöst hatten. Wie die DCT wandelt die Wavelet-Transformation das Bildsignal in den Frequenzbereich. Anstelle einer Kosinusfunktion werden dabei jedoch die Wavelets einer Wavelet-Familie als Transformationskern verwendet. Diese Wavelets erhält man durch einfache Modifikationen eines Mutter-Wavelets, von denen einige in Abb. 1.6 zu sehen sind. Das Haar-Wavelet ist sehr einfach aufgebaut und besitzt nur eingeschränkte Funktionalität, da es u. A. nicht differenzierbar ist. Aufgrund ihrer mathematischen Eigenschaften werden in der Signalverarbeitung oft Daubechies-Wavelets [Dau88] eingesetzt. Diese Wavelets lassen sich nicht funktionsanalytisch darstellen, sondern werden iterativ erzeugt. Durch die Wahlmöglichkeit eines Mutter-Wavelets und durch die Verwendung verschiedener Wavelets einer Wavelet-Familie ist die Wavelet-Transformation flexibler als die DCT mit ihrer festgelegten Basisfunktion. Mutter-Wavelets können durch Verschiebungen auf der Abszisse und durch Skalierungen modifiziert werden. Durch Dehnung des Wavelets lassen sich stationäre Signalabschnitte erfassen, für die man eine gute Frequenzauflösung erhält, während sich gestauchte Wavelets mit hoher Frequenz für wechselhafte Signalabschnitte eignen, in denen eine gute zeitliche bzw. örtliche Auflösung gewünscht ist. Wavelets ermöglichen demnach eine Kombination aus Frequenzanalyse und zeitlicher bzw. örtlicher Analyse. Funktionswerte von Wavelets sind außerhalb eines engen Intervalls 0, während Kosinusfunktionen unendlich periodisch verlaufen. Durch diesen kompakten Träger wirken Wavelets immer nur auf einen Teilbereich des Bild- oder Tonsignals, und eine Aufteilung in Blöcke, wie z. B. bei der DCT, ist nicht mehr erforderlich.
Funktionsprinzip, Wavelet-Arten
Modifikation von Mutter-Wavelets
Abb. 1.6: Wavelets
1.3 Elementare Verarbeitungsschritte
■ ■ ■
15
Multiskalen-Analyse
schnelle Wavelet-Transformation (FWT)
Beispiel
Die Multiskalen-Analyse [Mal89] führt eine Skalierungsfunktion als Basis der Wavelet-Familie ein und ermöglicht so eine effiziente algorithmische Umsetzung der Transformation. Diese wird als schnelle Wavelet-Transformation (FWT) bezeichnet und lässt sich als Kombination spezieller Hoch- und Tiefpass-Filter auffassen. In der Bilddatenkompression wird die FWT meist nacheinander auf die Zeilen und Spalten des Bildes angewendet. Zunächst werden die Zeilen des Ausgangsbildes transformiert. Durch den TiefpassFilter erhält man eine geglättete, unscharfe Version des Bildes, der Hochpass resultiert in feinen Detailinformationen. Zusätzlich wird die Bildauflösung durch Subsampling reduziert, indem jedes zweite Pixel verworfen wird. Derselbe Vorgang wird nun auf die Spalten angewendet, wodurch man insgesamt vier verkleinerte Versionen des Ausgangsbildes erhält. Die Bildversion, deren Spalten und Zeilen Tiefpass-gefiltert wurden, kann nun mehrere Male auf dieselbe Weise weiterverarbeitet werden, wobei in jedem Verarbeitungsschritt vier weitere verkleinerte Bildversionen entstehen. Die drei anderen Bildversionen enthalten Detailinformationen, die mit senkrechten, waagerechten bzw. diagonalen Kanten innerhalb des Bildinhaltes korrespondieren. Durch die schrittweise Verarbeitung durch Filter erhält man eine unscharfe Repräsentation des Originalbildes in sehr geringer Auflösung, sowie mehrere Bilder mit Detailinformationen in unterschiedlichen Auflösungen. In Abb. 1.7 ist dies anhand der ersten zwei Verarbeitungsschritte mit einem Haar-Wavelet zu sehen. Bei der Dekompression wird die gering aufgelöste Bildrepräsentation sukzessive durch die Detailinforma-
Abb. 1.7: Zwei Verarbeitungsschritte der schnellen Wavelet-Transformation
16
■ ■ ■
1 Kompressionsverfahren für Video und Audio
tionen angereichert, was als hierarchische Kompression bezeichnet wird. Hierarchische Kompression ist auch schon im JPEG-Standard (Kap. 1.6.1) als spezieller Modus verfügbar, allerdings auf Basis einer DCT. Die Dekompression des Bildes muss nicht komplett erfolgen, sondern kann gestoppt werden, wenn eine ausreichend hohe Auflösung erreicht wurde. Die Wavelet-Transformation kann in der Bildverarbeitung anstelle der DCT eingesetzt werden, wodurch sich die eingangs geschilderten Vorteile der Wavelets nutzen lassen. Wie bei der DCT werden die resultierenden Koeffizienten durch eine Quantisierung und Entropiecodierung weiterverarbeitet. Die FWT ist bei Wahl eines geeigneten Wavelets und zugehöriger Skalierungsfunktion ein verlustfreier Vorgang. Trotz des Subsamplings lässt sich das Bild ohne Informationsverlust rekonstruieren. Erst durch eine entsprechende Quantisierung wird die Wavelet-Kompression zum verlustbehafteten Vorgang.
Eigenschaften
1.4 Medienspezifische Verarbeitungsschritte Neben elementaren Verarbeitungsschritten, die sich für die Datenkompression sehr vielseitig einsetzen lassen, existieren auch medienspezifische Verarbeitungsschritte, bei denen die Charakteristiken bestimmter Medientypen ausgenutzt werden.
1.4.1
Interframe-Kompression Bei der Kompression von Videodaten lassen sich besonders hohe Kompressionsraten erzielen, wenn zusätzlich zu örtlichen Redundanzen innerhalb eines Einzelbildes auch zeitliche Redundanzen zwischen aufeinander folgenden Bildern berücksichtigt werden. In vielen Fällen sind Folgebilder einer Videosequenz sehr ähnlich, da sich von Bild zu Bild nur begrenzte Bereiche unterscheiden. Werden auch zeitliche Redundanzen für die Kompression ausgenutzt, so spricht man von Interframe-Kompression. Im Gegensatz dazu verarbeitet die Intraframe-Kompression einzelne Videobilder separat und berücksichtigt somit nur örtliche Redundanz. Ein möglicher Ansatz für die Interframe-Kompression ließe sich realisieren, indem die Prädiktion nach Kap. 1.3.3 um eine Dimension für die Zeit erweitert wird. Um jedoch exaktere zeitliche Vorhersagen zu erhalten, werden Bewegungen innerhalb des Bildinhalts abgeschätzt. Dabei beschränkt man sich in der Regel auf translatorische
1.4 Medienspezifische Verarbeitungsschritte
Interframe- und IntraframeKompression
■ ■ ■
17
Bewegungsschätzung
Blockmatching, Bewegungsvektoren
Bewegungen und verzichtet auf die Prädiktion von Rotationen, Skalierungen, Verzerrungen usw. Im einfachsten Fall werden bei der Bewegungsschätzung ausschließlich Luminanzwerte von Pixeln betrachtet, und Voraussagen über die Bewegung erfolgen ohne Berücksichtigung einer Semantik. Die Bedeutung der Bildinhalte spielt also keine Rolle, und es wird ausschließlich die Ähnlichkeit unterschiedlicher Bildausschnitte bewertet. Ein solches Verfahren kommt bspw. für die MPEG-1-Kompression (Kap. 1.7.1) zum Einsatz, verarbeitet dort quadratische Pixelblöcke und wird als Blockmatching bezeichnet. Das Funktionsprinzip basiert auf einer Publikation von [RoZ72] und wird im Folgenden näher erläutert. Zunächst wird die Y-Komponente des Originalbilds in Makroblöcke aus 16 u 16 Pixeln zerlegt. Diese Blockgröße resultiert aus einem Kompromiss zwischen exakter Bewegungsschätzung durch möglichst kleine Blöcke und geringem Codierungsaufwand durch eine möglichst geringe Block-Anzahl. Da die CrCb-Komponenten meist geringer aufgelöst sind als die Y-Komponente, werden sie nicht für die Bewegungsschätzung herangezogen. Für jeden Makroblock muss nun ein korrespondierender Block im Folgebild gefunden werden, dessen Bildinhalt möglichst genau übereinstimmt. Dazu empfiehlt der MPEG-1-Standard verschiedene Suchstrategien, die jedoch nicht verbindlich sind. Hersteller von Encodern besitzen so die Freiheit, individuelle Optimierungen bei der Blocksuche einzusetzen. Für die Beurteilung der Übereinstimmung von Blöcken können unterschiedliche Abstandsmaße verwendet werden, wie z. B. die mittlere absolute Differenz. Die Positionen der gefundenen Blöcke werden als zweidimensionale Bewegungsvektoren abgespeichert. Diese geben an, wie die ursprünglichen Blöcke verschoben werden müssen, um an die Positionen der korrespondierenden Blöcke im Folgebild zu gelangen (Abb. 1.8). Vektoren für die Chrominanzkanäle werden unter Berücksichtigung des Subsamplings aus den Bewegungsvektoren der Y-Komponente errechnet.
Abb. 1.8: Funktionsprinzip der vorwärtsgerichteten Prädiktion
18
■ ■ ■
1 Kompressionsverfahren für Video und Audio
Bewegungsvektoren werden bei MPEG-1 durch lineare Interpolation mit einer Genauigkeit von ½ Pixel ermittelt. Es ist jedoch auch eine einfache, ganzzahlige Pixelgenauigkeit erlaubt. Der Wertebereich der Vektoren-Elemente ist eingeschränkt, wobei je nach Verschiebungsgenauigkeit zwei verschiedene Wertebereiche definiert sind. Vektoren, die über die Bildränder hinauszeigen, sind unzulässig. Nachdem durch die Bewegungsschätzung alle Vektoren errechnet wurden, erzeugt die Bewegungskompensation ein Prädiktionsbild. Dazu werden alle Makroblöcke des Originalbilds so verschoben, wie von Bewegungsvektoren vorgegeben. Man erhält dadurch ein Prädiktionsbild, das mosaikartig aus Blöcken zusammengesetzt ist. Der Unterschied zwischen diesem Prädiktionsbild und dem Originalbild wird als Prädiktionsfehler codiert. Abbildung 1.9 zeigt zwei aufeinander folgende Videobilder, in denen der Regler des abgebildeten Mischpults nach oben bewegt wird. Darunter sind Prädiktionsbild und Prädiktionsfehlerbild zu sehen.
Bewegungskompensation
Beispiel
Abb. 1.9: Vorwärtsgerichtete Prädiktion am Beispiel
Das oben geschilderte Blockmatching wird als vorwärtsgerichtete Prädiktion bezeichnet, da ein zeitlich folgendes Bild vorhergesagt wird. Vorwärtsgerichtete Prädiktion kann jedoch nicht immer erfolgreich sein, da in Folgebildern häufig neue Elemente auftauchen, die in vorhergehenden Bildern verdeckt waren oder sich außerhalb des Bildrahmens befanden. Daher setzt MPEG-1 zusätzlich bidirektionale Prädiktion ein, wobei die Bewegungsschätzung auch im vorhergehenden Bild nach ähnlichen Blöcken sucht. So ergeben sich für jeden Makroblock zwei Bewegungsvektoren, von denen derjenige in den
1.4 Medienspezifische Verarbeitungsschritte
vorwärtsgerichtete und bidirektionale Prädiktion
■ ■ ■
19
Korrelation bei benachbarten Makroblöcken
Datenstrom eincodiert wird, der den kleineren Prädiktionsfehler erzeugt. Als weitere Variante können auch beide Vektoren im Datenstrom verwendet werden, wobei der Decoder zur Prädiktion einen Mittelwert der Vektoren heranzieht. Da die Blockstruktur des Blockmatchings nur in den seltensten Fällen mit der Struktur von Bildinhalten übereinstimmt, sind immer relativ große Prädiktionsfehler zu erwarten. Dies gilt auch für Bewegungen, die sich nicht durch das Verschieben von Blöcken erfassen lassen, wie z. B. Veränderungen der Lichtverhältnisse oder Skalierungen. Trotzdem ist Blockmatching ein relativ leistungsfähiges Verfahren und lässt sich einfach implementieren. Insgesamt können Bewegungsvektoren bis zu 40% der gesamten Information eines komprimierten Video-Datenstroms ausmachen [ChP89]. Darüber hinaus sind die Vektoren benachbarter Makroblöcke stark korreliert. So stimmen insbesondere bei Kameraschwenks viele der Vektoren weitgehend überein. Daher ist auch für die Codierung der Vektoren der Einsatz von Prädiktion sinnvoll. Für MPEG-1 verwendet man bspw. eine einfache Delta-Codierung und sagt Bewegungsvektoren für die bidirektionale Prädiktion nur aus Vektoren derselben Richtung vorher.
1.4.2
Psychoakustische Kompression psychoakustisches Modell, Perceptual Coder
MP3
Schalldruckpegel
20
■ ■ ■
Unter psychoakustischer Kompression versteht man die verlustbehaftete Kompression von Audiodaten mit Hilfe eines psychoakustischen Modells. Ein solches Modell beschreibt Grenzen des menschlichen Gehörs und ermöglicht dadurch effektive Irrelevanzreduktion. Da sie das subjektive Hörempfinden betreffen, lassen sich psychoakustische Modelle nur durch umfangreiche Testreihen mit Versuchspersonen empirisch ermitteln. Encoder, die ein psychoakustisches Modell verwenden, werden als Perceptual Coder bezeichnet. Weltweite Bekanntheit erlangte die Kompression unter Einsatz eines psychoakustischen Modells durch MP3, das am Erlanger Fraunhofer Institut für Integrierte Schaltungen (IIS) entwickelt wurde [BrS94]. MP3 ist Teil des internationalen Standards MPEG-1 (Kap. 1.7.1) für die Kompression von Video- und Audiodaten. Im MPEG-1-Standard werden 3 Audio-Layer definiert, die sich bezüglich Komplexität und Kompressionsleistung unterscheiden. MP3 bezeichnet Audiodateien, die gemäß Layer III codiert sind. Psychoakustische Modelle nutzen mit Simultanverdeckung und zeitabhängiger Verdeckung zwei Eigenschaften des menschlichen Gehörs, die im Folgenden nach [ZwF99] dargestellt werden. Der
1 Kompressionsverfahren für Video und Audio
Schalldruckpegel Lp eines Schallereignisses mit dem Schalldruck p1 -5 ergibt sich, indem p1 zum Bezugsschalldruck p0 = 2 10 [Pa] ins Verhältnis gesetzt, und das Resultat nach folgender Formel logarithmiert und gewichtet wird: Lp
20 lg
p1 [Pa] p0
Zeichnet man den benötigten Schalldruckpegel, um einen Sinuston T gerade wahrzunehmen, als Funktion der Frequenz von T auf, so erhält man die Ruhehörschwelle. Schallereignisse unterhalb der Ruhehörschwelle sind für das menschliche Gehör nicht wahrnehmbar und können daher durch Irrelevanzreduktion eliminiert werden. Das Gehör weist nicht für alle Frequenzen die gleiche Empfindlichkeit auf, sondern ist für Frequenzen von 2 bis 5 kHz am sensibelsten. Demnach ist die wahrgenommene Lautstärke und damit auch die Ruhehörschwelle nicht nur vom Schalldruckpegel sondern auch von der Frequenz des Schalls abhängig (Abb. 1.10). Die Simultanverdeckung betrifft Verdeckungseffekte durch stationäre Schallereignisse, die zeitgleich auftretende Signalkomponenten mit gleicher und abweichender Frequenz verdecken. Solche verdeckenden Schallereignisse werden als Maskierer bezeichnet. Verdeckungseffekte lassen sich als Anhebung der Ruhehörschwelle für die verdeckten Komponenten interpretieren (Abb. 1.11). Simultan verdeckende Maskierer bewirken folglich, dass die Hörschwelle für andere, zeitgleiche Schallereignisse angehoben wird. Fallen Schallereignisse dabei nur teilweise unter die Hörschwelle, so handelt es sich um Teilverdeckung, die zur Lautstärkereduktion der teilverdeckten Signalkomponente führt.
Ruhehörschwelle
Simultanverdeckung, Maskierer
Abb. 1.10: Ruhehörschwelle des menschlichen Gehörs
1.4 Medienspezifische Verarbeitungsschritte
■ ■ ■
21
Abb. 1.11: Simultanverdeckung
zeitliche Verdeckung
Quantisierungsrauschen
22
■ ■ ■
Zeitliche Verdeckungseffekte betreffen zeitlich aufeinander folgende Schallereignisse von kurzer Dauer und können in Vor- und Nachverdeckung unterschieden werden. Nachverdeckung besagt, dass das Gehör nach einem maskierenden Schallereignis eine Zeit von etwa 150 ms benötigt, bis sich die Ruhehörschwelle wieder normalisiert hat. Es kommt dabei zu Verdeckungseffekten, obwohl der Maskierer physikalisch nicht mehr existiert, da bereits angeregte Nervenzellen weniger sensitiv reagieren als ruhende Zellen. Vorverdeckung wirkt sich aus, bevor der Maskierer auftritt, was logisch vielleicht schwerer zu fassen ist. Vorverdeckung entsteht, da das Gehör eine begrenzte zeitliche Auflösung besitzt, und ein unvollständig verarbeitetes Schallereignis von der nachfolgenden Signalkomponente verdeckt wird. Perceptual Coder quantisieren Audiosignale sehr grob, so dass das rekonstruierte Signal dem ursprünglichen Signalverlauf nur noch schlecht folgen kann. Dadurch entsteht mit dem sog. Quantisierungsrauschen ein rauschartiges Störgeräusch, das vom Audiosignal moduliert wird und sich folglich mit dem Signalverlauf ändert. Im Vergleich zu konstantem Hintergrundrauschen wird Quantisierungsrauschen subjektiv als besonders störend empfunden. Die beschriebenen Verdeckungseffekte werden nun genutzt, um dieses Quantisierungsrauschen geschickt zu maskieren. So können teilweise sehr grobe Quantisierungsstufen eingesetzt und dadurch hohe Kompressionsraten erzielt werden. Bei der psychoakustischen Kompression handelt es sich also im Wesentlichen um variable Quantisierung, die durch ein psychoakustisches Modell gesteuert und als Rauschformung bezeichnet wird. Durch Versuchsreihen wurde ermittelt, dass der Schneckengang des Innenohrs (lat.: Cochlea) Schallereignisse in Teilbänder zerlegt, und das Gehör nur ein eingeschränktes Auflösungsvermögen für Frequenzen besitzt. Das Auflösungsvermögen ist nicht linear, sondern beträgt in den tiefen Frequenzen etwa 50 Hz und verschlechtert sich
1 Kompressionsverfahren für Video und Audio
mit zunehmender Frequenz bis etwa 4 kHz. Dabei ist es keinesfalls so, dass Frequenzen innerhalb eines Teilbands nicht unterschieden werden können. Die Hörschwelle für Quantisierungsrauschen kann jedoch separat für jedes Teilband ermittelt werden und hängt nur von Schallereignissen innerhalb des Teilbands ab. Die Teilbänder des menschlichen Gehörs werden als kritische Frequenzgruppen bezeichnet. Alle psychoakustischen Kompressionsverfahren zerlegen das Eingangssignal in Frequenzbänder und bestimmen die Quantisierung mit Hilfe des psychoakustischen Modells für jedes Subband separat. Die quantisierten Koeffizienten werden abschließend meist einer Lauflängen- und Huffman-Codierung unterzogen. Audiodaten, die mit einem Perceptual Coder komprimiert wurden, eignen sich nicht für die Nachbearbeitung. Eine Veränderung der Klangcharakteristik, z. B. durch Anpassung von Höhen oder Bässen, verändert nachträglich auch die Entscheidungsgrundlage des psychoakustischen Modells, wodurch das Quantisierungsrauschen wieder hörbar werden kann.
Nachbearbeitung
1.5 Codecs im Überblick Die Joint Photographic Experts Group (JPEG), die Moving Picture Experts Group (MPEG) und die ITU sind prominente Gremien im Bereich der Mediendaten-Kompression. Die JPEG-Gruppe entwickelte mit dem gleichnamigen JPEG-Format einen der ersten Standards [ISO94] [ITU92b] für die Standbildkompression, dessen grundlegende Verarbeitungsschritte auch in Video-Kompressionsverfahren der ITU und MPEG-Gruppe verwendet werden. Während die ITU Video- und Audiokompression getrennt betrachtet, definiert die MPEG-Gruppe Methoden, um Audio- und Videodaten in einem einzigen Datenstrom unterzubringen. Da die ITU hauptsächlich im Telekommunikationsbereich tätig ist, sind ihre Empfehlungen traditionell durch Anwendungen wie Bildtelefonie und Videokonferenzen motiviert. Die MPEG-Gruppe, deren Verfahren durch die International Organization for Standardization und International Electrotechnical Commission (ISO/IEC) standardisiert werden, hat ihren Schwerpunkt stärker in den Bereichen Unterhaltungselektronik und Fernsehen. Während man diese zwei Lager anhand der ersten Veröffentlichungen noch relativ gut unterscheiden konnte, sind neuere Kompressionsverfahren der beiden Gremien sehr universell einsetzbar. Um patentrechtlichen Schwierigkeiten bei der Implementierung der MPEG-Standards entgegenzutreten, wurde die MPEG Licensing Authority (MPEG-LA) gegründet, die mit der Lizenzierung der Stan-
1.5 Codecs im Überblick
Standardisierungsgremien
MPEG-Gruppe und ITU im Vergleich
MPEG Licensing Authority (MPEG-LA)
■ ■ ■
23
dards und der Abwehr übertriebener oder unberechtigter Forderungen befasst ist. Firmen, die patentierte Algorithmen einbringen, stellen diese in einem Patentpool zur Verfügung. Der Pool wird von der MPEG-LA genutzt, um MPEG zu Konditionen zu lizenzieren, die eine wirtschaftliche Nutzung und schnelle Verbreitung der Standards fördern.
1.5.1
Video-Codecs Überblick zu Video-Codecs
In Abb. 1.12 ist die Entwicklung der ITU- und MPEG-Verfahren, sowie von Apples Quicktime und Microsofts Windows Media zu sehen. Die Verfahren von ITU und MPEG sind nicht unabhängig voneinander
Abb. 1.12: Entwicklung von Kompressionsverfahren und Medienarchitekturen
24
■ ■ ■
1 Kompressionsverfahren für Video und Audio
entstanden, sondern hatten teilweise beträchtlichen Einfluss aufeinander. Der ITU-Codec H.261 [ITU93] gilt als erster praktisch eingesetzter Video-Codec und wurde bei der Entwicklung des internationalen Standards MPEG-1 [ISO93a] berücksichtigt, der das Audioformat MP3 etablierte. Der Nachfolger MPEG-2 [ISO00] entstand zu großen Teilen als Kooperation zwischen ITU und MPEG-Gruppe – die ITU-Empfehlung H.262 [ITU95b] und die Videokompression nach MPEG-2 sind identisch. Daraufhin arbeitete die ITU wieder einige Zeit an eigenen Verfahren und veröffentlichte insgesamt drei Versionen des Codecs H.263 [ITU05a]. Die MPEG-Gruppe plante zeitgleich MPEG-3. Allerdings stellte sich heraus, dass sich die Verfahren von MPEG-2 soweit optimieren ließen, dass die anvisierten Verbesserungen durch MPEG3 auch im Rahmen des Standards MPEG-2 erreicht werden konnten. Daher wurde die Entwicklung von MPEG-3 nicht abgeschlossen. Der nächste MPEG-Standard trägt die Bezeichnung MPEG-4 [ISO04a] und konnte stark von den beiden ersten Versionen des H.263-Codecs der ITU profitieren. Bei der Konzeption des Dateiformats für MPEG-4 wurde das Dateiformat von Quicktime als Basis herangezogen. Im Rahmen des Joint Video Teams (JVT) entstand 2001 wieder eine Zusammenarbeit von ITU und MPEG-Gruppe. Das Resultat war der ITUCodec H.264 [ITU05b], der als Advanced Video Coding (AVC) in MPEG-4 übernommen wurde. Zu jedem Kompressionsverfahren existiert eine Vielzahl kommerzieller Umsetzungen. Bekannte MPEG-4-Implementierungen sind bspw. DivX und sein freies GNU-Pendant XviD. Ein Software-Codec nach H.264/AVC wird u. A. vom deutschen Hersteller MainConcept angeboten. Auch Apple hat den H.264-Codec in Quicktime integriert, und verwendet dabei den Video Codec 3 der Firma Sorensen. Apple entwickelte mit Quicktime schon sehr früh eine konsistente, proprietäre Medienarchitektur, die eine Vielzahl von Kompressionsverfahren in Form unterschiedlicher Codecs bzw. Decoder integriert. Quicktime umfasst ein Container-Dateiformat, in dem Mediendaten abgelegt werden können, die mit unterschiedlichen Kompressionsverfahren codiert wurden, eine Abspielsoftware mit Bearbeitungsfunktionalität, sowie umfangreiche Streaming-Tools und ein API. Im Rahmen von Apple-Programmen wie Final Cut und DVD Studio Pro hat sich QuickTime als professionelles Produkt im Medienbereich etabliert. Die Entstehung von Microsofts Windows Media ist schwieriger nachzuzeichnen als die Entwicklung von Quicktime. Mit der Softwareschnittstelle Video for Windows war es in den Anfangszeiten von Windows erstmals möglich, einfache Mediendateien im AVI-Format abzuspielen und Videos zu codieren. Wie das Dateiformat von Quicktime ist das AVI-Format ein Container, der Mediendaten enthalten kann, die mit unterschiedlichen Codecs komprimiert wurden. Die
1.5 Codecs im Überblick
Quicktime
Windows Media
■ ■ ■
25
hybride Video-Codecs
26
■ ■ ■
Abkürzung AVI steht für Audio Video Interleave und bezeichnet eine überlappende Art der Speicherung von Audio- und Videodaten, die eine einfache Synchronisation von Bild und Ton ermöglicht. Mit der Entstehung von MPEG wurden Schwächen des AVI-Formats deutlich, da es sich u. A. nicht für die Speicherung von MPEG-Datenströmen eignet. Darüber hinaus können im AVI-Format keine zeitlichen Timecode-Informationen integriert werden. Microsoft gab AVI daher zugunsten des Advanced Streaming Formats (ASF) auf, und entwickelte das SDK ActiveMovie. Durch ActiveMovie und das Container-Format ASF unterstützte Windows nun auch MPEG und das QuicktimeFormat. Wenig später begann Microsoft, ActiveMovie schrittweise in sein DirectX zu integrieren und führte die neue Bezeichnung DirectShow ein. Das Advanced Streaming Format erfuhr eine Umbenennung zu Advanced Systems Format, wobei jedoch dieselbe Abkürzung beibehalten wurde. Im Laufe der Zeit kamen weitere Elemente zu ASF hinzu, wie z. B. ein Digital Rights Management. Diese Komponenten werden in ihrer Gesamtheit als Windows Media Plattform bezeichnet. Die Plattform umfasst mit Windows Media Video und Audio (WMV/WMA) auch Microsoft-eigene, proprietäre Codecs für die Audio- und Videokompression, die im Container-Format ASF untergebracht werden können. Eine Erweiterung des WMV-Codecs in der Version 9 (WMV9) unterstützt hoch auflösendes Video in High Definition und ist auch als WMV HD bekannt. Um im Fernsehgeschäft Fuß zu fassen, veröffentlichte Microsoft den Decoder und die Bitstromsyntax des vormals proprietären WMV9 und konnte die Society of Motion Picture and Television Engineers (SMPTE) für sich gewinnen. Nun plant die SMPTE, WMV9 unter der Bezeichnung VC-1 als ersten eigenen Standard für die Videokompression zu veröffentlichen. Der VC-1 ist neben H.264 und MPEG-2 auch auf den konkurrierenden, hoch auflösenden DVD-Nachfolgern HD-DVD und Blu-ray Disc vertreten. VC-1 ist etwas einfacher aufgebaut als H.264, scheint im Hinblick auf die Bildqualität aber vergleichbare Ergebnisse zu erzielen [Die05]. Die große Mehrzahl der bisher veröffentlichten Video-Codecs von ITU und MPEG sind hybride Codecs, die Signaltransformationen und Prädiktion kombinieren. Die Codierung der Einzelbilder erfolgt dabei in der Regel durch eine DCT quadratischer Pixelblöcke, die von der Standbildkompression mit JPEG übernommen wurde (Abb. 1.12). Für die Reduktion zeitlicher Redundanz kommt Interframe-Kompression auf Basis von Blockmatching und Prädiktion zum Einsatz. Ausnahme ist hier Motion JPEG (MJPEG), das Einzelbilder separat mit dem JPEG-Verfahren komprimiert, ohne zusätzliche Prädiktion zu verwenden. Ebenso besitzt der JPEG-Nachfolger JPEG 2000 [ISO04c] eine Sonderstellung, da er auf Wavelet-Transformation basiert. Wie
1 Kompressionsverfahren für Video und Audio
MJPEG codiert auch MJPEG 2000 ausschließlich separate Einzelbilder und verwendet keine Interframe-Kompression. Die Bilddaten-Kompression mit Wavelets ist nicht anfällig für blockartige Störungen (Blockartefakte), welche durch die Transformation einzelner Pixelblöcke entstehen können. Inzwischen herrscht weitgehende Übereinstimmung, dass sich im Bereich der StandbildKompression mit Wavelets eine bessere Bildqualität und höhere Kompressionsraten erzielen lassen als mit der DCT [XRO99]. Im Bereich der Videokompression konnte sich die Wavelet-Transformation dagegen noch nicht eindeutig gegenüber den blockbasierten Verfahren durchsetzen. Dies zeigt sich am deutlichsten daran, dass ITU und MPEG mit dem relativ neuen H.264/AVC noch immer auf eine blockbasierte Transformation setzen. Durch die Wahl flexibler Blockgrößen und Filteralgorithmen können Blockartefakte bei H.264/AVC weitgehend unterdrückt werden. Abseits der Gremien von ITU und MPEG gibt es inzwischen etliche Implementierungen von Wavelet-Codecs für die Videokompression. So veröffentlichte die British Broadcasting Corporation den Open-Source-Codec BBC Dirac [BDS05]. Ein verbreiteter kommerzieller Codec ist MotionWavelets von Aware.
Wavelet-Kompression und blockbasierte Verarbeitung
1.5.2
Audio-Codecs Audio-Codecs können in Codecs für die Sprachkompression und generische Codecs, die sich für beliebiges Audiomaterial einsetzen lassen, unterschieden werden. Im Bereich der Sprachkompression lassen sich mit Signalformcodierern, parametrischen und hybriden Verfahren wiederum drei Untergruppen identifizieren. Signalformcodierer zielen darauf ab, die Signalverläufe auf Basis einzelner Samples zu codieren und die ursprüngliche Signalform möglichst gut zu repräsentieren. Sie arbeiten gänzlich unabhängig vom Signalinhalt und sind daher für jede Art von Audiodaten geeignet. Der Einsatz des Signalform-Verfahrens ist nur für Bitraten von 32 kbit/s an aufwärts sinnvoll, da die Qualitätseinbußen bei geringeren Datenraten schnell groß werden [Chu03]. Zu den Signalformcodierern zählen u. A. die ITU-Codecs G.711 [ITU88a], G.722 [ITU88b], G.726 [ITU90a] und G.727 [ITU90b], die fast alle einfache prädiktive Techniken verwenden. Parametrische Codecs zerlegen das Audiosignal in Signalkomponenten, die sich durch Modelle beschreiben lassen. In Form von Modellparametern können diese dann kompakt codiert werden. Parametrische Verfahren erzielen hohe Kompressionsraten, sind aber im Gegensatz zu Signalformcodierern nur für bestimmte Signalarten
1.5 Codecs im Überblick
Sprachkompression
Signalformcodierer
Parametrische Codecs
■ ■ ■
27
Hybride Codecs
universelle Audiokompression
28
■ ■ ■
geeignet. Typische Datenraten parametrischer Verfahren sind 2 bis 5 kbit/s. Eine Erhöhung der Bitrate führt nicht zu qualitativ besseren Ergebnissen, weil die jeweiligen Modelle bestimmte Grenzen besitzen. Ein parametrisches Verfahren wird vom Codec des NATO Standardization Agreements STANAG 4591 [NC302] beschrieben. Für die zivile Kommunikation werden parametrische Verfahren aufgrund der geringen Sprachgüte nicht eingesetzt. Hybride Codecs kombinieren parametrische Elemente und Signalformcodierung und kommen für die Sprachkompression am häufigsten zum Einsatz. Bei hohen Bitraten zeigen sie das Verhalten eines Signalformcodierers, bei niedrigen Datenraten das eines parametrischen Codecs [Chu03]. Viele dieser Codecs basieren auf Code Excited Linear Prediction (CELP), einer Kombination aus linearer Kurz- und Langzeit-Prädiktion mit einem Codebuch. So standardisiert MPEG-4 bspw. einen CELP-Codec für die Sprachkompression [ISO04a]. Auch die ITU-Sprachcodecs G.723.1 [ITU96b], G.728 [ITU92a] und G.729 [ITU96c] sowie verschiedene Codecs des 3GPP für die Mobilkommunikation basieren auf CELP. Im Bereich der universell einsetzbaren Audiokompression findet man meist Signalformcodierer. Verlustbehaftete Kompression erfolgt auf Basis eines psychoakustischen Modells, wie es erstmals mit der Audiokompression von MPEG-1 eingeführt wurde. Die Verarbeitungsschritte von MPEG-1 wurden mit den Folgestandards MPEG-2 und MPEG-4 zwar stark optimiert und durch prädiktive Techniken ergänzt – das grundlegende Funktionsprinzip blieb jedoch bestehen. Auch viele proprietäre Formate setzen ähnlich wie MPEG-1 Audio auf psychoakustische Kompression, so z. B. das Mehrkanal-fähige Audio Coding Nr. 3 (AC-3) der Dolby Laboratories, das als Dolby Digital auf der DVD und bei digitalem Kinoton anzutreffen ist. Ein weiteres Format für Kinoton ist SDDS (Sony Dynamic Digital Sound), das auf dem ATRACVerfahren von Sony beruht. Auch ATRAC verarbeitet einzelne Subbänder durch ein psychoakustisches Modell und wird zudem für Sonys MiniDisc verwendet. Verlustfreie generische Audio-Kompression wird in der Regel durch prädiktive Techniken realisiert. Auf diesem Gebiet entstanden zunächst unterschiedliche freie und kommerzielle AudioCodecs, wie z. B. Apple Lossless, OptimFROG oder Monkey's Audio. Letzteres ist ein Open-Source-Codec, der sehr gute Kompressionsraten erzielt. Inzwischen ist MPEG jedoch dabei, die verlustfreie AudioKompression u. A. als Audio Lossless Coding (ALS) auch in MPEG-4 zu standardisieren. Mit Harmonic and Individual Lines and Noise (HILN) standardisiert MPEG-4 einen parametrischen Audio-Codec, der universell einsetzbar ist [ISO04a]. Er verarbeitet Audiomaterial mit einer Samplingrate von bis zu 8 kHz und codiert Audiomaterial mit 6 bis 16 kbit/s.
1 Kompressionsverfahren für Video und Audio
1.6 Die Standards JPEG und JPEG 2000 Der JPEG-Standard sowie seine Nachfolger JPEG-LS und JPEG 2000 wurden primär für die Kompression von Standbildern entwickelt. Bei JPEG und JPEG 2000 existieren jedoch auch korrespondierende Varianten für die Video-Kompression, die durch den Namenszusatz Motion gekennzeichnet sind. Während es aufgrund eines fehlenden Standards viele unterschiedliche Umsetzungen von Motion JPEG gibt, wurde die Motion-Variante des Nachfolgers JPEG 2000 gleich von Beginn an mit in den Standard integriert. JPEG-LS [ISO99][ITU98] wurde entwickelt, weil die verlustfreien Kompressionsmöglichkeiten von JPEG hinsichtlich Kompressionsrate und Geschwindigkeit hinter dem Stand der Technik zurückgeblieben waren. Da auch JPEG2000 verlustfrei komprimieren kann, ist die Bedeutung von JPEG-LS heute relativ gering. Tabelle 1.1 gibt einen Überblick über die JPEG-Standards. Die Familie der JPEG-Standards wurde von der namensgebenden Joint Photographic Experts Group konzipiert, einem Zusammenschluss aus Experten der ISO/IEC und der heutigen ITU. Die Bemühungen der Arbeitsgruppe resultierten jeweils in Empfehlungen der ITU sowie in einem internationalen ISO/IEC-Standard mit identischem Wortlaut. Im Folgenden werden nur JPEG und JPEG 2000 näher betrachtet. Eine Übersicht zu JPEG-LS findet sich z. B. bei [Wei00]. Bezeichnung
Einsatz für
ISO/IEC
ITU
JPEG
Standbilder
10918-1
T.81
Motion JPEG
Bildsequenzen
–
–
JPEG-LS
Standbilder
14495-1
T.87
JPEG 2000
Standbilder
15444-1
T.800
Motion JPEG 2000
Bildsequenzen
15444-3
T.802
JPEG-LS
Joint Photographic Experts Group
Tabelle 1.1: JPEG-Standards
1.6.1
JPEG JPEG unterscheidet verschiedene Arbeitsmethoden, von denen die meisten verlustbehaftet sind, da sie Redundanz- und Irrelevanzreduktion kombinieren. Alle Arbeitsmethoden operieren auf einzelnen Bildkanälen, wobei die Kanäle sequentiell oder verschachtelt verarbeitet werden können.
1.6 Die Standards JPEG und JPEG 2000
Arbeitsmethoden
■ ■ ■
29
Verarbeitung einzelner Kanäle
Die einzelnen Kanäle werden im Standard nicht explizit unterschieden, so dass bspw. ein Graustufenkanal genauso verarbeitet werden könnte wie der Rotkanal eines RGB-Bilds. Die meisten JPEGImplementierungen konvertieren die RBG-Kanäle jedoch zunächst in den YCrCb-Farbraum und verarbeiten die CrCb-Kanäle mit den Chrominanzinformationen anders als den Y-Kanal mit den Helligkeitsabstufungen. Dies ist möglich, da der Standard die Details einiger Operationen nicht direkt spezifiziert, sondern der jeweiligen Implementierung überlässt. Zusätzlich erfolgt vor der Verarbeitung meist eine Chrominanz-Unterabtastung. Obwohl inzwischen sehr leistungsfähige Folgestandards verfügbar sind, ist das JPEG-Verfahren noch weit verbreitet. Lediglich auf speziellen Anwendungsgebieten, wie z. B. in der medizinischen Bildverarbeitung, konnten sich Nachfolger durchsetzen. 1.6.1.1 Die Arbeitsmethode Baseline
Blockbildung
Quantisierung
30
■ ■ ■
Baseline ist die JPEG-Arbeitsmethode mit der geringsten Komplexität und verarbeitet ausschließlich Bilder mit einer Farbtiefe von 8 Bit pro Kanal. Für ein breites Anwendungsspektrum erzielt sie jedoch ausreichend gute Ergebnisse und muss von allen verlustbehafteten JPEGCodecs implementiert werden. Die Baseline-Methode zerlegt die Bildkanäle zunächst in quadratische Blöcke von N u N Pixeln mit N = 8. Danach erfolgt eine IndexverN-1 schiebung der Pixelwerte, indem jeder Wert um 2 reduziert wird. Die Pixelblöcke werden nun nacheinander einer DCT unterzogen, wie in Kap. 1.3.4.1 beschrieben. Durch die vorhergehende Indexverschiebung wurde verhindert, dass dabei zu große DC-Koeffizienten entstehen. Die 64 Koeffizienten jedes Blocks werden skalar quantisiert, wobei unterschiedliche Quantisierungswerte zum Einsatz kommen. Dazu gibt der JPEG-Standard eine unverbindliche Empfehlung und unterscheidet Quantisierungstabellen für Luminanz und Chrominanz (Abb. 1.13). Die empfohlenen Tabellen bilden DC-Koeffizienten und niedrige AC-Koeffizienten auf kleine Quantisierungsintervalle ab, während hochfrequente AC-Koeffizienten gröber quantisiert werden. Dies ist sinnvoll, da sich Informationsverluste in den feinen Bildstrukturen weniger störend auswirken als bei homogenen Strukturen. Die grobe Quantisierung der hochfrequenten Koeffizienten reduziert viele AC-Koeffizienten auf 0, was sich im weiteren Verlauf als nützlich erweisen wird. Um die ursprünglichen Koeffizienten später wieder rekonstruieren zu können, muss die verwendete Quantisierungstabelle in jedem Fall gespeichert werden.
1 Kompressionsverfahren für Video und Audio
Abb. 1.13: Quantisierungstabellen für Luminanz und Chrominanz
Abbildung 1.14 zeigt anhand des Pixelblocks aus Kap. 1.3.4.1 alle bisher beschriebenen Verarbeitungsschritte, wobei DCT-Koeffizienten gerundet dargestellt sind und mit der empfohlenen Tabelle für die Luminanz quantisiert wurden.
Beispiel
Abb. 1.14: Verarbeitung eines Pixelblocks bei der Codierung
1.6 Die Standards JPEG und JPEG 2000
■ ■ ■
31
Entropiecodierung
Verarbeitung von DC- und AC-Koeffizienten
Die Quantisierung ist derjenige Verarbeitungsschritt, mit dem sich Informationsverluste bei der Kompression am einfachsten beeinflussen lassen. Die Quantisierungstabellen sind daher der beste Ansatzpunkt für die Parametrisierung des Codecs. Bietet eine Implementierung die Möglichkeit, Einfluss auf die Kompressionsrate bzw. Bildqualität zu nehmen, so werden dabei meist die Quantisierungstabellen modifiziert. Nicht nur die Quantisierung macht das Baseline-Verfahren verlustbehaftet. Auch die DCT und IDCT können im Rahmen der StandardVorgaben in Encoder und Decoder unterschiedlich implementiert sein, was dann ebenfalls zum Informationsverlust führt. Die DC- und AC-Koeffizienten werden im Folgenden unabhängig voneinander verarbeitet. Benachbarte DC-Koeffizienten besitzen meist ähnliche Werte, da sich der mittlere Grauwert der Pixelblöcke bei vielen Bildern nur langsam ändert. Diese Korrelation macht man sich zu Nutze und wendet eine prädiktive Codierung an, um die Entropie zu verringern. Die Prädiktion erfolgt direkt durch den vorhergehenden Wert ohne Gewichtung, und die DC-Koeffizienten werden in Rasterscan-Reihenfolge von links nach rechts und von oben nach unten verarbeitet. Die Prädiktionsfehler werden anschließend durch eine HuffmanCodierung entropiecodiert. Da der Wertebereich der Prädiktionsfehler sehr groß sein kann, geht man dabei in zwei Schritten vor. Zunächst werden die Prädiktionsfehler grob in 12 Kategorien eingeteilt. Innerhalb der Kategorien werden die Prädiktionsfehler dann genauer beziffert. Analog zu den Quantisierungstabellen muss der Decoder den Codebaum der Huffman-Codierung kennen, weshalb er in jedem Fall abgespeichert wird. Vor der Weiterverarbeitung der 63 AC-Koeffizienten jedes Pixelblocks werden diese im Zickzack ausgelesen und dadurch nach Ortsfrequenzen sortiert (Abb. 1.15). Es entsteht ein eindimensionaler Vektor, bei dem die hochfrequenten Koeffizienten, von denen zuvor
Abb. 1.15: Zickzack-Anordnung der AC-Koeffizienten
32
■ ■ ■
1 Kompressionsverfahren für Video und Audio
einige zu 0 quantisiert wurden, am Ende platziert sind. Die Vektorelemente e z 0 werden nun nacheinander mit 8 Bits dargestellt, wobei eine Kombination aus Lauflängen-Angabe und Kategorisierung wie bei den DC-Koeffizienten zum Einsatz kommt. Für die Decodierung werden die beschriebenen Schritte der Codierung in umgekehrter Reihenfolge durchgeführt. Zunächst werden die Entropiecodierungen der DC- und AC-Koeffizienten decodiert. Die DC-Koeffizienten müssen durch Addition der Prädiktionsfehler und die AC-Koeffizienten durch eine inverse Lauflängencodierung zurück gewonnen werden. Mit Hilfe der zusätzlich abgespeicherten Quantisierungstabellen macht der Encoder die Quantisierung rückgängig, bevor im letzten Schritt die IDCT ausgeführt wird.
Decodierung
1.6.1.2 Weitere Arbeitsmethoden
Neben der oben beschriebenen Baseline-Methode sieht der JPEGStandard mit der erweiterten DCT-basierten, der verlustfreien und der hierarchischen Arbeitsmethode drei zusätzliche Codierungsmöglichkeiten vor. Die erweiterte DCT-basierte Arbeitsmethode ähnelt der BaselineMethode sehr stark und unterscheidet sich nur in einigen wenigen Parametern. So können anstelle von 8-Bit-Kanälen auch Kanäle mit Bittiefen von 12 Bit verarbeitet werden. Während die Baseline-Arbeitsmethode jeweils 2 verschiedene Huffman-Codetabellen für AC- und DC-Koeffizienten vorsieht, erlaubt die erweiterte Methode je 4 Codetabellen. Anstelle der Huffman-Codierung kann auch eine arithmetische Codierung zum Einsatz kommen. Den größten Unterschied macht die progressive Verarbeitung aus, die bei der erweiterten Arbeitsmethode als Alternative gewählt werden kann. Dabei werden in mehreren Durchläufen jeweils nur einige Koeffizienten der Bildblöcke codiert. Dies hat bei geringen Übertragungsraten den Vorteil, dass der Decoder schon sehr früh eine grobe Bildversion darstellen kann, auch wenn noch nicht alle Bilddaten übertragen wurden. Die verlustfreie Arbeitsmethode verwendet keine DCT sondern codiert die Pixelwerte des Bildes direkt durch eine Prädiktion höherer Ordnung. Dabei kommen maximal drei Pixelwerte als sog. Template für die Prädiktion zum Einsatz. Die drei Pixel sind so gewählt, dass sie bei zeilenweiser Abtastung des Bildes vor dem vorherzusagenden Pixel liegen, und daher schon zuvor decodiert wurden. Die Prädiktionsvorschrift wird für jeden Kanal separat aus einem Set von sieben verschiedenen Regeln gewählt (Abb. 1.16). Die Prädiktionsfehler können arithmetisch codiert oder einer Huffman-Codierung unterzogen
1.6 Die Standards JPEG und JPEG 2000
erweiterte DCT-basierte Arbeitsmethode
verlustfreie Arbeitsmethode, Template
■ ■ ■
33
Abb. 1.16: Prädiktionsvorschriften der verlustfreien Arbeitsmethode
hierarchische Arbeitsmethode, Bildpyramide
34
■ ■ ■
werden. Die Bittiefe der einzelnen Kanäle kann 2 bis 16 Bit betragen. Eine progressive Verarbeitung ist nicht möglich. Die verlustfreie Arbeitsmethode wird nur sehr selten eingesetzt, da mit JPEG-LS sehr bald eine weitaus leistungsfähigere Möglichkeit für die verlustfreie Kompression standardisiert wurde. Die hierarchische Arbeitsmethode kann verwendet werden, um mehrere Versionen desselben Bildes in unterschiedlichen Auflösungen zu speichern. Das ursprüngliche Bild wird dabei durch Unterabtastung schrittweise in der Auflösung reduziert, wobei sich die horizontalen bzw. vertikalen Bildauflösungen um den Faktor 2 oder Vielfache davon unterscheiden müssen. Man hat es also ähnlich wie bei der WaveletKompression mit einer Bildpyramide aus verschiedenen Auflösungen zu tun. Die Bildversion mit der geringsten Auflösung wird entweder mit einer der DCT-basierten Arbeitsmethoden oder mit der verlustfreien Arbeitsmethode gespeichert. Danach wird dieses Bild durch bilineare Interpolation um den Faktor 2 vergrößert und als Prädiktor für das Bild mit der nächst höheren Auflösung verwendet. Die resultierenden Prädiktionsfehler werden wiederum DCT-basiert oder verlustfrei komprimiert, wobei jedoch kleine Abwandlungen an den Arbeitsmethoden zu berücksichtigen sind. So wird bspw. vor Anwendung der DCT keine Indexverschiebung vorgenommen, da die Prädiktionsfehler naturgemäß kleinere Werte besitzen als die unveränderten Pixel. Mit Hilfe der Prädiktionsfehler wird das vorausgesagte Bild korrigiert, bevor es wiederum vergrößert und selbst als Prädiktor herangezogen wird. Dies wird fortgeführt, bis die ursprüngliche Auflösung des Ausgangsbildes erreicht wurde. Die hierarchische Arbeitsmethode ist per se überall dort geeignet, wo kleine Vorschaubilder angezeigt werden sollen. Trotz ihrer interessanten Möglichkeiten ist sie nicht sehr weit verbreitet, da sie bei gleicher Bildqualität geringere Kompressionsraten erzielt als die anderen JPEGMethoden. Die Codiereffizienz für hierarchische JPEGs aus vier Ebenen ist gegenüber der Baseline-Methode etwa 20% geringer [HaP96].
1 Kompressionsverfahren für Video und Audio
1.6.1.3 Motion JPEG
Motion JPEG (MJPEG) ist ein Kompressionsverfahren für Videodaten, das Einzelbilder einer Videosequenz separat und unabhängig voneinander mit dem JPEG-Verfahren komprimiert. Obwohl sich diese Nutzung schon früh abzeichnete [Wal91], wurde bis heute kein entsprechender Standard veröffentlicht. Zahlreiche Hersteller, wie z. B. MainConcept, Pegasus Imaging oder Morgan Multimedia, entwickelten deshalb ihre eigenen MJPEG-Codecs, die untereinander nicht unbedingt kompatibel sind. Unter maßgeblicher Beteiligung von Matrox und Microsoft versuchte das Open Digital Media Consortium einen MJPEG-Standard für die Windows-Plattform zu etablieren. Mit OpenDML [ODM96] wurde daher 1995 eine Erweiterung für das AVI-Dateiformat beschrieben. Microsoft integrierte OpenDML in ActiveMovie, seine damalige Konkurrenz-Technologie zu Quicktime. Allerdings zogen nicht alle Hersteller nach, und Microsoft wandte sich dem Active Streaming Format (ASF) zu, das AVI schließlich verdrängte. Apples Quicktime-Architektur bietet drei verschiedene Ausführungen von MJPEG. Dies sind Photo-JPEG sowie MJPEG-A und -B. Während Photo-JPEG nur Vollbilder codieren kann, unterstützen MJPEG-A und -B auch das fernsehtypische Interlace-Format, bei dem sich Einzelbilder aus zwei Halbbildern zusammensetzen (Kap. 1.7.2.1). Photo-JPEG setzt ein 4:2:0-Subsampling ein, wogegen die MJPEG-Varianten von Quicktime 4:2:2-Subsampling verwenden. MJPEG-A und -B unterscheiden sich nur bezüglich ihrer Kompatibilität mit Capture-Karten unterschiedlicher Hersteller, qualitative Unterschiede bestehen nicht. Zusätzlich zu den eigenen MJPEG-Ausführungen unterstützt Quicktime seit der Version 3 von 1998 auch AVI-Dateien und die OpenDMLErweiterung. MJPEG ist ein Verfahren für die Intraframe-Kompression, da Einzelbilder unabhängig voneinander verarbeitet werden. Videos, die mit Intraframe-Methoden komprimiert wurden, lassen sich bei der digitalen Videobearbeitung bildgenau schneiden, da jedes Bild eigenständig ist, und nicht von Informationen in den Nachbarbildern abhängt. Daher wird MJPEG häufig dann verwendet, wenn eine spätere Bearbeitung des Videomaterials möglich bleiben soll.
OpenDML
MJPEG in Quicktime
Nachbearbeitung
1.6.2 JPEG 2000 und Motion JPEG 2000 Die jüngste Veröffentlichung der JPEG-Gruppe ist der JPEG 2000Standard, der auf Wavelet-Transformationen beruht. Wie bei JPEG
1.6 Die Standards JPEG und JPEG 2000
■ ■ ■
35
Digital Cinema System Specification
weitere Eigenschaften von JPEG 2000
Transformationsarten
36
■ ■ ■
existiert mit MJPEG 2000 eine Motion-Variante, die ausschließlich Intraframe-Kompression verwendet. Im Gegensatz zu MJPEG ist MJPEG 2000 jedoch als Teil von JPEG 2000 standardisiert, so dass keine Inkompatibilitäten zwischen unterschiedlichen MJPEG 2000Codecs entstehen werden. Durch die Wavelet-Transformation ist JPEG 2000 skalierbar und die Dekompression kann sich progressiv der verfügbaren Übertragungsbandbreite bzw. benötigten Auflösung anpassen. Dies wird z. B. auch von der Digital Cinema System Specification [DCI05] genutzt, die Motion JPEG 2000 als Kompressionsverfahren im Bereich digitaler Kinoprojektion vorsieht. Die Spezifikation wird von der Digital Cinema Initiatives (DCI) herausgegeben, einem Industrie-Konsortium, dem u. A. große Hollywood-Studios wie Warner Brothers, Sony Pictures und Disney angehören. Mit 2K und 4K schreibt die DCI-Spezifikation zwei verschiedene Auflösungen vor, wobei die Abkürzungen die horizontale Auflösung bezeichnen: 2K-Material ist mit 2048 u 1080 Pixeln im HDTV-Bereich angesiedelt. 4-K-Material bringt es auf eine Auflösung von 4096 u 2160 Pixeln. Ein 2K-Decoder, der mit 4-K-Material konfrontiert wird, kann das Kinobild in seiner benötigten Auflösung decodieren und die restlichen Informationen ignorieren. Bei JPEG 2000 kann durch die Verwendung von Wavelet-Transformationen auf eine Unterteilung des Bilds in Blöcke verzichtet werden, weshalb es auch für einfache Liniengrafiken geeignet ist, wo sich bei hohen Kompressionsraten und JPEG-Kompression schnell störende Blockartefakte bemerkbar machen würden. Darüber hinaus kann JPEG 2000 für zweifarbige Bilder mit einer Farbtiefe von 1 Bit verwendet werden. Die maximale Farbtiefe pro Bildkanal sind 32 Bit, die ma32 ximale Auflösung pro Bilddimension sind 2 -1 Pixel. Wie JPEG verarbeitet JPEG 2000 alle Bildkanäle einzeln und unabhängig voneinander. Als Farbformat ist sowohl YCrCb als auch RGB erlaubt. Ein Subsampling der Chrominanz wird allerdings nicht empfohlen, da die Wavelet-Transformation dies schon implizit unterstützt. Der MJPEG2000-Standard für die Videocodierung erkennt dagegen an, dass die unkomprimierten Videodaten typischerweise schon im YCrCb-Format mit Subsampling der Chrominanz vorliegen, und schreibt daher vor, dass MJPEG-2000-Encoder auch solches Material verarbeiten müssen. Der erste Teil des JPEG-2000-Standards definiert zwei verschiedene Wavelet-Transformationen, von denen die eine verlustbehaftet ist. Die andere erzeugt Integer-Koeffizienten und ist reversibel. Eine genaue Erörterung der beiden Transformationen findet sich bei [UnB03]. Teil zwei des JPEG-Standards etabliert sog. Extensions, die beliebige, benutzerdefinierte Wavelet-Transformationen erlauben. Vor der WaveletTransformation erfolgt ähnlich wie bei JPEG eine Indexverschiebung. Die Transformation kann auf das ganze Bild angewendet werden,
1 Kompressionsverfahren für Video und Audio
wodurch die Entstehung von Blockartefakten verhindert wird. Um den Speicherbedarf bei Codierung und Decodierung zu verringern, ist es jedoch auch möglich, jeden Kanal in Kacheln gleicher Größe aufzuteilen, die von dann an völlig separat weiterverarbeitet werden. Die Wavelet-Koeffizienten besitzen eine geringe Entropie, da sich die relevante Information um bestimmte Werte konzentriert. Durch zusätzliche Quantisierung, die nur nach der verlustbehafteten WaveletTransformation Sinn macht, wird der Informationsgehalt der vorwiegend kleinen Koeffizienten zusätzlich verringert. Für jedes Subband der Wavelet-Transformation kann eine eigene Quantisierungsschrittweite festgelegt werden. So können z. B. die Detailkoeffizienten gröber quantisiert werden als die Koeffizienten mit den niederfrequenten Anteilen. Nach Transformation und optionaler Quantisierung erfolgt abschließend eine Aufbereitung der Koeffizienten und arithmetische Entropie-Codierung. Dieser Schritt basiert auf dem Embedded Block Coding with Optimized Truncation (EBCOT) von [Tau00], das u. A. die progressive Verfeinerung der Bildqualität beim Decodieren ermöglicht. Weitere verbreitete Verfahren mit ähnlicher Funktionalität sind der EZW-Algorithmus [Shp93], der bei MPEG-4 für die Standbildkompression verwendet wird, sowie der Algorithmus SPHIT [SaP96]. Im Gegensatz zu EZW und SPHIT werden bei EBCOT einzelne Koeffizientenblöcke verarbeitet und unabhängig voneinander codiert, was den Speicherbedarf einer Implementierung reduziert. Koeffizientenblöcke unterschiedlicher Subbänder und Zerlegungsstufen, die zu selben Bildinhalt beitragen, können zu sog. Precincts zusammengefasst werden, und erlauben in gewissen Grenzen einen wahlfreien, örtlichen Zugriff auf die codierten Bilddaten. Eine interessante Neuerung von JPEG200 ist die Codierung mit einer Region of Interest (ROI). Diese erlaubt es, bestimmte Bildbereiche mit mehr Bits und damit höherer Qualität zu codieren. Darüber hinaus werden diese Bildinformationen so abgespeichert, dass sie bei Übermittlung und Decodierung vor den übrigen Bildbereichen verfügbar sind. JPEG 2000 und MJPEG 2000 definieren beide ein eigenes Dateiformat. Das JPEG 2000-Format mit der Dateiendung jp2 erlaubt das Einbetten von Metadaten, die z. B. das Farbformat oder CopyrightInformationen beinhalten können. Das Dateiformat von MJPEG 2000 mit der Endung mj2 ist größtenteils mit dem MPEG-4-Dateiformat identisch. Daher unterstützt MJPEG 2000 wie MPEG-4 mehrere Videoebenen und Shapes bzw. Alpha-Kanäle (vgl. Kap. 1.7.3.2). Auch die Integration von Audiodaten ist möglich. Sind mehrere Medienspuren in einer MJPEG-Datei enthalten, so wird die Synchronisation durch Interleaving gewährleistet.
1.6 Die Standards JPEG und JPEG 2000
Quantisierung
Entropie-Codierung, EBCOT, EZW, SPITH
Region of Interest
Dateiformat
■ ■ ■
37
1.7
Videokompression mit MPEG MPEG-1 und MPEG-2
MPEG-4
MPEG-7 und MPEG-21
Gegenstand der Standardisierung
Tabelle 1.2: MPEG-Standards im Überblick
38
■ ■ ■
Die Moving Picture Experts Group (MPEG) wurde 1988 gegründet und veröffentlichte mit MPEG-1 und MPEG-2 internationale Standards für die Kompression von Audio- und Videodaten. Während MPEG-1 für geringe Bitraten konzipiert wurde und z. B. auf CD-ROM und VideoCD Verwendung findet, waren bei MPEG-2 von Beginn an weitaus höhere Datenraten vorgesehen. Anwendungsgebiete von MPEG-2 sind u. A. die DVD und das digitale Fernsehen. Der MPEG-4-Standard befasst sich ebenfalls mit Methoden der Audio- und Videokompression und erzielt bei vergleichbarer Qualität höhere Kompressionsraten als seine Vorgänger. Da dies von der MPEG-Gruppe jedoch nicht als ausreichender Grund für einen neuen Standard aufgefasst wurde [PeK95], bietet MPEG-4 über die reine Kompression hinaus noch viele zusätzliche Funktionalitäten und ist als weit gefasster Multimedia-Standard angelegt. In jüngerer Zeit gehen die Standardisierungsbemühungen der MPEG-Gruppe gänzlich über die Datenkompression hinaus. So entstand 2002 der internationale Standard MPEG-7 [ISO02], der die Beschreibung multimedialer Inhalte durch XML-Metadaten organisiert. MPEG-21 [ISO04d] beschäftigt sich als sog. Multimedia-Framework mit der Infrastruktur für Produktion, Verbreitung und Konsum von Medieninhalten. In Tabelle 1.2 sind die genannten MPEG-Standards und ihre Einsatzgebiete im Überblick aufgeführt. Die MPEG-Standards definieren ausschließlich die komprimierten Datenströme und den Decoder. Die Implementierung des Encoders ist dagegen nicht standardisiert, so dass die Hersteller hier ausreichend Spielraum für eigene Optimierungen und Weiterentwicklungen besitzen. Vorgabe ist lediglich, dass die Encoder standardkonforme Datenströme erzeugen müssen, die von standardkonformen Decodern verarbeitet werden können. In den folgenden Kapiteln werden Codierungsverfahren erläutert, die zu solchen Datenströmen führen. Die Decodierung wird jeweils durch umgekehrte Abarbeitung der Codierungsschritte realisiert, und muss daher nicht explizit beschrieben werden. Bezeichnung
Einsatzgebiet
ISO/IEC
MPEG-1 MPEG-2 MPEG-4 MPEG-7 MPEG-21
CD-ROM, Video-CD, ... DVD, digitales Fernsehen, ... Multimedia, digitales Fernsehen, ... XML-Metadaten für Medieninhalte Infrastruktur-Framework
11172 13818 14496 15938 21000
1 Kompressionsverfahren für Video und Audio
1.7.1 MPEG-1 Der MPEG-1-Standard besitzt den genauen Titel Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s und setzt sich aus 5 Teilen zusammen (Tabelle 1.3). Teil des MPEG-1-Standards
ISO/IEC
Part 1: Systems Part 2: Video Part 3: Audio Part 4: Compliance Testing Part 5: Software Simulation
11172-1 11172-2 11172-3 11172-4 11172-5
Die Kompression von Audio- bzw. Videodaten wird in Teil 2 bzw. 3 definiert. Das Resultat der Kompression sind Bitströme, die entweder Audio- oder Videodaten enthalten können und als Elementary Streams (ES) bezeichnet werden. Durch den Vorgang des Multiplexings, der im Systems-Teil beschrieben wird, lassen sich ES zusammen mit Informationen für ihre zeitliche Synchronisation in einen einzigen Transport Stream verpacken. Die beiden letzten Teile des Standards sind mit praktischen Fragen der Implementierung befasst. Das Compliance Testing beschäftigt sich mit dem Entwurf von Testverfahren, im letzten Teil des Standards finden sich komplette Referenzimplementierungen für die Kompression sowie für MPEG Systems. Wie die Bezeichnung des Standards schon zeigt, zielt MPEG-1 auf die Kompression mit geringer Datenrate bis etwa 1,5 MBit ab. Daher werden bestimmte Rahmenbedingungen für das Videomaterial genannt, mit denen solche Bitraten erreichbar sind. Werden die Rahmenbedingungen eingehalten, ergibt sich nach der Kompression eine Bitrate von rund 1,2 MBit/s für den Video ES. Viele MPEG-1-Implementierungen beschränken sich tatsächlich auf Bitraten dieser Größenordnung. Allerdings ist der Standard sehr flexibel und akzeptiert explizit auch Datenraten über 1,5 MBit/s und abweichende VideoParameter, wie z. B. Auflösungen bis zu 4096 u 4096 Pixel. Für die Videokompression wird eine maximale Bildauflösung von 352 u 288 Pixel empfohlen, was annähernd der halben Auflösung eines Fernsehbildes entspricht und als CIF (Common Intermediate Format) bezeichnet wird. Da diese Auflösung horizontal und vertikal ein Vielfaches von 16 ist, müssen bei der Blockbildung keine zusätzlichen Pixel eingefügt werden. Die Makroblöcke zur Bewegungskompensation messen 16 u 16 Pixel, Blöcke für die DCT dagegen 8 u 8 Pixel. MPEG-1 akzeptiert ausschließlich Videodaten, die im YCrCb-Format
1.7 Videokompression mit MPEG
Tabelle 1.3: MPEG-1-Standard im Überblick
Elementary Streams und Transport Stream
Rahmenbedingungen für das Videomaterial
■ ■ ■
39
vorliegen, und setzt ein 4:2:0-Subsampling der Chrominanz voraus. Alle Bildkanäle werden einzeln verarbeitet, und die maximale Farbtiefe pro Kanal beträgt 8 Bit. Mit einer erlaubten Bildrate von 24 bis 60 Bilder pro Sekunde werden sowohl Film als auch die Fernsehformate PAL und NTSC abgedeckt. 1.7.1.1 Funktionsprinzip
Blockschaltbild
Die MPEG-1-Kompression nutzt in weiten Teilen ähnliche Verarbeitungsschritte wie das JPEG-Verfahren und codiert in regelmäßigem Abstand jeweils ein Videobild mit Intraframe-Kompression. Bei den verbleibenden Videobildern wird Interframe-Kompression eingesetzt, die auf vorwärtsgerichteter und bidirektionaler Prädiktion basiert. Die hierfür nötige Bewegungskompensation erfolgt durch Blockmatching (Kap. 1.4.1). Abbildung 1.17 zeigt ein Blockschaltbild mit den wichtigsten Verarbeitungs-Komponenten eines MPEG-Encoders. Wie bereits erwähnt, standardisiert MPEG keine Encoder, weshalb Implementierungen auch anders realisiert sein können. Die Intraframe-Einheit des Encoders besteht aus DCT, skalarer Quantisierung und anschließender Lauflängen- bzw. Entropiecodierung (1). Die resultierende Bitrate wird während des Codiervorgangs ständig überprüft und durch dynamische Abstimmung der Quantisierung an die gewünschte Datenrate angepasst (2).
Abb. 1.17: Blockschaltbild eines typischen MPEG-Encoders
40
■ ■ ■
1 Kompressionsverfahren für Video und Audio
Für die Interframe-Kompression muss die Quantisierung rückgängig gemacht und die inverse DCT berechnet werden. So erhält der Encoder dieselben Makroblöcke wie später ein Decoder. Die einzelnen Blöcke werden zu einem vollständigen Bild zusammengesetzt, welches zwischengespeichert wird, damit es als Referenz für die folgenden Bilder herangezogen werden kann (3). Die Bewegungsschätzung vergleicht das aktuelle Bild mit dem Referenzbild und errechnet Bewegungsvektoren (4). Aus diesen Vektoren und dem Referenzbild wird von der Bewegungskompensation (5) ein Prädiktionsbild generiert. Die Unterschiede zwischen aktuellem Bild und Prädiktionsbild werden als Prädiktionsfehler komprimiert. Am Ende schreibt der Encoder die Bewegungsvektoren und codierten Intraframes in einen ES (6). Der Schalter (7) steuert, ob für das aktuelle Videobild Intraframeoder Interframe-Kompression zum Einsatz kommt. Wird ein Videobild von der Intraframe-Einheit des Encoders komprimiert, so bezeichnet man das Bild als I-Frame. Ein komprimiertes Bild der InterframeEinheit heißt P-Frame oder B-Frame, je nachdem, ob bei der Kompression vorwärtsgerichtete oder bidirektionale Prädiktion verwendet wurde.
Bewegungsschätzung
Arten von Frames
1.7.1.2 Bildgruppen
Die kleinste unabhängig decodierbare Einheit eines Video ES ist die geschlossene Bildgruppe (engl. Group of Pictures, GOP), die aus mindestens einem I-Frame und theoretisch aus beliebig vielen B- und P-Frames besteht. Die Struktur der GOPs hat Einfluss auf die Abspieleigenschaften des ES. So ist der wahlfreie, direkte Zugriff auf bestimmte Einzelbilder einfacher zu realisieren, wenn kurze GOPs verwendet werden und die I-Frames dadurch häufiger auftreten. Sehr kurze GOPs wirken sich allerdings negativ auf die Kompressionsrate aus, da hohe Kompression nur mit einer größeren Anzahl von prädiktiven Frames erreicht wird. Viele MPEG-Encoder erlauben es nur innerhalb enger Grenzen, die GOP-Struktur individuell einzustellen. Meist sind einige sinnvolle GOP-Muster vorgegeben, zwischen denen der Anwender auswählen kann. Eine typische GOP-Struktur verwendet alle halbe Sekunde ein IFrame und setzt nur zwei aufeinander folgende B-Frames ein. So ergibt sich unter Berücksichtigung der Bildfrequenz des europäischen PAL-Fernsehens von 25 Bildern pro Sekunde eine GOP-Struktur wie in Abb. 1.18 dargestellt.
1.7 Videokompression mit MPEG
Group of Pictures (GOP)
typische GOP-Struktur
■ ■ ■
41
Abb. 1.18: Typische GOP-Struktur
Anzeigereihenfolge und Übertragungsreihenfolge
geschlossene und offene GOPs
Die Pfeile geben Abhängigkeiten von vorhergehenden oder folgenden Bildern an. Da B-Frames von nachfolgenden I- oder P-Frames abhängen, müssen diese vor den B-Frames decodiert werden. Daraus folgt, dass zur Anzeigereihenfolge einer Bildfolge immer auch eine Übertragungsreihenfolge (Abb. 1.19) gehört. Diese wird bereits im Encoder hergestellt, damit ein Decoder die Bilder in der benötigten Reihenfolge erhält. Die I- und P-Frames müssen vom Decoder zwischengespeichert werden, bis alle abhängigen B-Frames decodiert wurden. Da die B-Frames selbst nicht Basis für die Bewegungskompensation sind, können sie stärker komprimiert werden, ohne dass sich dadurch bedingte Fehler bei der Rekonstruktion in andere Frames fortpflanzen. Bei der GOP in Abb. 1.18 handelt es sich um eine geschlossene Bildgruppe, da alle B-Frames von I- oder P-Frames umrahmt werden. Der MPEG-Standard erlaubt jedoch auch offene GOPs, die auf ein B-Frame enden oder mit einem solchen Frame beginnen. Diese GOPs können nur unter Zuhilfenahme des folgenden I-Frames oder eines vorhergehenden I- oder P-Frames decodiert werden. Die GOP-Struktur innerhalb eines ES muss nicht immer konstant bleiben. Auch wenn dem Encoder eine Struktur vorgegeben wird, so kann er davon abweichen, um zusätzliche I-Frames einzufügen. Dies ist z. B. bei Szenenwechseln innerhalb des Videoinhalts sinnvoll, wo die Bewegungskompensation keine effiziente Kompression ermöglicht. Auch GOPs, die nur aus einem Frame bestehen, sind zulässig. Dieses Frame muss dann allerdings ein I-Frame sein. Ein ES, der
Abb. 1.19: Übertragungsreihenfolge einer typischen GOP
42
■ ■ ■
1 Kompressionsverfahren für Video und Audio
ausschließlich solche GOPs verwendet, ist strukturell mit den Motion-Varianten der JPEG-Verfahren vergleichbar. 1.7.1.3 Kompression der Einzelframes
Wie schon erwähnt, nutzt MPEG-1 zur Kompression der I-Frames ähnliche Verarbeitungsschritte wie das JPEG-Verfahren: Das Bild wird in Blöcke aus 8 u 8 Pixeln aufgeteilt, die durch eine DCT transformiert und dann skalar quantisiert werden. Für die Quantisierung wird eine Standard-Quantisierungstabelle vorgegeben, die bei speziellen Bedürfnissen jedoch angepasst werden kann. Lediglich der Quantisierungswert des DC-Koeffizienten ist mit 8 fest vorgeschrieben. Für jeden Makroblock innerhalb des Frames kann eine neue Quantisierungstabelle verwendet werden. Bei der Decodierung wird demnach immer die Information benötigt, ob die Tabelle des vorhergehenden Makroblocks eingesetzt oder ob eine neue Tabelle geladen wird. Die DC-Koeffizienten werden analog zum JPEG-Verfahren prädiktiv codiert. Anstatt die DCT-Blöcke des Luminanz-Kanals aber von links nach rechts und von oben nach unten abzuarbeiten, wird ihre Codierungsreihenfolge von den Makroblöcken beeinflusst. Bei den DCT-Blöcken der Chrominanz bleibt die Codierungsreihenfolge gegenüber JPEG unverändert. Durch das 4:2:0-Subsampling ist hier pro Makroblock nur ein DCT-Block enthalten (Abb. 1.20). Die AC-Koeffizienten der Pixelblöcke werden durch das ZickzackVerfahren der JPEG-Kompression umsortiert. Die folgende Codierung unterscheidet sich etwas von der JPEG-Codierung, da die Koeffizienten nicht in Kategorien eingeteilt werden. Sie lassen sich demnach direkt durch eine Kombination aus Lauflänge und Koeffizientenwert codieren, wofür eine Huffman-Codierung zum Einsatz kommt. Die Codierung der P- und B-Frames ist etwas komplexer als die Verarbeitung der I-Frames, da für jeden Makroblock viele Codierungsmöglichkeiten existieren. Der MPEG-Standard schlägt vor, nacheinander
Kompression der I-Frames
Codierung der P- und B-Frames
Abb. 1.20: Reihenfolge der DC-Koeffizienten bei der Prädiktion
1.7 Videokompression mit MPEG
■ ■ ■
43
Intra-codierte Makroblocks
Inter-codierte Makroblöcke
Slices
eine Reihe von Entscheidungen zu treffen, um die Codierung jedes Makroblocks mit akzeptablem Aufwand zu ermitteln. Dazu gehört u. A. die Entscheidung, ob bei P-Frames tatsächlich ein Bewegungsvektor zu übertragen ist, oder ob ein Nullvektor ausreicht, der natürlich nicht übertragen werden muss. In einem weiteren Schritt können Bewegungs- bzw. Nullvektoren noch zugunsten einer Intra-Codierung verworfen werden. Dies ist dann sinnvoll, wenn der Einsatz von Bewegungskompensation nicht zu einer befriedigenden Prädiktion führt, weil z. B. neue Objekte im Bildbereich erschienen sind. In einem solchen Fall kann es sein, dass die Codierung von Bewegungsvektor und Prädiktionsfehler mehr Bits benötigt als eine Intra-Codierung des Makroblocks. Bei B-Frames muss für jeden Makroblock zusätzlich ermittelt werden, welche Art der Prädiktion zum Einsatz kommen soll. War bereits der vorhergehende Makroblock Inter-codiert, kann versucht werden, denselben Bewegungsvektor wieder zu verwenden. Die Verarbeitung von Intra-codierten Makroblocks erfolgt wie bei den I-Frames durch DCT, Quantisierung, Sortierung und HuffmanCodierung. Einen Unterschied macht die Codierung der DC-Koeffizienten. Falls der vorhergehende Block Inter-codiert wurde, wird hier der Wert 128 angenommen. Bei den Inter-codierten Blöcken sind ebenfalls Besonderheiten zu berücksichtigen. Die Blöcke mit den Prädiktionsfehlern werden zunächst wie gewohnt einer DCT unterzogen. Während die DCT-Koeffizienten unveränderter Bildblöcke nach ihrer Wichtigkeit für die menschliche Wahrnehmung unterschieden werden konnten, ist eine solche Unterscheidung im Falle von Prädiktionsfehlern nicht mehr sinnvoll möglich. Daher werden die Koeffizienten alle identisch quantisiert. Auch eine separate, prädiktive Verarbeitung der DC-Koeffizienten entfällt, da bei Prädiktionsfehlern keine Korrelation zwischen DC-Koeffizienten ausgenutzt werden kann. Alle Arten von Frames sind außer in Makroblocks auch in sog. Slices unterteilt. Dies geschieht jedoch nicht, um die Codierungseffizienz zu verbessern, sondern dient der Robustheit gegenüber Fehlern im Datenstrom. Der Beginn eines Slices im ES wird durch einen Slice Header gekennzeichnet. Bemerkt der Decoder Datenfehler innerhalb des Slices, springt er zum folgenden Slice Header und kann mit den verbleibenden Teilen des Frames fortfahren.
1.7.2 MPEG-2 Der MPEG-2-Standard trägt den Titel Generic coding of moving pictures and associated audio information. Durch den generischen Ansatz unterstützt MPEG-2 ein breiteres Anwendungsspektrum als MPEG-1,
44
■ ■ ■
1 Kompressionsverfahren für Video und Audio
das primär für geringe Bitraten konzipiert wurde. Wie bei MPEG-1 werden in den ersten Teilen des Standards die Audio- und Videokompression, das Multiplexing sowie Testverfahren beschrieben. Darüber hinaus besteht der internationale Standard jedoch aus weiteren Teilen, die sich u. A. mit der Übertragung von MPEG-2 Transport Streams in Netzwerken und der Steuerung digitaler Speichermedien beschäftigen. Wie schon erwähnt, kommt MPEG-2 u. A. bei der DVD-Video zum Einsatz. Das Videomaterial der DVD besitzt eine Auflösung von 720 u 576 Pixeln und eine typische Datenrate von 4 bis 7 Mbit/s. Beim terrestrisch übertragenen digitalen Fernsehen (Digital Video Broadcasting Terrestrial, DVB-T) wird ebenfalls MPEG-2 mit einer Auflösung von 720 u 576 Pixeln verwendet. Die Datenrate beträgt hier 12 Mbit/s für mehrere gebündelt übertragene Fernsehkanäle. Die ma14 14 ximale Auflösung für MPEG-2-Video beträgt 2 u 2 Pixel, was natürlich auch zu einer entsprechend hohen Datenrate führt und nur theoretische Bedeutung besitzt. Als höchste sinnvoll nutzbare Auflösung werden im Standard 1920 u 1152 Pixel mit einer Datenrate von maximal 80 Mbit/s empfohlen, womit man sich im Bereich des HDTV befindet. Diese Beispiele verdeutlichen, dass MPEG-2 um einiges vielseitiger eingesetzt wird als der MPEG-1-Standard, und einen Schwerpunkt auf dem Rundfunk- und Fernseh-Sektor besitzt. MPEG-2-kompatible Encoder müssen auch Bitströme decodieren können, die dem MPEG-1-Standard entsprechen. In vielerlei Hinsicht ist MPEG-1 also eine Untermenge von MPEG-2. Allerdings findet sich nicht für jedes Detail im MPEG-1-Standard ein äquivalentes Konzept bei MPEG-2. Alle Bitfolgen eines MPEG-1-Stroms, die keine Entsprechung bei MPEG-2 besitzen, werden von MPEG-2-Decodern ignoriert.
Einsatzgebiete
Kompatibilität mit MPEG-1
1.7.2.1 Grundlegende Unterschiede zu MPEG-1
MPEG-2 und MPEG-1 unterscheiden sich formal in einigen Codierungsparametern und bezüglich verschiedener Restriktionen, denen das Videomaterial unterworfen ist. Die grundlegenden Verarbeitungsschritte sind jedoch weitgehend identisch. MPEG-2 nutzt ebenfalls Interframe-Kompression, die auf Bewegungskompensation durch Blockmatching basiert. Auch die Kompression der einzelnen Frametypen ähnelt MPEG-1, und die maximale Farbtiefe pro Kanal beträgt 8 Bit. Im Folgenden werden daher nur die wichtigsten Unterschiede von MPEG-2 skizziert. Im Gegensatz zu MPEG-1 akzeptiert MPEG-2 auch Videomaterial mit 4:2:2-Subsampling, sowie mit voller Auflösung der Chrominanz im 4:4:4-Format. Beim 4:2:0-Subsampling liegen die ChrominanzSamples anders als bei MPEG-1 (Abb. 1.21). Durch die veränderte
1.7 Videokompression mit MPEG
Subsampling
■ ■ ■
45
Abb. 1.21: 4:2:0-Subsampling von MPEG-1 und MPEG-2
Halbbilder, Interlacing
Folgen der Halbbildzerlegung
Sample-Position lassen sich insbesondere Formatkonvertierungen einfacher implementieren. Ein großer Unterschied zu MPEG-1 ist die Unterstützung von Bildern, die im Zeilensprungverfahren vorliegen. Dabei handelt es sich um eine fernsehspezifische Technik, die Einzelbilder jeweils in Form von zwei Halbbildern aufzeichnet, und im Englischen als Interlacing bezeichnet wird. Die Aufzeichnung erfolgt dabei zeilenweise, so dass z. B. alle ungeraden und alle geraden Bildzeilen jeweils ein Halbbild mit halber vertikaler Auflösung ergeben (Abb. 1.22). Am Fernsehbildschirm werden die Halbbilder nacheinander angezeigt, wobei jede zweite Zeile übersprungen wird. So wird die zeitliche Bildauflösung künstlich verdoppelt, und die Fernsehbilder scheinen weniger zu flimmern. Während Halbbild-Video bei MPEG-1 vor der Kompression zunächst in progressives Video, also Vollbilder, umgerechnet werden musste, unterstützt MPEG-2 das Halbbild-Video direkt. Die Zerlegung in Halbbilder ist bei vielen Operationen zu berücksichtigen und führt dazu, dass in zahlreichen Fällen alternative Verar-
Abb. 1.22: Zerlegung eines Vollbilds in Halbbilder
46
■ ■ ■
1 Kompressionsverfahren für Video und Audio
Abb. 1.23: Verarbeitung von Makroblöcken im Halbbild- und Vollbild-Modus
beitungsschritte vorgesehen werden müssen. So können z. B. I-Frames nicht nur aus einem Vollbild oder aus zwei I-Halbbildern bestehen, sondern auch aus einem I- und einem P-Halbbild. Letzteres wird dabei aus dem zugehörigen I-Halbbild vorhergesagt. Die Entscheidung, ob Halbbilder oder Vollbilder komprimiert werden, kann von Bild zu Bild neu getroffen werden. Die Codierung von Vollbildern wird typischerweise bei Szenen mit wenig Bewegung eingesetzt, während bei schnellen Bewegungen oft auf Halbbilder zurückgegriffen wird. Die DCT transformiert wie bei MPEG-1 Blöcke aus 8 u 8 Pixeln. Je nachdem, womit sich beim vorliegenden Material höhere Kompressionsraten erzielen lassen, werden Blöcke verschachtelt oder progressiv verarbeitet. Die Wahl des Verarbeitungsmodus beeinflusst, wie Makroblöcke vor Einsatz der DCT in Teilblöcke zerlegt werden. Mögliche Zerlegungsarten sind in Abb. 1.23 zu sehen. Die Zerlegung eines Bildes in Halbbilder führt zu höheren DCTKoeffizienten auf der vertikalen Achse. Daher stellt MPEG-2 eine alternative Sortierreihenfolge für die AC-Koeffizienten zur Verfügung, bei der die Koeffizienten der vertikalen Frequenzen an früherer Stelle berücksichtigt werden (Abb. 1.24).
Verarbeitung von Makroblöcken
Abb. 1.24: Alternative Sortierreihenfolge für die AC-Koeffizienten
1.7 Videokompression mit MPEG
■ ■ ■
47
Weitere Unterschiede zu MPEG-1 treten bei Quantisierungstabellen auf. So können z. B. die DC-Koeffizienten nicht nur mit dem Quantisierungswert 8, sondern auch mit den Werten 4, 2 und 1 quantisiert werden. Die Slices der Makroblöcke dürfen sich nicht mehr über mehrere Zeilen erstrecken. Die Genauigkeit für die Bewegungsvektoren ist auf ½ Pixel festgelegt, und darf nicht mehr auf Integer-Werte reduziert werden. 1.7.2.2 Profile und Levels
Profile
Main Profile, 4:2:2 Profile
Tabelle 1.4: Merkmale der MPEG-2-Profile
48
■ ■ ■
Da MPEG-2 als generischer Standard unterschiedlichen Anwendungszwecken genügen soll, wurden Profile eingeführt. Diese definieren Untermengen des Standards und sollen den Austausch von MPEG-2 Bitströmen zwischen verschiedenen Anwendungen erleichtern. Darüber hinaus bieten Profile eine Möglichkeit für die Industrie, kostengünstige MPEG-2-Implementierungen zu liefern. Während die Implementierung von Anwendungen, die den gesamten Standard unterstützen, sehr aufwändig ist, lassen sich Anwendungen einfacher implementieren, wenn nur ein bestimmtes Profil berücksichtigt werden muss. Insgesamt spezifiziert der Standard 5 Profile (Tabelle 1.4), die sich u. A. durch unterstützte Bildtypen und Subsampling-Arten unterscheiden. Die Profile bauen hierarchisch aufeinander auf, d. h. das Simple Profile ist z. B. eine Untermenge des Main Profiles. Das Main Profile wird bisher am häufigsten eingesetzt, so z. B. auch bei der DVD. Ein weiteres, zusätzliches Profil wurde von der Society of Motion Picture and Television Engineers (SMPTE) definiert. Dieses sog. 4:2:2 Profile [SMP98] wurde für die speziellen Bedürfnisse der digitalen Fernsehstudiotechnik entwickelt, ist aber nicht Teil des eigentlichen MPEG-Standards, und erlaubt Datenraten bis zu 300 MBit/s. Der Name 4:2:2 Profile mag etwas irreführend sein, da auch schon das High Profile des MPEG-Standards ein 4:2:2-Subsampling bietet. Aus Tabelle 1.4 ist ersichtlich, dass keines der Profile ein 4:4:4-Format ohne Subsampling verwendet, obwohl dies nach dem MPEG-2-Standard erlaubt wäre. Profil
Subsampling
Bildtypen
Skalierbarkeit
Simple Main SNR Spatial High
4:2:0 4:2:0 4:2:0 4:2:0 4:2:0, 4:2:2
I, P I, B, P I, B, P I, B, P I, B, P
keine keine SNR SNR, örtlich SNR, örtlich
1 Kompressionsverfahren für Video und Audio
Alle Profile oberhalb des Main Profiles unterstützen Skalierbarkeit des Videostroms. Dabei handelt es sich um eine weitere Neuerung von MPEG-2, die mit der hierarchischen Codierung bei JPEG vergleichbar ist. Skalierbare Bitströme bestehen aus einer grundlegenden Videoebene, die jeder Decoder verarbeiten muss. Darüber hinaus können jedoch zusätzliche Ebenen vorhanden sein, die Inhalte des Bitstroms qualitativ aufwerten oder eine höhere örtliche Auflösung bereitstellen. Beim SNR Profile unterscheiden sich Videoebenen in ihrem SignalRauschabstand (engl.: signal to noise ratio) und besitzen somit verschiedene Bildqualität. Eine denkbare Einsatzmöglichkeit für dieses Profil ist ein Bitstrom mit zwei qualitativ unterschiedlichen Videoebenen für herkömmliche oder großformatige Anzeigegeräte. Das Spatial und High Profile bieten über die qualitative Skalierung hinaus auch eine Skalierung der örtlichen Auflösung an. Zusätzlich zu den Profilen werden vom MPEG-Standard 4 sog. Levels definiert, die sich mit den Profilen kombinieren lassen. Tabelle 1.5 gibt an, welche Kombinationen aus Profilen und Levels vom Standard empfohlen werden. Solche Kombinationen werden formal mit Hilfe des @-Zeichens ausgedrückt, wie z. B. bei Main Profile@Main Level, abgekürzt MP@ML. Level Profil Simple Main SNR Spatial High
Low
Main
High-1440
High
u u
u u u
u
u
u u
u
u
Skalierbarkeit des Videostroms
SNR Profile, Spatial Profile, High Profile
Levels
Tabelle 1.5: Empfohlene Kombinationen aus Profilen und Levels
Während die Profile angeben, welche syntaktischen Parameter im Datenstrom erlaubt sind, spezifizieren Levels Beschränkungen für diese Parameter. So werden in Levels z. B. die maximale Bitrate und Auflösung oder die Bildwiederholrate vorgeschrieben. Zusätzlich werden feingranulare Parameter für bestimmte Verarbeitungsschritte definiert, wie z. B. die Wertebereiche der Bewegungsvektoren. Die Level-Bezeichnung High-1440 ist durch die maximale horizontale Auflösung von 1440 Pixeln bedingt. Einige wichtige Parameter verschiedener Levels des Main Profiles sind in Tabelle 1.6 aufgeführt. Parameter
MP@HL
MP@H-14
MP@ML
MP@LL
Auflösung Bildrate Bitrate
1920 u 1152 60 Bilder/s 80 Mbit/s
1440 u 1152 60 Bilder/s 60 Mbit/s
720 u 576 30 Bilder/s 15 Mbit/s
352 u 288 30 Bilder/s 4 Mbit/s
1.7 Videokompression mit MPEG
Tabelle 1.6: Level-Parameter des Main Profiles
■ ■ ■
49
Wie die Profile bauen Levels hierarchisch aufeinander auf und sind somit abwärtskompatibel zueinander. Ein Decoder, der SNR@MLDatenströme verarbeiten kann, muss auch mit MP@ML, MP@LL und SP@ML zurecht kommen. Die höheren Levels des Main Profiles, also H-14@MP und H@MP, müssen nicht unterstützt werden. Die einzige Ausnahme ist bei Decodern für SP@ML-Ströme zu finden, die auch das höher liegende MP@LL akzeptieren müssen.
1.7.3 MPEG-4 MPEG-4 trägt der zunehmenden Annäherung von Computertechnik, Unterhaltung und Telekommunikation Rechnung, und definiert etliche neue Methoden für die Verarbeitung und Verbreitung digitaler Medien. Der Standard bietet demnach einiges mehr als effiziente Kompressionsmethoden und unterstützt die Konvergenz multimedialer Dienste auf vielfältige Weise. Der lineare Charakter von Audiound Videodaten, der vorhergehende MPEG-Standards kennzeichnete, wird von nichtlinearen Interaktionsmöglichkeiten abgelöst, die u. A. durch objektbasierte Codierung der Audio- und Videodaten ermöglicht werden. Diese Abkehr von der herkömmlichen Herangehensweise spiegelt sich auch in der vollen Bezeichnung des Standards, Coding of Audio-Visual Objects, wieder. 1.7.3.1 Grundlagen von MPEG-4 audiovisuelle Objekte
Aufbau einer MPEG-4-Szene
50
■ ■ ■
Audiovisuelle Objekte bei MPEG-4 können in natürliche und synthetische Objekte eingeteilt werden. Natürliche Objekte lassen sich durch Ton- oder Videoaufnahmen gewinnen, während synthetische Objekte maschinell erzeugt werden. Zu den synthetischen Medienobjekten gehören Computergrafiken und künstlich erzeugte Klänge. Die audiovisuellen Objekte können zweidimensional sein, wie z. B. herkömmliches Video, oder dreidimensional, wie z. B. Surround-Ton oder 3DAnimationen. Die Medienobjekte sind hierarchisch in einer audiovisuellen Szene angeordnet. Diese Szene wird mit einer Beschreibungssprache definiert, die auf der Virtual Reality Modeling Language (VRML) [ISO97] basiert. Innerhalb der Szene werden Medienobjekte durch ObjektDeskriptoren repräsentiert, welche die Verbindungen zwischen Szenenbeschreibung und den audiovisuellen Datenströmen herstellen (Abb. 1.25). Als Grundlage für das MPEG-4-Dateiformat dient Quicktime, das jedoch noch stark erweitert wurde.
1 Kompressionsverfahren für Video und Audio
Abb. 1.25: Schematischer Aufbau einer MPEG-4-Szene
Während der Entwicklung von MPEG-4 wurden als relevanteste Funktionalitäten 8 Kernpunkte definiert [PeK95], die auch den fertigen Standard gut charakterisieren. Entsprechend den genannten konvergenten Bereichen lassen sich diese Kernpunkte in die drei Kategorien universeller Zugriff, Kompressionseffizienz und inhaltsbasierte Interaktivität einteilen (Abb. 1.26). In der Kategorie inhaltsbasierte Interaktivität finden sich die meisten der Kernpunkte wieder, was die Positionierung von MPEG-4 als interaktiven Multimedia-Standard verdeutlicht. Werkzeuge für inhaltsbasierte Zugriffe auf Multimediadaten sollen das Indexieren, Verlinken, Abfragen, Übertragen und Löschen der Daten ermöglichen. In dieser Anforderung spiegeln sich die Charakteristiken des Nachfolgestandards MPEG-7 schon sehr stark wieder. Die inhaltsbasierte Manipulation erlaubt es, Audio- und Bilddaten ohne erneute Kompression
Kategorie inhaltsbasierte Interaktivität
Abb. 1.26: Funktionale Kernpunkte von MPEG-4
1.7 Videokompression mit MPEG
■ ■ ■
51
Kategorie Kompressionseffizienz
Kategorie universeller Zugriff
zu modifizieren. Während bei MPEG-2 beispielsweise Texteinblendungen fest in den Datenstrom eincodiert werden, können diese nun als separates Objekt ein- und ausgeblendet werden. Die hybride Codierung stellt unterschiedliche Verarbeitungsmethoden für natürliche und synthetisch erzeugte Mediendaten zur Verfügung und erlaubt die flexible Kombination dieser unterschiedlichen Daten. Der verbesserte zeitliche Zugriff bezieht sich auf effiziente Möglichkeiten für den wahlfreien Zugriff auf einzelne Medienobjekte des Datenstroms. In der Kategorie Kompressionseffizienz findet man Punkte, welche die Einordnung von MPEG-4 als Standard für die Datenkompression rechtfertigen und als Weiterentwicklung von MPEG-2 angesehen werden können. Hier ist natürlich zunächst die verbesserte Kompressionsleistung gegenüber MPEG-2 zu nennen, auf die im folgenden Unterkapitel genauer eingegangen wird. Die Codierung paralleler Datenströme zielt auf die Unterstützung von Stereoskopie und Multikamera-Darstellungen ab. Die Kategorie universeller Zugriff scheint zunächst den bereits behandelten Forderungen nach inhaltsbasiertem und wahlfreiem Multimediazugriff zu ähneln und ist daher vielleicht etwas unglücklich gewählt. Die MPEG-Gruppe versteht darunter jedoch im Wesentlichen die verbesserte Benutzbarkeit von Multimediadaten in vernetzten Umgebungen. Die Robustheit in fehleranfälligen Umgebungen ist besonders für die Übertragung im mobilen Anwendungsbereich relevant. Die inhaltsbasierte Skalierbarkeit bezieht sich zunächst einmal auf örtliche und zeitliche Auflösung. Darüber hinaus kann durch Priorisierung einzelner Medienobjekte auch semantische Skalierbarkeit realisiert werden. Je nach Übertragungsleistung des Netzwerks ist demnach eine feine Skalierbarkeit der Inhalte in vielerlei Hinsicht möglich. 1.7.3.2 MPEG-4 Visual
Aufbau von Videosequenzen
52
■ ■ ■
Die Kompression von visuellen Mediendaten ist als MPEG-4 Visual in Teil 2 des Standards definiert und wurde stark vom ITU-Codec H.263 beeinflusst. MPEG-4 Visual ermöglicht neben der Videocodierung auch die Standbild-Kompression auf Basis von Wavelet-Transformationen, was der Standard als Visual Texture Coding bezeichnet. Zusätzlich werden Möglichkeiten für die Kompression von dreidimensionalen Gitternetzen und von Animationsparametern für menschliche 3D-Modelle zur Verfügung gestellt. Videosequenzen werden in MPEG-4 als Video Objects (VOs) bezeichnet. Übergeordnet ist die Visual Sequence (VS), die mehrere VOs beinhalten kann. Innerhalb einzelner VOs können wiederum mehrere
1 Kompressionsverfahren für Video und Audio
Video-Ebenen (Video Object Layers, VOLs) vorhanden sein. Diese zeigen entweder inhaltlich unterschiedliche Bilder oder ermöglichen Skalierbarkeit durch identische Inhalte in unterschiedlicher Auflösung. Ein einzelner Frame wird als Video Object Plane (VOP) bezeichnet. Sowohl Videos als auch Standbilder müssen kein rechteckiges Format mehr besitzen, sondern dürfen beliebige Formen aufweisen. Dies lässt sich durch einen zusätzlichen VOL realisieren, der als Shape bezeichnet wird. Im einfachsten Fall haben Shapes eine Farbtiefe von 1 Bit und definieren durch schwarze und weiße Pixel die Form des VOs (Abb. 1.27). Für Transparenzen innerhalb des VOs können Shapes mit einer Farbtiefe von 8 Bits verwendet werden, was 256 unterschiedliche Transparenzstufen ermöglicht. Im Bereich der Videobearbeitung und Fernsehtechnik sind Shapes unter der Bezeichnung Alpha-Kanal eine altbekannte Möglichkeit, um bspw. Personen vor anderen Hintergründen zu platzieren. Wie MPEG-2 erlaubt MPEG-4 die Verwendung von Halbbildmaterial und definiert 19 Profile und 7 Levels. Das sog. Simple Visual Profile komprimiert bspw. nur rechteckige VOLs und wird durch das Simple Scalable Visual Profile um Shape-Unterstützung ergänzt. Beide Profile eignen sich besonders für die Übertragung in drahtlosen Netzen der Generationen 2.5 und 3. Die von MPEG-4 unterstützte Farbtiefe pro Kanal sind 4 bis 12 Bits bei Farbbildern und 8 Bits bei Graustufenbildern. Die Kompressionsverfahren sind für Bitraten von etwa 64 Kbit/s bis 4 Mbit/s optimiert. Chrominanz wird im Format 4:2:0 verarbeitet, wobei die CrCb-Samples wie bei MPEG-2 positioniert sind. Gegenüber MPEG-2 wird durch Verbesserung der bekannten Verarbeitungsschritte eine höhere Kompressionsleistung erreicht. So können Makroblöcke aus 16 u 16 Pixeln bei Bedarf in vier Unterblöcke aus 8 u 8 Pixeln unterteilt werden, für die ebenfalls Bewegungskompensation zum Einsatz kommt. Dadurch lassen sich mehr Bewegungsvektoren berechnen und Prädiktionsfehler verringern. Bewegungsvektoren dürfen auch über den Bildrand hinausreichen, was bei den
Shapes
Profile und Levels
höhere Kompressionsleistung
Abb. 1.27: Zusammenhang von Bild- und Shapeinformation
1.7 Videokompression mit MPEG
■ ■ ■
53
globale Bewegungsvektoren
Prädiktionsmodus Direct Mode
Kompression binärer Shapes
Binary Alpha Blocks, kontextbasierte arithmetische Codierung
54
■ ■ ■
Vorgänger-Standards nicht erlaubt war. Durch die optional wählbare höhere Genauigkeit der Bewegungsvektoren von ¼ Pixel werden Prädiktionsfehler zusätzlich reduziert. Die DCT wird unverändert auf Basis von Blöcken aus je 8 u 8 Pixeln durchgeführt. Globale Bewegungsvektoren bieten die Möglichkeit, Kamerabewegungen wie bspw. Schwenks direkt zu berücksichtigen. Anstelle von Bewegungsvektoren für einzelne Makroblöcke lassen sich nun bis zu vier Bewegungsvektoren für das gesamte Bild ermitteln. Zusätzlich werden die Startpunkte der Bewegungsvektoren innerhalb des Referenzbildes abgespeichert. Für jeden Makroblock kann entweder der lokale Bewegungsvektor des Makroblocks verwendet oder zwischen den globalen Vektoren interpoliert werden. Dabei erfolgt die Interpolation für jedes Pixel des Makroblocks separat. Die bidirektionale Prädiktion wird um einen Prädiktionsmodus ergänzt, der als Direct Mode bezeichnet wird. Bei diesem Direct Mode werden die Vektoren für vorwärts- bzw. rückwärtsgerichtete Prädiktion nicht durch Blockmatching gewonnen, sondern aus dem Vektor des folgenden bzw. zurückliegenden Referenzbilds ermittelt. Dazu wird die zeitliche Entfernung des entsprechenden I- oder P-VOPs hinzugezogen, und der Vektor unter der Annahme linearer Bewegung zwischen den Referenzbildern interpoliert. Auch für die Intra-Kompression werden einige Neuerungen gegenüber MPEG-2 eingeführt. So gibt es u. A. neue Quantisierungstabellen und einen weiteren Modus für die Sortierung der AC-Koeffizienten. Dieser ergänzt die alternative Sortierreihenfolge von MPEG-2, so dass nun auch horizontale Frequenzen bevorzugt berücksichtigt werden können. Etwas genauer soll im Folgenden noch die Kompression von beliebig geformten VOs mit Hilfe von binären Shapes beschrieben werden. Auch die Verarbeitung von Shapes erfolgt in Form von Makroblöcken aus 16 u 16 Pixeln, die mit den Makroblöcken der eigentlichen Bildinformation im selben Raster liegen. Wie für die Bildinformationen kann für die Codierung von Shapes Intraframe- oder InterframeKompression eingesetzt werden. Die Makroblöcke von Shapes werden als Binary Alpha Blocks (BABs) bezeichnet und können in drei Arten unterschieden werden. Liegt ein BAB komplett außerhalb des VOPs, so ist er transparent. Dies wird durch einen entsprechenden Code vermerkt, und weitere Daten müssen nicht berücksichtigt werden. Im umgekehrten Fall, wenn der BAB komplett innerhalb des VOPs liegt, ist der Makroblock mit den korrespondierenden Bildinformationen zu codieren. Handelt es sich um einen BAB aus dem Grenzbereich eines VOP, so definiert er sowohl transparente Pixel als auch Pixel, die innerhalb eines VOPs liegen. In diesem Fall wird jedes Pixel des Makroblocks einzeln mit
1 Kompressionsverfahren für Video und Audio
Abb. 1.28: Kontextermittlung für die arithmetische Codierung
Hilfe einer kontext-basierten arithmetischen Codierung verarbeitet. Dieses Verfahren wurde vom JBIG-Standard [ISO93b] übernommen, der sich mit der Kompression von Bildern mit geringen Farbtiefen befasst. Für jedes Pixel x eines Makroblocks aus dem Grenzbereich wird zunächst ein Kontext ermittelt, wobei zwischen Intraframe- und Interframe-Kompression unterschieden wird. Den Kontext erhält man mit Hilfe eines Templates aus örtlich und zeitlich umliegenden Pixeln gemäß Abb. 1.28. Im Fall von Intraframe-Kompression werden 10 örtlich umliegende Pixel berücksichtigt, die jeweils entweder schwarz (Wert 0) oder weiß (Wert 1) sein können. Der Kontext für das Pixel x in Abb. 1.28 lautet 10 demnach 0011100001. Insgesamt können mit den 10 Pixeln 2 = 1024 verschiedene Kontexte unterschieden werden. Anhand des Kontexts wird nun die Wahrscheinlichkeit ermittelt, dass der Wert des Pixels x gleich 0 ist. Dazu kommt eine Tabelle zum Einsatz, der empirisch gewonnene Daten zugrunde liegen, und die sowohl Encoder als auch Decoder bekannt ist (Tabelle 1.7). Die Tabelle ordnet jedem Kontext einen Kontext-Wert c zwischen 1 und 65535 zu. Die Wahrscheinlichkeit, dass das Pixel x den Wert 0 besitzt, erhält man aus der Division von c mit 65535. Für das Template in Abb. 1.28 ergibt sich auf diese Weise W(0) = 0,5. Die Wahrscheinlichkeit W(0) und das Pixel x sind nun Eingabewerte für den kontextbasierten arithmetischen Encoder, der ein schwarzes Pixel x mit dem Teilintervall [0,W(0)) und ein weißes Pixel x mit dem Teilintervall [W(0), 1) codiert. Kontext-Nr.
Kontext
Kontext-Wert c
W(0)
0 1 ... 225 ... 1023
0000000000 0000000001 ... 0011100001 ... 1111111111
65267 16468 ... 32768 ... 235
65267/65535 = 0,9959 16468/65535 = 0,2513 ... 32768/65535 = 0,5000 ... 235/65535 = 0,0036
1.7 Videokompression mit MPEG
Tabelle 1.7: empirisch gewonnene Wahrscheinlichkeiten
■ ■ ■
55
Bewegungskompensation
Werden die Pixel eines BABs aus dem Grenzbereich Interframecodiert, so setzt sich der Kontext aus vier umliegenden Pixeln und sechs Pixeln aus einem Referenzbild (I- oder P-VOP) zusammen, wobei das Pixel x im aktuellen BAB und das Pixel c6 im BAB des Referenzbildes zunächst an gleicher Stelle liegen. Für den BAB des Referenzbildes wird dann jedoch Bewegungskompensation verwendet. Diese ist unabhängig vom VOP mit den Bildinhalten, und ein BAB kann im Gegensatz zu den herkömmlichen Makroblöcken nicht weiter unterteilt werden. Die Genauigkeit der Bewegungsvektoren ist auf 1 Pixel beschränkt, so dass das ReferenzTemplate nur um ganze Pixel verschoben werden kann. Eine weitere Besonderheit ist, dass bei B-VOPs der Shapes keine bidirektionale Prädiktion eingesetzt wird. Statt dessen wird vorwärtsbzw. rückwärtsgerichtete Prädiktion verwendet, je nachdem welches Referenzbild zeitlich näher liegt. Auch die Interframe-Kompression nutzt die kontext-basierte arithmetische Codierung, die jedoch nur 512 verschiedene Kontexte berücksichtigt und auch eine abweichende Wahrscheinlichkeits-Tabelle verwendet. Die arithmetische Codierung arbeitet verlustfrei. Soll ein BAB verlustbehaftet codiert werden, so geschieht dies durch Reduktion der Auflösung und Interpolation bei der Decodierung. 1.7.3.3 Advanced Video Coding
Entstehung und Einsatzgebiete
Advanced Video Coding (AVC) wurde durch das Joint Video Team von ITU und ISO/IEC erarbeitet. Die Entwicklung des Kompressionsverfahrens begann schon 1998, als die ITU sich das Ziel setzte, einen Codec zu schaffen, der die Effizienz bestehender Verfahren um das Doppelte übertreffen sollte. Ende 2001 beschlossen ITU und die MPEG-Gruppe, ihre Kompetenzen zu vereinen, was 2003 in der ersten Veröffentlichung des Codecs und schließlich in der Standardisierung als Teil 10 des MPEG-Standards resultierte. In Nomenklatur der ITU wird AVC als H.264 geführt, weshalb man den Codec oft auch als H.264/AVC bezeichnet. Bei der Entwicklung von AVC wurde ein breites Spektrum an möglichen Einsatzgebieten anvisiert [Wie03]: x Ausstrahlung und Verbreitung über Kabelfernsehen und Satelliten, über Kabelmodems und DSL sowie über terrestrischen Rundfunk x Speicherung auf optischen und magnetischen Speichermedien mit seriellem oder wahlfreiem Zugriff x Dialogdienste über Modems, ISDN, DSL, LAN, kabellose und Mobilfunk-Netze oder über Kombinationen davon
56
■ ■ ■
1 Kompressionsverfahren für Video und Audio
x Abrufdienste (Video-on-Demand und Streaming) über ISDN, Kabelmodems, DSL, LAN, kabellose Netze usw. x Multimedia Messaging Services (MMS) über ISDN, DSL, LAN und kabellose und Mobilfunk-Netze Gemäß den gesetzten Entwicklungszielen ist AVC heute sowohl in Bereichen zu finden, in denen qualitativ hochwertiges Video benötigt wird, als auch dort, wo die Minimierung der Datenrate als primäres Ziel gilt. So ist AVC neben MPEG-2 und Microsofts VC-1 auf den konkurrierenden, hoch auflösenden DVD-Nachfolgern HD-DVD und Blu-ray Disc vertreten und erlaubt die Video-Codierung in HDTVAuflösung von 1920 u 1080 Pixeln mit Datenraten im Bereich von 8 Mbit/s. Bei Handhelds ist AVC für die IP-basierte Übertragung von Videomaterial im Rahmen des Digital Video Broadcast vorgesehen. Auf Betreiben von Nokia und Ericsson wurde AVC im Jahre 2004 vom 3rd Generation Partnership Project (3GPP) für das Dateiformat 3GP übernommen. Bei 3GPP handelt es sich um einen Zusammenschluss mehrerer Standardisierungs-Gremien aus der TelekommunikationsBranche. Typische Datenraten von AVC für das 3GP-Format sind 50200 Kbit/s. Die Funktionalität des AVC-Verfahrens wurde trotz der vielfältigen Einsatzmöglichkeiten stark gegenüber MPEG-4 verringert, und stellt in gewisser Weise eine Rückkehr zu einfachen Kompressionsstandards dar, wie die erfolgreichen Vorläufer von MPEG-4 es sind. AVC beschränkt sich ganz auf die Codierung rechteckiger Videoinhalte, die als Halbbilder oder Vollbilder vorliegen können. Die Verarbeitung von Shapes, Standbildern oder 3D-Objekten ist nicht Teil des Standards. AVC wurde von Grund auf eigenständig entwickelt und ist zu keiner der früheren MPEG-Versionen kompatibel. Die geringere Komplexität wird auch bei der Betrachtung von Levels und Profilen deutlich. Während für MPEG-4 Visual 19 Profile und 7 Levels definiert wurden, kennt AVC mit Baseline, Main und Extended lediglich drei Profile. Wie die anderen MPEG-Standards definiert auch AVC nur die komprimierten Datenströme und den Decoder. Die Datenströme bestehen aus zwei konzeptionellen Schichten, dem Video Coding Layer (VCL) und dem Network Abstraction Layer (NAL). Der VCL realisiert die eigentliche Videokompression und erzeugt die Bitfolgen der komprimierten Makroblock-Slices. Diese werden in NAL Units aus mehreren Bytes eingebettet. Dabei handelt es sich um ein generisches Format, das eine einfache Abbildung auf Paket- und Bitstromorientierte Transportschichten erlaubt. So lassen sich AVC-Daten beispielsweise mit RTP/IP oder mit MPEG-2 Systems übermitteln. Auch Speichermedien mit wahlfreiem oder sequentiellem Zugriff werden unterstützt.
1.7 Videokompression mit MPEG
Reduktion von Komplexität
Aufbau der Datenströme
■ ■ ■
57
Fidelity Range Extensions
Sub-Makroblöcke
Langzeit-Prädiktion
gewichtete Prädiktion
Der ursprüngliche AVC-Standard sieht Videomaterial in 8 Bit Farbtiefe vor. Chrominanz wird im 4:2:0-Format verarbeitet, wobei die CrCb-Samples wie bei MPEG-2 und MPEG-4 positioniert sind. Um u. A. auch höhere Farbauflösungen wie 4:2:2 und 4:4:4 verarbeiten zu können, wurden die Fidelity Range Extensions vorgeschlagen, die kurz vor der Standardisierung stehen [ISO04b]. Die Extensions unterstützen auch Farbtiefen bis 12 Bit sowie höhere Auflösungen und Datenraten und werden besonders von der Fernseh- und Unterhaltungsbranche begrüßt [STL04]. Durch die Fidelity Range Extensions erhält AVC 4 zusätzliche Profile, die gemeinsam als High Profiles bekannt sind. Auch AVC ist wie seine Vorgänger ein hybrider, blockbasierter Codec mit Bewegungskompensation und definiert keine grundlegend neuen Verarbeitungsschritte. Die bessere Kompressionsleistung resultiert aus der Summe vieler kleiner Verfeinerungen an den einzelnen Verarbeitungsschritten [Wie03]. Eine Vielzahl der Neuerungen zielt auf eine genauere Prädiktion ab. So ist eine flexible, hierarchische Aufteilung des Bildes in Makroblöcke für die Bewegungskompensation möglich. Die grundlegenden Makroblockgrößen sind 16 u 16, 16 u 8, 8 u 16 und 8 u 8 Pixel. Die Unterteilung in 8 u 8 Pixel resultiert in sog. Sub-Makroblöcken, die jeweils weiter aufgeteilt werden können. Dabei sind analog zu den grundlegenden Makroblockgrößen Blöcke aus 8 u 4, 4 u 8 und 4 u 4 Pixel erlaubt. In Abb. 1.29 ist eine solche Bild-Unterteilung beispielhaft dargestellt. Die Bewegungsvektoren für die Makroblöcke werden nun stets mit einer Genauigkeit von ¼ Pixel errechnet. Ein weiteres Mittel zur Verbesserung der Prädiktionsleistung ist die Langzeit-Prädiktion. Während die vorwärtsgerichtete Prädiktion bisher nur auf einem Referenzbild basierte, wird nun eine größere Anzahl an Referenzbildern gespeichert. So kann dasjenige Referenzbild für die Prädiktion herangezogen werden, mit dem sich die geringsten Prädiktionsfehler ergeben. Auch für die bidirektionale Prädiktion kann auf mehrere Referenzbilder zurückgegriffen werden. Durch gewichtete Prädiktion kann das Prädiktionsbild, das sich aus den bewegungskompensierten Makroblöcken zusammensetzt, gewich-
Abb. 1.29: Mögliche Aufteilung in Makroblöcke
58
■ ■ ■
1 Kompressionsverfahren für Video und Audio
tet und um bestimmte Werte versetzt werden, was sich besonders bei Überblendungen im Videomaterial bezahlt macht. Bei allen blockbasierten Video-Codecs können Block-Artefakte entstehen, die sich als störende Blockbildungen im komprimierten Videomaterial bemerkbar machen. Daher wurden schon im Standard MPEG-4 Visual verschiedene Filter definiert, mit denen ein Decoder Block-Artefakte nachträglich verringern kann. Während diese Filter jedoch am Ende der Verarbeitungskette auf das decodierte Bild angewendet wurden, integriert AVC den Deblocking-Filter schon früher. Der Filter wird auf das Prädiktionsbild angewendet, was ebenfalls dazu beiträgt, Prädiktionsfehler zu verringern. Während B-Frames in früheren Standards nicht selbst als Basis für die Prädiktion herangezogen werden konnten, ist dies bei AVC nun erlaubt. So wird bei der Implementierung des Encoders größere Flexibilität eingeräumt. Weitere neue Freiheiten auf Seite des Encoders ergeben sich dadurch, dass keine feste Beziehung zwischen Anzeigereihenfolge und Übertragungsreihenfolge einer Bildfolge mehr definiert wird. So kann der Encoder Bilder nahezu in beliebiger Reihenfolge anordnen. Neben den Verarbeitungsschritten, die speziell auf die Prädiktion abzielen, wurden auch die restlichen Kompressionsschritte optimiert. So wird keine DCT mehr eingesetzt, sondern eine Integer-Transformation, die auf Basis von 4 u 4 Pixeln arbeitet. Diese Blockgröße korrespondiert mit der kleinsten Makroblockgröße für die Prädiktion. Wenn nötig, kann die Blockgröße für tieffrequente Chrominanzinformation durch eine hierarchische Transformation auf 8 u 8 Pixel erhöht werden. Dasselbe gilt für Luminanzinformation, bei denen auch Blockgrößen von 16 u 16 Pixeln erreicht werden können. Die Integer-Transformation ist exakt umkehrbar und lässt sich effizienter berechnen als die DCT. DCT und IDCT konnten im Rahmen der MPEG-Vorgaben in Encoder und Decoder unterschiedlich implementiert sein, wodurch dasselbe Videomaterial von unterschiedlichen Decodern unterschiedlich decodiert wurde. Bei AVC wird dagegen von jedem Standard-konformen Decoder dasselbe Bild erzeugt. Durch die veränderte Transformation musste auch die nachfolgende Entropiecodierung speziell angepasst werden. Als Verarbeitungsschritte werden eine kontext-basierte Huffman-Codierung und eine kontext-basierte arithmetische Codierung unterstützt. Weitere Verbesserungen betreffen nicht die Kompression, sondern die Übertragung, und erhöhen dort speziell die Robustheit gegenüber Datenverlusten. So sind nun wieder sehr flexible Gruppierungen der Makroblöcke zu Slices möglich, was eine Rückbesinnung auf die Konzepte von MPEG-1 bedeutet. Slices können in beliebiger Reihenfolge angeordnet werden und müssen nicht die Rasterzeilen-Reihenfolge
1.7 Videokompression mit MPEG
Deblocking-Filter
weitere Verbesserungen der Prädiktion
Integer-Transformation
Robustheit gegenüber Datenverlusten
■ ■ ■
59
Slice Groups
SI- und SP-Frames
früherer Standards von links nach rechts und von oben nach unten einhalten. Darüber hinaus können Slices flexibel zu Slice Groups zusammengefasst werden, die auch untereinander verschränkt sein dürfen. Dabei werden fünf Standardmuster für Slice Groups vorgegeben, es ist jedoch auch eine völlig freie Zuordnung von Slices zu Slice Groups möglich. Trotz Verschränkung werden die Makroblöcke einer Slice Group alle an einem Stück codiert. Gehen nun Blöcke einer Slice Group verloren, so können diese z. B. durch Interpolation aus den anderen Slice Groups ersetzt werden. Encoder können Bilder oder Teile von Bildern redundant codieren, so dass bei Informationsverlust der Rückgriff auf die redundanten Daten möglich ist. Meist ist dabei nicht die gesamte ursprüngliche Information redundant vorhanden, sondern lediglich qualitativ schlechtere Versionen. Mit SI-Frames und SP-Frames werden spezielle Bildtypen eingeführt, die u. A. das Umschalten zwischen unterschiedlichen Videostreams vereinfachen. So kann ein Decoder bei variierender Verbindungsgeschwindigkeit leicht zwischen unterschiedlich komprimierten Versionen eines Videos wechseln.
1.8 Audiokompression mit MPEG
MPEG-2 Audio
60
■ ■ ■
Obwohl bei digitalen Audiosignalen weitaus geringere Datenmengen anfallen als bei digitalem Video, kann auch hier selten auf Kompression verzichtet werden. In diesem Kapitel werden mit MPEG-1 Audio, das durch MP3 bekannt ist, und MPEG-4 Audio Lossless Coding zwei sehr unterschiedliche Verfahren für die Kompression von Audiodaten vorgestellt. MPEG-1 Audio verwendet ein psychoakustisches Modell und arbeitet verlustbehaftet. MPEG-4 Audio Lossless Coding befindet sich derzeit noch in der Standardisierungsphase und ist ein verlustfreies Verfahren, das weitgehend auf Prädiktion basiert. Für MPEG-1 Audio existieren inzwischen viele Alternativen, die bei gleicher Qualität höhere Kompressionsraten erzielen. Mit dem Nachfolger MPEG-2 Audio kamen zunächst nur Erweiterungen für geringe Sampling- und Bitraten hinzu. Zusätzlich wird durch MPEG-2 Audio die Kompression von 5.1-Mehrkanalton mit fünf vollwertigen Kanälen und einem Kanal für tiefe Frequenzen unterstützt. Alle diese Erweiterungen sind zu MPEG-1 Audio abwärtskompatibel. Im Falle von Mehrkanalton werden die Kanäle so auf Stereo heruntergemischt, dass sie in einem MPEG-1-kompatiblen Datenstrom transportiert werden können. MPEG-1-Decoder verwenden dann diese Stereospur, während MPEG-2-Decoder den ursprünglichen Mehrkanalton rekonstruieren
1 Kompressionsverfahren für Video und Audio
können. Informationen für die Rekonstruktion können ebenfalls im Datenstrom untergebracht oder separat übermittelt werden. Außer für die Mehrkanalunterstützung definiert MPEG-2 gegenüber MPEG-1 keine grundlegend neuen Verarbeitungsschritte, sondern nimmt nur kleine Änderungen an der Bitstrom-Syntax sowie an den psychoakustischen Modellen vor, um den neuen Sampling- und Bitraten gerecht zu werden. Diese spärlichen Neuerungen gewährleisten zwar die Abwärtskompatibilität, bieten jedoch auch wenig Raum, um die Kompressionsleistung nennenswert zu verbessern. Daher wurde Advanced Audio Coding (AAC) als Teil 7 des MPEG-2-Standards veröffentlicht, das nicht mehr abwärtskompatibel ist. Auch wenn AAC ebenfalls keine grundlegend neuen Verarbeitungsschritte einführt, wird die Kompressionsrate durch viele kleine Ergänzungen und Optimierungen um bis zu 30% verbessert [Bra99]. So werden Frequenzen z. B. mit höherer Auflösung verarbeitet und der Einsatz von Prädiktion ist optional ebenfalls möglich. MPEG-4 bietet wie auch schon für die Videokompression eine breite Palette an unterschiedlichen Kompressionsverfahren, und zielt im Besonderen darauf ab, auch die Codierung mit geringen Bitraten unter 64 kbit/s zu verbessern [HeG00]. Teile des Standards beschäftigen sich speziell mit der Kompression von Sprache. Sowohl für Sprachsignale als auch für Musik werden zusätzlich parametrische Codierverfahren standardisiert. Die universell einsetzbare Audiokompression von MPEG-4 baut auf AAC auf, und wird daher auch als MPEG-4 AAC bezeichnet. Eine Ergänzung zu AAC ist Perceptual Noise Substitution (PNS), bei dem rauschartige Signalkomponenten durch eine parametrische Repräsentation ersetzt werden. LangzeitPrädiktion (vgl. Kap. 1.8.2) ermöglicht die Berücksichtigung von Redundanz, die durch periodische Signalkomponenten bedingt ist. Mit TwinVQ (vgl. Kap. 1.3.1) wird die herkömmliche Quantisierung durch eine optionale Vektorquantisierung ergänzt. Weitere neue Eigenschaften von MPEG-4 AAC sind eine verbesserte Fehlertoleranz und die Möglichkeit, skalierbar zu komprimieren.
MPEG-2 Advanced Audio Coding (AAC)
MPEG-4 Audio
1.8.1 MPEG-1 Audio MPEG-1 Audio unterstützt die Kompression von Audiodaten mit Samplingraten von 32, 44,1 und 48 kHz und definiert 3 Audio-Layer, die sich bezüglich ihrer Komplexität und Kompressionsleistung unterscheiden. Für die ersten beiden Layer liefert MPEG-1 Beispiel-Implementierungen psychoakustischer Modelle (vgl. Kap. 1.4.2), die im Encoder verwendet werden können. Datenraten und Einsatzmöglichkeiten der Layer werden im folgenden Abschnitt nach [Pan95] umrissen.
1.8 Audiokompression mit MPEG
■ ■ ■
61
Tabelle 1.8: Datenraten der drei Layer von MPEG-1 Audio
Gegenstand der Standardisierung
minimale Datenrate optimale Datenrate maximale Datenrate
Layer I
Layer II
Layer III
32 kbit/s >128 kbit/s 448 kbit/s
32 kbit/s ~128 kbit/s 384 kbit/s
32 kbit/s ~64 kbit/s 320 kbit/s
Kompression nach dem Layer I wurde u. A. für die Digital Compact Cassette (DCC) von Philips eingesetzt, die jedoch mit dem Aufkommen der CD-R eingestellt wurde. Layer I ist einfach aufgebaut und eignet sich besonders für Bitraten von 128 kbit/s an aufwärts. Layer II ist für Bitraten um 128 kbit/s optimiert, und Layer III für geringe Bitraten um 64 kbit/s. Für jeden Layer sind 14 verschiedene, feste Bitraten vorgegeben. Der Standard erlaubt es aber auch, die Bitrate für jeden Layer frei einzustellen. In Layer I und II sind die Bitraten stets konstant, Layer III erlaubt dagegen auch variable Bitraten. Wird die Bitrate allerdings frei definiert, so ist sie auch hier konstant und kann nicht variieren. In Tabelle 1.8 findet sich ein Überblick zu den Bitraten der drei Layer. Einsatzgebiete des Layers II sind die Video-CD und der digitale Radio-Rundfunk (Digital Audio Broadcast, DAB). Layer III bietet qualitativ die besten Resultate und ist landläufig unter der Bezeichnung MP3 bekannt. Wie die MPEG-Verfahren für die Kompression von Videodaten schreibt MPEG-1 Audio nur die Syntax für den komprimierten Datenstrom und den Decoder vor. So bleiben auf Seite des Encoders viele Möglichkeiten zur Optimierung offen. Dies gilt im Besonderen natürlich auch für psychoakustische Modelle, welche maßgeblich die Qualität eines Encoders bestimmen [Bra99]. 1.8.1.1 Funktionsprinzip
Layer III
62
■ ■ ■
In Abb. 1.30 ist das Funktionsprinzip eines Layer III Audio Coders zu sehen. Das Audiosignal wird zunächst durch eine Filterbank in 32 Subbänder gleicher Breite zerlegt, um der eingeschränkten Frequenzauflösung des menschlichen Gehörs Rechnung zu tragen. Die Subbänder können nicht exakt voneinander abgegrenzt werden, sondern überlappen sich gegenseitig. Somit können sich Maskierer auch auf zwei aneinander angrenzende Subbänder auswirken. Bei der Wahl von 32 Subbändern gleicher Breite handelt es sich um eine sehr grobe Annäherung, da die kritischen Frequenzgruppen des Gehörs unterschiedliche Breiten besitzen (Kap. 1.4.2). Daher ist bei Layer-IIIEncodern zusätzlich eine modifizierte diskrete Kosinustransformation (MDCT) nachgelagert, die jedes Subband in weitere 18 feinere Bänder
1 Kompressionsverfahren für Video und Audio
Abb. 1.30: Funktionsprinzip des MPEG-1 Audio Layer III
zerlegt. Durch die feinere Frequenzauflösung kann das Quantisierungsrauschen genauer an die Hörschwelle angenähert werden. Die MDCT wird auf Blöcke zeitlich aufeinander folgender Samples angewendet, wobei sich die Blöcke gegenseitig zu 50% überlappen. Als Blocklängen kommen 12 bzw. 36 Samples zum Einsatz. Die Wahl unterschiedlicher Blocklängen wirkt der Tatsache entgegen, dass die zeitlichen Signalinformationen bei der Transformation in den Frequenzbereich verloren gehen. So wird für wechselhafte Signalabschnitte, in denen eine genauere zeitliche Auflösung gewünscht wird, die kürzere Blocklänge aus 12 Samples eingesetzt. Blöcke aus 36 Samples werden dagegen für stationäre Signalabschnitte herangezogen, um dort eine höhere Frequenzauflösung zu erhalten. In den Layers I und II fehlt die MDCT, so dass u. U. mehrere kritische Frequenzgruppen auf ein Subband abgebildet werden. Dies gilt insbesondere für niedrige Frequenzen, da die Frequenzgruppen dort besonders schmal sind. In solchen Fällen bestimmt die Frequenzgruppe mit der geringsten Maskierungskapazität die Quantisierung des gesamten Subbands. Die Filterbank-Zerlegung ist ein irreversibler Vorgang, der sich nicht ohne Verluste wieder rückgängig machen lässt. Auftretende Fehler sind jedoch sehr gering. Die MDCT und zugehörige inverse Transformation arbeiten verlustfrei. Die Beispiel-Implementierungen der psychoakustischen Modelle im MPEG-Standard verwenden nicht die Signal-Repräsentation nach Filterbank bzw. MDCT für die Ermittlung der optimalen Quantisierung. Insbesondere die Layers I und II bieten durch die fehlende MDCT keine ausreichend genaue Frequenzauflösung. Daher nehmen die Modelle eine separate Transformation des ursprünglichen Audiosignals in den Frequenzbereich vor, was durch eine schnelle Fouriertransformation (FFT) erfolgt. Je nach psychoakustischem Modell und Layer werden dabei 512 oder 1024 aufeinander folgende Samples transformiert. Durch die Transformation von Sampleblöcken bleibt zeitliche Signalinformation wie bei der MDCT innerhalb gewisser Grenzen erhalten. So resultiert aus einer Samplingfrequenz von 44,1 kHz und einer Blocklänge von 512 Samples z. B. eine zeitliche Auflösung von etwa 11,6 ms.
1.8 Audiokompression mit MPEG
Blockbildung
Layers I und II
psychoakustische Modelle
■ ■ ■
63
Maskierungsschwelle
Quantisierung in Layer III
Verstärkungsfaktoren
Huffman-Codierung
64
■ ■ ■
Auf Basis der Zeit-Frequenzrepräsentation des Audio-Signals bestimmt das psychoakustische Modell die Maskierungsschwelle für das Quantisierungsrauschen. Dabei werden Frequenzen nach kritischen Frequenzgruppen sortiert und gruppenweise verarbeitet. Für maskierende Signalkomponenten wird die Maskierungskapazität innerhalb der jeweiligen Frequenzgruppe und mögliche Auswirkungen des Maskierers auf umliegende Frequenzgruppen ermittelt. Darüber hinaus wird die Ruhehörschwelle berücksichtigt, um bestimmte Signalkomponenten evtl. komplett zu eliminieren. Für die MDCT wählt das psychoakustische Modell in Abhängigkeit von der Signalcharakteristik zusätzlich die Blocklänge aus. Quantisierung und Codierung der MDCT-Koeffizienten werden im Folgenden für Layer III dargestellt. In den anderen Layers ist die Quantisierung etwas einfacher, und eine Codierung der quantisierten Koeffizienten wird dort nicht vorgenommen. Die Quantisierung der MDCT-Koeffizienten erfolgt in Layer III nichtlinear, so dass kleine Koeffizienten feiner quantisiert werden, während für große Koeffizienten eine gröbere Quantisierung gewählt wird. Dadurch erfolgt schon eine einfache Rauschformung mit stärkerem Rauschen bei Signalteilen, die durch große Koeffizienten repräsentiert werden. Da große Koeffizienten aus hohen Signalamplituden resultieren, wird das Rauschen dabei meist gut überdeckt. Praktisch realisiert wird die Quantisierung in der Regel durch zwei verschachtelte Schleifen, innerhalb derer Verstärkungs- und Skalenfaktoren ermittelt werden [Bra99]. Die Verstärkungsfaktoren beeinflussen für jeden Datenblock die Schrittbreite der Quantisierung. Diese hat wiederum direkten Einfluss auf die resultierende Datenrate, weshalb die Schleife zur Bestimmung des Verstärkungsfaktors als Rate Loop bezeichnet wird. Im Rate Loop werden die quantisierten Werte eines Sampleblocks mit einer Huffman-Codierung codiert, die häufiger auftretenden Werten kurze Codewörter zuweist. Ist die resultierende Datenrate nach der Codierung zu hoch, wird der Verstärkungsfaktor angehoben und der Block damit gröber quantisiert. Dies wird so lange wiederholt, bis nach der Huffman-Codierung die gewünschte Datenrate vorliegt. Für die Huffman-Codierung werden die 576 Koeffizienten jedes Blocks zunächst umsortiert, was im einfachsten Fall aufsteigend nach Frequenzen erfolgt. Während bei den tiefen Frequenzen große MDCTKoeffizienten auftreten, finden sich bei hohen Frequenzen viele Nullkoeffizienten. Analog zur Koeffizienten-Sortierung in der Bilddatenkompression zielt man demnach darauf ab, Nullkoeffizienten zu gruppieren und effizient durch eine Lauflängencodierung zu erfassen. Die sortierten Koeffizienten werden in drei Regionen unterteilt. Die erste Region enthält alle Nullkoeffizienten bis zum ersten Koeffizienten ungleich 0,
1 Kompressionsverfahren für Video und Audio
die einer Lauflängencodierung unterzogen werden. Für die zweite und dritte Region ist eine Auswahl separater Tabellen mit Huffman-Codes verfügbar, die speziell an die typische Signalstatistik dieser Bereiche angepasst sind. In einer zweiten Schleife wird anhand des psychoakustischen Modells überprüft, ob durch die Quantisierung des Rate Loops ein Rauschen entstanden ist, das über der Hörschwelle liegt. Ist dies der Fall, werden die Koeffizienten des betroffenen Subbands durch einen Skalenfaktor angehoben. Da diese Anhebung in einer höheren Amplitude der Signalkomponenten resultiert, wird der Signal-Rausch-Abstand bei einem weiteren Quantisierungs-Durchlauf des Rate Loops verbessert. Da höhere Amplituden gleichzeitig jedoch mehr Bits für die Codierung benötigen, bedeutet eine Anhebung durch den Skalenfaktor implizit auch eine Umverteilung der Bitallokation unter den einzelnen Subbändern. Die verfügbare Bitrate wird dadurch so auf die Subbänder verteilt, dass Quantisierungsrauschen dort entsteht, wo es am ehesten vom psychoakustischen Modell toleriert wird. Aufgrund ihrer rauschformenden Eigenschaft wird die Schleife zur Bestimmung der Skalenfaktoren als Noise Control Loop bezeichnet. Rate Loop und Noise Control Loop werden wechselseitig durchgeführt, wobei der Rate Loop immer dann ausgeführt wird, wenn im Noise Control Loop Skalenfaktoren angepasst wurden. Der Rate Loop wird demnach vom Noise Control Loop aus aufgerufen. Durch diese Implementierung können u. U. Endlosschleifen entstehen, weshalb im Encoder auch geeignete Abbruchkriterien zu implementieren sind. Die Anhebung einzelner Subbänder muss im Decoder natürlich wieder rückgängig gemacht werden, weshalb Skalen- und Verstärkungsfaktoren zusammen mit den Nutzdaten in den Datenstrom geschrieben werden. Obwohl sich die Skalenfaktoren für eine DeltaCodierung anbieten, werden sie nicht codiert, sondern direkt übertragen. Erst von MPEG-2 AAC an werden die Skalenfaktoren durch eine Delta-Codierung verarbeitet. Bei der Formatierung des Datenstroms kann optional eine spätere Fehlererkennung durch Einfügen von CRC-Werten ermöglicht werden. Zusätzlich lassen sich sog. Ancillary-Daten eincodieren, die Metainformationen über das Audiomaterial enthalten. Diese auch als ID3-Tag bekannten Informationen können von Abspielgeräten angezeigt werden und lassen sich beliebig editieren.
Skalenfaktoren
ID3-Tags
1.8.1.2 Codierung von Stereosignalen
Stereophone Wahrnehmung, also die zweidimensionale Lokalisation einer sog. Phantomschallquelle zwischen linkem und rechtem Laut-
1.8 Audiokompression mit MPEG
stereophone Wahrnehmung
■ ■ ■
65
Abb. 1.31: Lokalisation der Phantomschallquelle bei stereophoner Wiedergabe
Binaural Masking Level Difference
Joint Stereo Modus
66
■ ■ ■
sprecher, wird durch zwei Faktoren bestimmt (Abb. 1.31). Zum einen beeinflusst die jeweilige Lautstärke des rechten bzw. linken Audiosignals die örtliche Wahrnehmung der Phantomschallquelle. Zum anderen tragen Laufzeitunterschiede der Schallwellen von den Lautsprechern zum Zuhörer dazu bei, die Phantomschallquelle eher links oder eher rechts zu orten. Für die stereophone Aufnahme existieren unterschiedliche Verfahren, die jeweils den einen oder anderen Faktor stärker berücksichtigen [Dic97]. MPEG-1 Audio unterstützt sowohl Mono- als auch Zweikanal-Ton. Zweikanal-Ton kann aus zwei unabhängigen Einzel- oder Stereokanälen bestehen, was jeweils durch separate Codierung der Kanäle realisiert wird. Da die Kanäle einzeln codiert werden, ist auch das Quantisierungsrauschen der Kanäle unabhängig voneinander und scheint bei stereofoner Wiedergabe nicht aus Richtung der Phantomschallquelle zu kommen. So kann das Quantisierungsrauschen wahrnehmbar werden, auch wenn es in den einzelnen Kanälen nicht hörbar ist. Der Effekt, dass Geräusche sich gegenseitig weniger verdecken, wenn sie stereofon aus unterschiedlichen Richtungen kommen, wird Binaural Masking Level Difference (BMLD) genannt [ZwF99]. Die BMLD spielt auch im Zusammenhang mit dem Cocktailparty-Effekt eine Rolle, der sich speziell auf Sprache in lauter Umgebung konzentriert. Hier zeigt sich ebenfalls, dass stereofones Hören die Verständlichkeit des Sprachsignals in Anwesenheit von Störgeräuschen stark verbessert. Militärpiloten in Kampfflugzeugen erhalten Sprachnachrichten über Kopfhörer, die Signale für das eine Ohr gegenüber den Signalen für das andere Ohr um 180° in der Phase drehen. Durch diese künstlich erzeugte Laufzeitdifferenz können die Nachrichten trotz des Fluggeräuschs gut verstanden werden [Aro92]. Bei der Ermittlung der Maskierungsschwelle für die separate Codierung von Stereokanälen muss die BMLD mit berücksichtigt werden. Neben der separaten Codierung zweier Kanäle existiert ein Joint Stereo Modus, bei dem Korrelationen zwischen den Stereokanälen für
1 Kompressionsverfahren für Video und Audio
die Kompression berücksichtigt werden. Joint Stereo dient MPEG-1 Audio als Oberbegriff für zwei unterschiedliche Arten der StereoCodierung, namentlich Intensity Stereo und MS-Stereo. Codierung als Intensity Stereo macht sich die psychoakustische Eigenschaft des Gehörs zu Nutze, eine eingeschränkte Stereo-Wahrnehmung für Frequenzen über 2 kHz zu besitzen. Ab dieser Frequenz wird die Stereo-Lokalisation innerhalb kritischer Frequenzgruppen wenig von Laufzeitdifferenzen sondern fast nur noch von Lautstärkeunterschieden des rechten bzw. linken Audiosignals beeinflusst. Daher addiert Intensity Stereo die Stereoinformation beider Kanäle in hochfrequenten Subbändern zu einem Summensignal. Je nach gewünschter Kompressionsrate lassen sich dabei 16 bis 28 von insgesamt 32 korrespondierenden Subbändern zusammenfassen. Mit Hilfe zusätzlicher Skalierungsfaktoren kann der Decoder aus dem Summensignal wieder zwei unterschiedliche Signale errechnen, die sich jedoch nur noch in der Signalintensität und nicht mehr in der Laufzeit unterscheiden. Die MS-Stereo-Codierung errechnet für bestimmte Frequenzgruppen aus dem linken und rechten Stereokanal durch Summen- bzw. Differenzbildung ein Mitten- bzw. Seitensignal. Je stärker die Phantomschallquelle in der Mitte der beiden Kanäle lokalisiert ist, desto stärker lässt sich das Seitensignal komprimieren. Dies liegt daran, dass die Unterschiede zwischen linkem und rechtem Kanal dann gering sind, und diese Redundanz durch Differenzbildung effizient verringert wird. Die Umwandlung in Mitten- und Seitensignal kann vom Decoder ohne Informationsverlust wieder rückgängig gemacht werden. Für sich alleine betrachtet stellt MS-Stereo-Codierung demnach eine verlustfreie Redundanzreduktion dar. Allerdings erlaubt MS-Stereo eine gröbere Quantisierung als die separate Codierung einzelner Kanäle, da sich die BMLD durch die kombinierte Codierung weniger stark auswirkt. Während Joint Stereo in Layer I und II immer als Intensity Stereo realisiert wird, kann das Verfahren in Layer III adaptiv zwischen Intensity und MS Stereo wechseln. Der Begriff Joint Stereo ist sehr gebräuchlich und wird auch im Zusammenhang mit anderen Kompressionsverfahren verwendet, wobei er nicht unbedingt dieselben Realisationsformen von Stereo-Codierung bezeichnet.
Intensity Stereo
MS-Stereo
1.8.2 MPEG-4 Audio Lossless Coding Während sich die verlustfreie Bilddatenkompression mit JPEG-LS und JPEG-2000 schon seit längerer Zeit in speziellen Anwendungsbereichen etabliert hat, befinden sich entsprechende Verfahren für Audio derzeit noch in der Standardisierungsphase. Durch Audio Lossless
1.8 Audiokompression mit MPEG
■ ■ ■
67
Lossless Predictive Audio Coder (LPAC), Advanced Audio Zip (AAZ)
adaptive prädiktive Codierung
Frame- und Blockbildung
68
■ ■ ■
Coding (ALS) nach [LMH05] soll MPEG-4 um ein Verfahren für die verlustfreie Audiokompression ergänzt werden. ALS ist Nachfolger des Lossless Predictive Audio Coder (LPAC), der an der Technischen Universität Berlin entwickelt wurde. LPAC konnte sich bei einer Evaluation der MPEG-Arbeitsgruppe gegenüber Verfahren von Microsoft, Real Networks und dem Fraunhofer IIS durchsetzen und wurde als Basis für die weitere Entwicklung ausgewählt [Lie04]. Da ALS ausschließlich verlustfrei komprimiert und keine Skalierungseigenschaften aufweist, soll MPEG-4 mit Advanced Audio Zip (AAZ) durch ein zusätzliches Verfahren komplettiert werden, das von verlustbehaftet bis verlustfrei skalierbar ist [YLR04]. Entwickelt wurde AAZ am Institute for Infocomm Research, einer staatlichen Forschungseinrichtung in Singapur. 16 ALS unterstützt 2 Kanäle, die beliebige Abtastraten besitzen und mit maximal 32 Bit quantisiert sein dürfen. Wie sein Vorgänger LPAC verwendet ALS adaptive prädiktive Codierung als wichtigsten Verarbeitungsschritt, um die Korrelation der Signalwerte zu verringern und die Bedingungen für eine anschließende Entropiecodierung zu verbessern. Adaptiv ist die Prädiktion sowohl bezüglich der Werte der Prädiktorkoeffizienten, als auch bezüglich der Ordnung des Prädiktors, also der berücksichtigten Samplezahl. Bei der Prädiktion unterstützt ALS rückwärts- oder vorwärtsgerichtete Varianten, die jeweils unterschiedliche Anforderungen an den Decoder stellen. Die rückwärtsgerichtete Prädiktion erfolgt auf Basis bereits decodierter Werte, und berücksichtigt somit nur die zeitlich zurückliegende Signalcharakteristik. Dies hat den Nachteil, dass meist größere Prädiktionsfehler entstehen. Darüber hinaus müssen Decoder dieselben prädiktiven Schritte ausführen wie Encoder, wodurch Decoder-Implementierungen entsprechend aufwändig sind. Ein Vorteil der rückwärtsgerichteten Prädiktion ist, dass der Decoder keine zusätzlichen Informationen benötigt. Die vorwärtsgerichtete Adaption erfolgt nicht ausschließlich auf Basis bereits decodierter Werte, sondern berücksichtigt teilweise auch die zeitlich voraus liegende Signalstatistik. Dazu müssen dem Decoder zusätzliche Informationen in Form von Filterkoeffizienten (LPC) bereitgestellt werden, die neben den Prädiktionsfehlern zu übermitteln sind. Dadurch ist der Aufwand für die Decodierung geringer, weil der Decoder selbst keine Prädiktion mehr vornehmen muss, sondern die übermittelten Filterkoeffizienten verwenden kann. Nachteilig wirkt sich auf die Kompressionsrate aus, dass insgesamt mehr Information übermittelt werden muss. Für die Verarbeitung wird das Audiosignal in Frames und Blöcke unterteilt. Die Frames bestehen aus einer konstanten Anzahl von N Samples, wobei N an die Samplingfrequenz der Audiodatei angepasst
1 Kompressionsverfahren für Video und Audio
Abb. 1.32: Mögliche Aufteilungen in Frames bei der Verarbeitung
werden kann. Typische Framelängen sind 2048 Samples bei 48 kHz und 4096 Samples bei 96 KHz, was beides einer Dauer von etwa 43 ms entspricht. Jeder Frame kann in max. 32 Blöcke unterteilt werden, und für jeden Block lassen sich die Ordnung des Prädiktors und die Filterkoeffizienten neu bestimmen. Als Blocklängen sind Kombinationen aus N, N/2, N/4, N/8, N/16 und N/32 Samples erlaubt, die nahezu beliebig variiert werden dürfen. Die einzige Vorgabe besagt, dass die Unterteilung hierarchisch erfolgen muss, so dass jeder Block sich aus der Unterteilung eines übergeordneten Blocks doppelter Länge ergibt. Dies ist in Abb. 1.32 dargestellt, wobei die Unterteilungen mit den grau markierten Blöcken nicht zulässig sind. Indem die Ordnung des Prädiktors auf Blockebene angepasst wird, können bei stationären Schallereignissen längere Blöcke und ein Prädiktor höherer Ordnung verwendet werden. Dabei werden die Prädiktionsfehler mit steigender Ordnung des Prädiktors geringer, da unter Berücksichtigung mehrerer Signalwerte genauere Vorhersagen möglich sind. Bei der vorwärtsgerichteten Adaption nimmt mit der Ordnung des Prädiktors jedoch auch die Anzahl der zu übermittelnden Prädiktorkoeffizienten zu, was wiederum in einer geringeren Kompressionsrate resultiert. Es ist also die Aufgabe des Encoders, den besten Kompromiss zwischen beiden Extremen zu finden. Bei wechselhaften Schallereignissen ist es sinnvoll, nur wenige Samples für die Prädiktion heranzuziehen. Die Aufteilung des Audiosignals in Blöcke erfolgt durch den Encoder und ist daher – wie bei allen MPEGVerfahren üblich – nicht standardisiert. Die beschriebene Prädiktion wird noch durch eine Langzeit-Prädiktion ergänzt, die speziell auf die Dekorrelation von zeitlich weit auseinander liegenden Signalwerten abzielt, und u. A. auch bei der Sprachcodierung für den Mobilfunk-Standard GSM oder bei der verlustbehafteten Audiokompression MPEG-4 AAC eingesetzt wird. Korrelation zeitlich weit auseinander liegender Samples kann z. B. durch harmonische Grundfrequenzen von Musikinstrumenten bedingt sein. Instrumente erzeugen Klänge, die aus einer periodischen Grundfrequenz und einer Reihe von Obertönen bestehen. Die Grundfrequenz bewegt sich bei vielen Instrumenten im Bereich von 50– 250 Hz, während Frequenzen der Obertöne ganzzahlige Vielfache der Grundfrequenz betragen [Dic97]. Die Schwingungsdauer einer Grund-
1.8 Audiokompression mit MPEG
Langzeit-Prädiktion
■ ■ ■
69
Kompressionsraten von ALS und Monkey's Audio
frequenz von 220 Hz wird bei einer Samplingfrequenz von 48 KHz auf 218 Samples abgebildet, bei 192 kHz sind es schon 872 Samples. Um die resultierende Sample-Korrelation zu berücksichtigen, wird ein Prädiktor entsprechender Ordnung benötigt. Durch vorwärts-adaptive Prädiktoren dieser Größenordnung wird jedoch die Kompressionsrate beeinträchtigt, da aus den oben geschilderten Gründen eine große Anzahl an zusätzlichen Prädiktorkoeffizienten übermittelt werden muss. Daher kann der Encoder bei Prädiktoren hoher Ordnung eine erneute Prädiktion auf die Prädiktionsfehler anwenden und so die Kompressionseffizienz zusätzlich verbessern. ALS kann durch Prädiktion mit anschließender Entropiecodierung nur geringere Kompressionsraten erreichen als eine verlustbehaftete Codierung auf Basis eines psychoakustischen Modells. Durch feine Optimierung der prädiktiven Schritte lassen sich jedoch auch mit ALS Kompressionsraten von 50% und mehr realisieren. Bei der Entwicklung von ALS wurde der Codec unter anderem auch mit Monkey's Audio (MA) verglichen [Lie03]. Bei MA handelt es sich um einen freien Open-Source-Codec, der frühere ALS-Versionen teilweise in der Kompressionsrate überbot. Der Encoder von MA besaß darüber hinaus eine um die Hälfte geringere Komplexität. Allerdings ist die Implementierung von Encoder und Decoder bei MA ungefähr gleich aufwändig, während ein Decoder bei ALS wesentlich einfacher aufgebaut ist. Auch steht zu vermuten, dass ALS durch die MPEG-Gruppe soweit optimiert werden konnte, dass er bei einem erneuten Vergleich inzwischen in vielen Punkten besser abschneiden würde als MA.
1.9 Verfahren der Sprachkompression
Verzögerung bei der Übertragung
70
■ ■ ■
Sprachkompressions-Verfahren, die im ISDN-Festnetz, in Mobilfunknetzen oder bei Voice over IP verwendet werden, berücksichtigen die Charakteristika menschlicher Sprache und sind für EchtzeitGesprächssituationen mit besonderen Anforderungen an die Codierungsverzögerung optimiert. Diese besitzt beträchtlichen Einfluss auf die Kommunikationssituation und kann im ungünstigsten Fall zu einer empfindlichen Störung des Gesprächsflusses führen. Es existiert eine Empfehlung der ITU [ITU96a], wie auftretende Verzögerungszeiten bei Sprachübertragungen in Telefonnetzen zu klassifizieren und zu bewerten sind. Diese Empfehlung besagt, dass eine Ende-zu-Ende-Verzögerung von bis zu 150 ms für die meisten Anwendungen akzeptabel ist, während 150 ms und mehr nur noch unter bestimmten Bedingungen erträglich sind.
1 Kompressionsverfahren für Video und Audio
Allen Verfahren für die Sprachkompression ist gemein, dass sie eine geringere Samplingrate beim Ausgangsmaterial voraussetzen als generische Verfahren für die Audiokompression. Die stimmhaften Anteile der menschliche Sprache entstehen durch teilweise resonatorische Verstärkung des im Kehlkopf erzeugten Anregungssignals innerhalb des Mund- und Nasenraums, der auch als Vokaltrakt bezeichnet wird. Die verstärkten Frequenzbereiche werden als Formanten bezeichnet. Zur Verständlichkeit der Sprache tragen vor allem die beiden untersten Formanten F1 und F2 bei, die ungefähr zwischen 200 und 3500 Hz zu finden sind [Dic97]. Das zu codierende Sprachsignal wird daher vor der Digitalisierung entsprechend bandbegrenzt, wodurch unter Berücksichtigung des Abtasttheorems (Kap. 1.3.1) eine Samplingrate von 8 kHz für die Abtastung ausreicht. Quantisiert wird in der Regel mit 8 Bit. Codecs, die mit einer Samplingrate von 8 kHz arbeiten, decken das sog. Telephone Band von 300 Hz bis 3,4 kHz ab. Inzwischen existiert auch Bedarf für Wideband-Codecs, die eine Samplingrate von 16 kHz verwenden und dadurch eine höhere Bandbreite von 50 Hz bis 7 kHz erfassen.
Samplingrate, Formanten
Quantisierung
1.9.1 Signalformcodierer Verbreitete Signalformcodierer im Bereich der Sprachkompression sind die ITU-Codecs G.711, G.722, G.726 und G.727. Mit Ausnahme des Wideband-Codecs G.722 verwenden diese Verfahren alle eine Samplingrate von 8 kHz. Die Codierungsverzögerung beträgt etwa 2 ms, die MOS-Werte liegen im Bereich von 3,8 bis 4,5. Tabelle 1.9 zeigt die Codecs und ihre Datenraten im Überblick. G.711 ist ein sehr einfacher Codec, der einen MOS-Wert von 4,5 erzielt, und häufig als Referenz für die qualitative Bewertung anderer Sprachcodecs herangezogen wird. Datenkompression entsteht bei G.711 ausschließlich durch Digitalisierung, die auf Pulse Code Modulation (PCM) basiert. Die Quantisierung erfolgt nichtlinear mit 8 Bit, was im Zusammenhang mit der Samplingrate von 8 kHz zur Datenrate von 64 kbit/s führt. Für die Quantisierung werden mit A-Law und P-Law zwei unterschiedliche Quantisierungskennlinien definiert, die Bezeichnung Codierungsart
Datenrate (kbit/s)
ITU G.711 ITU G.722
64 64 (56, 48)
ITU G.726 ITU G.727
Pulse Code Modulation (PCM) Subband Adaptive Differential PCM (SB-ADPCM) Adaptive Differential PCM (ADPCM) Embedded ADPCM (E-ADPCM)
G.711 (A-Law und P-Law)
Tabelle 1.9: Signalformcodierer für die Sprachkompression
40, 32, 24, 16 40, 32, 24, 16
1.9 Verfahren der Sprachkompression
■ ■ ■
71
G.726 (ADPCM)
G.727 (embedded ADPCM)
G.722 (SB-ADPCM)
72
■ ■ ■
beide logarithmisch arbeiten, so dass kleine Signalwerte feiner quantisiert werden und das Quantisierungsrauschen bei leisen Pegeln geringer ist. Während P-Law in Nordamerika und Japan eingesetzt wird, findet A-Law in weiten Teilen der restlichen Welt Verwendung. G.711 wird sehr vielseitig eingesetzt und eignet sich bspw. für die IPTelefonie und als Audio-Codec für die Kombination mit dem Videokonferenz-Codec H.261. G.726 löst seine Vorgänger-Empfehlung G.721 und deren Erweiterung G.723 ab, die inzwischen beide von der ITU zurückgezogen wurden. Das Verfahren erwartet wie fast alle Sprachcodecs G.711konforme PCM-Signale und codiert nur die Differenz des jeweiligen Signalwerts zu einem Prädiktionswert, welcher dabei rückwärtsadaptiv angepasst wird. Es handelt sich folglich um eine adaptive Prädiktion auf Basis von PCM-Werten, die auch als Adaptive Differential Pulse Code Modulation (ADPCM) bezeichnet wird. Die Quantisierung der Prädiktionsfehler erfolgt mit 2, 3, 4 oder 5 Bits, wodurch der Codec Bitraten von 16, 24, 32 oder 40 kbit/s erzielt – am gebräuchlichsten ist dabei die Quantisierung mit 4 Bits. G.726 ist unter anderem bei der DECT-Telefonie sowie der IP-Telefonie zu finden. Der Codec G.727, eine Erweiterung von G.726, verwendet eine Embedded ADPCM und quantisiert die Prädiktionsfehler ebenfalls mit 2, 3, 4 oder 5 Bits. Allerdings liegen die Quantisierungsstufen, auf die das Signal abgebildet wird, bei jeder Bitanzahl genau übereinander. So liegen die vier Stufen bei der Quantisierung mit 2 Bits genau auf 4 der 9 Stufen, die bei der Quantisierung mit 3 Bits verfügbar sind. Bei dieser als embedded bezeichneten Art der Quantisierung wird die gröbere Quantisierung durch sog. Core Bits repräsentiert, während sog. Enhancement Bits die feineren Quantisierungsinformationen enthalten. Enhancement Bits können folglich mit einer geringeren Priorität übertragen werden als Core Bits, da ihr Verlust nur eine Qualitätsminderung der Sprachdaten bedeutet. Auch lassen sich Enhancement Bits bei der Übertragung absichtlich verwerfen, um so einer Überlastung des Netzwerks entgegenzuwirken. Dazu spezifiziert die ITU das Packetized Voice Protocol, welches diese Funktionalität unterstützt [ITU90c]. Bits können an jeder Stelle der Übertragung verworfen werden, ohne dass Sender und Empfänger dies koordinieren müssen. Der ITU-Codec G.722 erwartet im Gegensatz zu den bisher betrachteten Signalformcodierern eine Samplingrate von 16 kHz und zählt daher zu den Wideband-Verfahren, die den Bereich von 50 bis 7000 Hz abdecken. Das Signal wird durch einen Quadrature Mirror Filter in zwei getrennte Bänder zerlegt, die Bandbreiten von je 4 kHz besitzen und mit dem Faktor 2 unterabgetastet sind. Die beiden Teilbänder werden jeweils durch eine ADPCM verarbeitet, wobei die Prädiktionsfehler im oberen Teilband mit 2 Bits quantisiert werden. Die Quantisierung im
1 Kompressionsverfahren für Video und Audio
unteren Band ist embedded und kann 4, 5 oder 6 Bits betragen, wodurch das Audiomaterial mit den Datenraten 48, 56 und 64 kbit/s codiert werden kann. Bei den ersten beiden Datenraten lassen sich 16 bzw. 8 kbit/s für Zusatzdaten nutzen, da der Codec stets eine Gesamtdatenrate von 64 kbit/s erzeugt. Obwohl G.722 bereits 1988 veröffentlicht wurde, besitzt er trotz geringer Komplexität gute Sprachqualität und wird z. B. mit dem Videokonferenz-Standard H.323 verwendet [Gib05].
1.9.2 Parametrische Codecs Parametrische Codecs basieren auf Modellen und zerlegen Audioinformationen in Signalkomponenten, die sich anhand von Modellparametern beschreiben lassen. Dabei wird die Annahme getroffen, dass Sprachsignale in sehr kurzen Intervallen stationär sind, und die meisten Modellparameter in diesen Intervallen konstant bleiben. Deshalb werden die Sprachsignale typischerweise in Frames von 10 bis 40 ms verarbeitet, die sich nicht überlappen. Ein Überblick zu gebräuchlichen Modellen und zur parametrischen Codierung findet sich bei [Pur99]. Sehr häufig wird ein Quelle-FilterModell herangezogen, wie es erstmals von [Fan60] vorgeschlagen wurde. Quelle-Filter-Modelle beschreiben die Spracherzeugung anhand eines Ton- bzw. Rauschgenerators und anhand eines Prädiktionsfilters. In Abb. 1.33 ist ein einfaches Quelle-Filter-Modell zu sehen. Der Tongenerator erzeugt ein periodisches Anregungssignal, wie es den stimmhaften Anteilen eines Sprachsignals zugrunde liegt. Analog erzeugt der Rauschgenerator ein rauschartiges Anregungssignal, welches die stimmlosen Komponenten repräsentiert. Zwischen beiden Generatoren wird durch einen Schalter hart gewechselt, das Modell sieht folglich keine gemischten Anregungssignale vor. Das Anregungssignal kann verstärkt werden, um lauten und leisen Signalanteilen Rechnung zu tragen, und wird durch das Filter geformt, welches die Funktion des Vokaltrakts übernimmt. Wird das dargestellte Quelle-Filter-Modell für die Sprachkompression verwendet, so müssen pro Frame nur die folgenden Modellparameter übertragen werden:
Quelle-Filter-Modell
Anregungssignal, Sprachparameter
Abb. 1.33: Modell der Spracherzeugung
1.9 Verfahren der Sprachkompression
■ ■ ■
73
x x x x
MELPe
stimmhaftes oder stimmloses Anregungssignal bei stimmhafter Anregung: Frequenz des Anregungssignals Signalenergie des Anregungssignals LPC-Filterkoeffizienten
Der Encoder ermittelt die LPC-Koeffizienten derart, dass sich das Sprachsignal im betrachteten Frame durch die Filterung möglichst genau an das Anregungssignal (Rauschen oder Impulsfolge) annähert. Im Gegensatz zur linearen Prädiktion, bei der ein Filter entwickelt wird, das zukünftige Samples vorhersagt, wird hier also ein Filter entwickelt, mit dem der Decoder das Anregungssignal formen und so das Sprachsignal erzeugen kann. Je mehr Prädiktorkoeffizienten ermittelt wurden, desto genauer wird sich das Signal synthetisieren lassen. In der Regel verwendet man 10 bis 20 Koeffizienten, wodurch man ausreichend verständliche Sprache erhält. Da nur wenige Parameter übertragen werden müssen, erzielen parametrische Kompressionsverfahren sehr geringe Datenraten im Bereich weniger kbit/s. Einschränkungen oder Vereinfachungen, die durch das Modell vorgenommen werden, haben jedoch Einfluss auf die Sprachqualität. So stellt z. B. die Reduktion auf nur zwei unterschiedliche Anregungssignale, die nicht in gemischter Form auftreten können, eine starke Vereinfachung der tatsächlichen Gegebenheiten der Sprachentstehung dar. Durch Hintergrundgeräusche kann ein Encoder darüber hinaus sehr leicht dazu gebracht werden, stimmhafte Signale fälschlicherweise als stimmlos zu identifizieren. Der militärisch verwendete Enhanced Mixed Excitation Linear Prediction Codec (MELPe), der im NATO Standardization Agreements STANAG 4591 beschrieben wird, verwendet ein gemischtes Anregungssignal, bei dem das rauschhafte Signal die hochfrequenten und das stimmhafte Signal die tieffrequenten Bereiche des Synthesefilters anregt. Der Codec unterstützt drei Bitraten von 600 bit/s, 1200 kbit/s und 2400 kbit/s. Sein MOS liegt etwa bei 3,2 und damit unter dem Grenzwert von 3,5, bis zu dem Sprache noch als natürlich eingestuft wird.
1.9.3 Hybride Codecs 3GPP
74
■ ■ ■
Neben Veröffentlichungen der ITU und MPEG-Gruppe sind unter den hybriden Codecs besonders die Sprachkompressionsstandards des 3GPP hervorzuheben, die im Mobilfunkbereich Einsatz finden. In Tabelle 1.10 werden verbreitete Hybrid-Codecs im Überblick dargestellt. Die Mehrzahl der aufgeführten Codecs des 3GPP (series 06) kommen bei GSM und seinen Erweiterungen GPRS und EDGE vor Release 4 zum
1 Kompressionsverfahren für Video und Audio
Einsatz. Verschiedene Releases werden vom 3GPP parallel geführt, um neuen Bedürfnissen des Markts schnell gerecht zu werden, Entwicklern aber dennoch stabile Zielplattformen anbieten zu können. Die Mehrzahl hybrider Codecs für die Sprachkompression basiert auf Code Excited Linear Prediction (CELP). Anhand Tabelle 1.10 ist zu erkennen, dass CELP in verschiedenen Variationen existiert. Das Funktionsprinzip der CELP-Codecs ähnelt parametrischen Verfahren, allerdings wird durch Vektorquantisierung die Verwendung eines genaueren Anregungssignals ermöglicht. Dazu sucht der Encoder aus einem Codebuch ein passendes Signal aus, und übermittelt dessen ID an den Decoder. Dieser verfügt über ein identisches Codebuch, und wählt anhand der ID eine gespeicherte Signalform, die als Anregungssignal für die Sprachsynthese des aktuellen Frames verwendet wird. Der ITU-Codec G.728 ist ein CELP-Codec mit sehr geringer Codierungsverzögerung. Dies wird u. A. durch Reduktion der Framelänge auf 20 Samples erreicht, so dass wenig Information gepuffert werden muss. Um trotzdem eine akzeptable Prädiktion zu erreichen, setzt man einen Prädiktor der Ordnung 50 ein. G.728 erzielt einen MOS von 3,9 und damit qualitativ gute Resultate. Beim Standard TS 06.20 des 3GPP [3GP00a] kommt Vector Sum Excitation Linear Prediction (VSELP) zum Einsatz. Dabei handelt es sich um eine CELP-Abwandlung, bei der das Anregungssignal eine gewichtete Summe von Einträgen verschiedener Codebücher ist. Bezeichnung
Codierungsart
Datenrate (kbit/s)
ITU G.722.1 ITU G.722.2
MDCT 32, 24 ACELP (AMR-WB) 23.85, 23.05, 19.85, 18.25, 15.85, 14.25, 12.65, 8.85, 6.60 (Adaptive Multirate) ITU G.723.1 ACELP/MP-MLQ 5.3/6.3 ITU G.728 LD-CELP 16 ITU G.729 CS-ACELP 8 (11.8/6.4) 3GPP TS 06.10 RPE-LTP (FR) 13 (Full Rate) 3GPP TS 06.20 VSELP (HR) 5.6 (Half Rate) 3GPP TS 06.60 ACELP (EFR) 13 (Enhanced Full Rate) 3GPP TS 06.90 ACELP (AMR) 12.2, 10.2, 7.95, 7.40, 6.70, 5.90, 5.15, 4.75 (Adaptive Multirate, AMR) 3GPP TS 26.190 ACELP (AMR-WB) 23.85, 23.05, 19.85, 18.25, 15.85, 14.25, 12.65, 8.85, 6.60 (Adaptive Multirate) 3GPP2 C.S0052-A ACELP (VMR-WB) Rate Set I: 8.55, 4.0, 2.0, 0.8; Rate Set II: 13.3, 6.2, 2.7, 1.0 (Variable Multirate) MPEG-4 CELP 3.85–23.8 MPEG-4 HVXC 4, 2
1.9 Verfahren der Sprachkompression
Code Excited Linear Prediction (CELP)
G.728 (LD-CELP)
TS 06.20 (VSELP)
Tabelle 1.10: Hybride Codecs für die Sprachkompression
■ ■ ■
75
G.723.1, G.729, TS 06.60 (ACELP)
TS 06.90 AMR-WB (ACELP)
G.723.1 (ACELP/MP-MLQ), TS 06.10 (RPE)
G.722.1 (MDCT)
76
■ ■ ■
Algebraic CELP-Varianten, die von den Codecs ITU G.723.1 und G.729, sowie bei TS 06.60 [3GP00b] verwendet werden, haben das Ziel, den Speicherplatz für das Codebuch zu verringern, indem Einträge nach einfachen algebraischen Regeln zusammengesetzt werden. Der ITU-Codec G.729 verwendet zusätzlich Vektorquantisierung für die Verstärkungs-Parameter der Codebucheinträge. Da das Verfahren nicht speziell auf geringe Codierungsverzögerung abzielt, ist es von geringerer Komplexität als G.728, erzielt mit einem MOS von 4,1 jedoch qualitativ vergleichbare Resultate. Der 3GPP-Standard TS 06.90 [3GP00c] definiert einen Adaptive Multirate (AMR) Codec, der es erlaubt, dynamisch zwischen verschiedenen Bitraten zu wechseln. Der Codec verwendet ACELP als Kompressionsverfahren, und verfügt über einen Voice Activity Detector, der Sprechpausen identifiziert. Für UMTS wurde mit 3GPP 26.190 [3GP05] eine Wideband-Variante spezifiziert, die Datenraten bis max. 23,85 kbit/s vorsieht. Die ITU führt denselben Codec als G.722.2 [ITU03a]. Unter der Bezeichnung Variable Rate Multimode Wideband (VMR-WB) wurde von 3GPP2 für cdma2000 ein Multirate-Codec [3G205] standardisiert, der auf demselben Kernalgorithmus wie AMRWB basiert, und einen Kompatibilitätsmodus für AMR-WB besitzt. Bei G.723.1 handelt es sich um einen Codec für zwei verschiedene Bitraten, bei dem die nichtperiodischen Komponenten des Anregungssignals auf zwei unterschiedliche Weisen erzeugt werden können. Durch ein Algebraic CELP-Verfahren wird so eine Bitrate von 5,3 kbit/s erreicht. Alternativ kann Multipulse Maximum Likelihood Quantization (MP-MLQ) gewählt werden, was in 6.3 kbit/s resultiert. Bei den Multipulse-Verfahren besteht das Anregungssignal aus einer beschränkten Anzahl von Pulsen, deren Amplituden und zeitliche Abstände in jedem Frame vom Encoder ermittelt und mit in den Datenstrom codiert werden. Es handelt sich hierbei also um einen Mittelweg zwischen rein parametrischen Verfahren mit regelmäßigem und daher sehr ungenauem Anregungssignal und CELP-Codecs, die das Anregungssignal exakter beschreiben. Eine weitere Möglichkeit ist es, das Anregungssignal durch eine Pulsfolge mit regelmäßigen Intervallen zu beschreiben, was als Regular Pulse Excitation (RPE) bezeichnet wird. Dabei müssen nur Pulsamplituden und die Position des ersten Pulses übertragen werden. Ein RPE-Verfahren kommt beim 3GPP-Codec TS 06.10 [3GP01] zusammen mit Langzeit-Prädiktion zum Einsatz. In ITU G.722.1 [ITU99] wird ein Wideband-Codec beschrieben, der eine Abtastrate von 16 kHz akzeptiert und somit eine Sprachbandbreite von 7 kHz abdeckt. Da das Verfahren auf einer Signaltransformation beruht, ist es mit gewissen Einschränkungen auch für andere Audiosignale als Sprache geeignet. Bei der Transformation handelt es sich
1 Kompressionsverfahren für Video und Audio
wie bei MP3 um eine MDCT, die auf überlappende Blöcke angewendet wird. Durch MPEG-4 wird neben einem CELP-Codec auch das Harmonic Vector Excitation Coding (HVXC) standardisiert, das ebenfalls auf linearer Prädiktion beruht. Es nutzt eine Abtastrate von 8 kHz und erzielt trotz geringer Bitraten von 2 oder 4 kbit/s eine gute Sprachqualität. Der HVXC-Codec ist sehr rechenintensiv und wird neben AAC und CELP u. A. beim Digital Radio Mondiale (DRM) eingesetzt, der Alternative zum Digital Audio Broadcast (DAB). Rein stimmlose Sprachanteile werden bei HVXC codebuchbasiert verarbeitet, wofür Einträge mit weißem Rauschen und Einträge mit verschiedenen Amplitudenverläufen existieren, wie bspw. von laut nach leise. Die Kombination dieser beiden Arten von Codebucheinträgen ermöglicht schon im Modus mit einer Bitrate von 2 kbit/s eine relativ genaue Rekonstruktion des stimmlosen Anregungssignals. Für den Modus mit 4 kbit/s wird eine zweite, identisch aufgebaute Codebuchkombination verwendet, um die Differenz zwischen dem ursprünglichen Anregungssignal und der Repräsentation des Modus mit 2 kbit/s zu codieren. Für Sprachanteile mit stimmhaften Beimengungen wird durch eine Fouriertransformation die spektrale Hülle ermittelt und durch Vektorquantisierung codiert. Zusammen mit der harmonischen Grundfrequenz dient sie dem Decoder dann als sehr exaktes stimmhaftes Anregungssignal. HVXC bietet die Möglichkeit, mit variabler Bitrate zu codieren. Hierbei wird im Falle stimmlos erkannter Sprachanteile nochmals eine zweite, genauere Erkennung durchgeführt, die Hintergrundgeräusche von tatsächlich stimmloser Sprache unterscheiden soll. Werden Hintergrundgeräusche erkannt, wird die Bitrate reduziert. Zur weiteren Funktionalität von HVXC zählt die Manipulation von Tonhöhe und Sprechgeschwindigkeit. Da stimmhafte Anteile des Sprachsignals durch Grundfrequenz und spektrale Hülle beschrieben werden, kann die Tonhöhe durch Veränderung der Grundfrequenz manipuliert werden, ohne die Sprachverständlichkeit zu beeinflussen. Für die Veränderung der Sprechgeschwindigkeit besitzt der Decoder die Möglichkeit, Sprachparameter zu interpolieren. Um Fehlerrobustheit zu erzielen, werden einzelne Frames bei allen Audio-Codecs des Standards MPEG-4 nach Wichtigkeit gruppiert und sortiert, was als Bitstream Reordering bezeichnet wird. Dies ermöglicht es, die Frames unterschiedlich gut mit Informationen für die Fehlererkennung und/oder Fehlerbehebung zu versehen.
1.9 Verfahren der Sprachkompression
MPEG-4 (HVXC)
stimmlose und stimmhafte Sprachanteile
variable Bitrate
Manipulation von Tonhöhe und Sprechgeschwindigkeit
Fehlerrobustheit
■ ■ ■
77
Literatur [3GP00a] 3GPP TS 06.20, V. 8.0.1: Half Rate Speech Transcoding. 3rd Generation Partnership Project, 2000. [3GP00b] 3GPP TS 06.60, V. 8.0.1: Enhanced Full Rate (EFR) Speech Transcoding. 3rd Generation Partnership Project, 2000. [3GP00c] 3GPP TS 06.90, V. 7.2.1: Adaptive Multi-Rate (AMR) Speech Transcoding. 3rd Generation Partnership Project, 2000. [3GP01] 3GPP TS 06.10, V. 8.2.0: Full Rate Speech Transcoding. 3rd Generation Partnership Project, 2001. [3GP05] 3GPP TS 26.190, V. 6.1.1: Adaptive Multi-Rate - Wideband (AMR-WB) speech codec; Transcoding functions. 3rd Generation Partnership Project, 2005. [3G205] 3GPP2 C.S0052-A, V. 1.0: Source-Controlled Variable-Rate Multimode Wideband Speech Codec (VMR-WB). 3rd Generation Partnership Project, 2005. [ANR74] Ahmed, N. et al.: Discrete Cosine Transform. IEEE Transactions on Computers, 23(1):90–93, 1974. [Aro92] Arons, B.: A review of the cocktail party effect. Journal of the American Voice I/O Society, 12(1):35–50, 1992. [AtS67] Atal, B., Schroeder, M: Predictive coding of speech signals. Proceedings of the IEEE Conference on Speech Communication and Processing, pp. 360–361, 1967. [BDS05] Borer, T. et al.: Dirac Video Compression. BBC R&D Whitepaper WHP 124. British Broadcasting Corporation, 2005. [BrS94] Brandenburg, K., Stoll, G.: ISO-MPEG-1 Audio: A Generic Standard for Coding of High-Quality Digital Audio. Journal of the Audio Engineering Society, 42(10):780–792, 1994. [Bra99] Brandenburg, K.: MP3 and AAC explained. Proceedings of the AES 17th International Conference on High Quality Audio Coding, pp. 99–111, 1999. [ChP89] Choi, W., Park, R.-H.: Motion vector coding with conditional transmission. Signal Processing, 18(3):259–269, 1989. [Chu03] Chu, W.: Speech Coding Algorithms – Foundation and Evolution of Standardized Coders. Hoboken: Wiley 2003. [Dau88] Daubechies, I.: Orthonormal bases of compactly supported wavelets. Communications on Pure and Applied Mathematics, 41:909–996, 1988. [DCI05] DCI – Digital Cinema Initiatives: Digital Cinema System Specification, Vers. 1.0, 2005. [Dic97] Dickreiter, M.: Handbuch der Tonstudiotechnik – Band 1. Sechste, verbesserte Auflage. München: K.H. Saur 1997. [Die05] Diepold, K.: SMTPE VC-1 und MPEG-4 AVC im Vergleich. Digital Production, 4:88–91, 2005. [Fan60] Fant, G.: Acoustic Theory of Speech Production. Den Haag: Mouton 1960. [Gib05] Gibson, J.: Speech Coding Methods, Standards and Applications. IEEE Circuits and Systems, 5(4):30–49, 2005. [Gra98] Gray, R.: Entropy and Information Theory. Heidelberg: Springer 1998.
78
■ ■ ■
1 Kompressionsverfahren für Video und Audio
[GrM84] Grossmann, A., Morlet, J.: Decomposition of Hardy functions into square integrable wavelets of constant shape. SIAM Journal of Mathematical Analysis, 15(4):723–736, 1984. [Haa10] Haar, A.: Zur Theorie der orthogonalen Funktionensysteme. In: Mathematische Annalen, 69:331–371, 1910. [HaP96] Han, J., Polyzos, G.: Networking Applications of the Hierarchical Mode of the JPEG Standard. IEEE Proceedings of the International Phoenix Conference on Computers and Communications, pp. 58–64, 1996. [HeG00] Herre, J., Grill, B.; Overview of MPEG-4 audio and its applications in mobile communications. Proceedings of the 5th International Conference on Signal Processing, 1:11–20, 2000. [Huf52] Huffman, D.: A Method for the Construction of Minimum Redundancy Codes. Proceedings of the Institute of Radio Engineers (IRE), 40: 1098–1101, 1952. [ISO93a] ISO/IEC JTC 1/SC 29 11172: Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s. ISO/IEC Joint Technical Committee 1/Subcommittee 29, 1993. [ISO93b] ISO/IEC JTC 1/SC 29 11544: Coded representation of picture and audio information – Progressive bi-level image compression. ISO/IEC Joint Technical Committee 1/Subcommittee 29, 1993. [ISO94] ISO/IEC JTC 1/SC 29 10918: Digital compression and coding of continuous-tone still images. ISO/IEC Joint Technical Committee 1/Subcommittee 29, 1994. [ISO97] ISO/IEC JTC 1/SC 24 14772: The Virtual Reality Modeling Language. ISO/IEC Joint Technical Committee 1/Subcommittee 24, 1997. [ISO99] ISO/IEC JTC 1/SC 29 14495: Lossless and near-lossless compression of continuous-tone still images. ISO/IEC Joint Technical Committee 1/Subcommittee 29, 1999. [ISO00] ISO/IEC JTC 1/SC 29 13818: Generic coding of moving pictures and associated audio information. ISO/IEC Joint Technical Committee 1/Subcommittee 29, 2000. [ISO02] ISO/IEC JTC 1/SC 29 15938: Multimedia content description interface. ISO/IEC Joint Technical Committee 1/Subcommittee 29, 2002. [ISO04a] ISO/IEC JTC 1/SC 29 14496: Coding of audio-visual objects. ISO/IEC Joint Technical Committee 1/Subcommittee 29, 2004. [ISO04b] ISO/IEC JTC 1/SC 29 14496-4/FDAmd 9: AVC fidelity range extensions conformance. ISO/IEC Joint Technical Committee 1/Subcommittee 29, 2004. [ISO04c] ISO/IEC JTC 1/SC 29 15444: Information technology – JPEG 2000 image coding system. ISO/IEC Joint Technical Committee 1/Subcommittee 29, 2004. [ISO04d] ISO/IEC JTC 1/SC 29 21000: Multimedia framework (MPEG-21). ISO/IEC Joint Technical Committee 1/Subcommittee 29, 2004. [ITU88a] ITU-T Recommendation G.711: Pulse code modulation (PCM) of voice frequencies. ITU Telecommunication Standardization Sector, 1988. [ITU88b] ITU-T Recommendation G.722: 7 kHz audio-coding within 64 kbit/s. ITU Telecommunication Standardization Sector, 1988.
Literatur
■ ■ ■
79
[ITU90a] ITU-T Recommendation G.726: 40, 32, 24, 16 kbit/s Adaptive Differential Pulse Code Modulation (ADPCM). ITU Telecommunication Standardization Sector, 1990. [ITU90b] ITU-T Recommendation G.727: 5-, 4-, 3- and 2-bit/sample embedded adaptive differential pulse code modulation (ADPCM). ITU Telecommunication Standardization Sector, 1990. [ITU90c] ITU-T Recommendation G.764: Voice Packetization – Packetized Voice Protocol. ITU Telecommunication Standardization Sector, 1990. [ITU92a] ITU-T Recommendation G.728: Coding of speech at 16 kbit/s using lowdelay code excited linear prediction. ITU Telecommunication Standardization Sector, 1992. [ITU92b] ITU-T Recommendation T.81: Digital Compression and Coding of continuous-tone still images – Requirements and Guidelines. ITU Telecommunication Standardization Sector, 1992. [ITU93] ITU-T Recommendation H.261: Video codec for audiovisual services at p x 64 kbit/s. ITU Telecommunication Standardization Sector, 1993. [ITU95a] ITU-R Recommendation BT.601: Studio Encoding Parameters of Digital Television for Standard 4:3 and Wide-Screen 16:9 Aspect Rations. ITU Radiocommunication Standardization Sector, 1995. [ITU95b] ITU-T Recommendation H.262: Generic Coding of Moving Pictures and associated Audio: Video. ITU Telecommunication Standardization Sector, 1995. [ITU96a] ITU-T Recommendation G.114: General Characteristics of International Telephone Connections and International Telephone Circuits: One-Way Transmission Time. ITU Telecommunication Standardization Sector, 1996. [ITU96b] ITU-T Recommendation G.723.1: Dual rate speech coder for multimedia communications transmitting at 5.3 and 6.3 kbit/s. ITU Telecommunication Standardization Sector, 1996. [ITU96c] ITU-T Recommendation G.729: Coding of speech at 8 kbit/s using conjugate-structure algebraic-code-excited linear prediction (CS-ACELP). ITU Telecommunication Standardization Sector, 1996. [ITU96d] ITU-T Recommendation P.800: Methods of subjective determination of transmission quality. ITU Telecommunication Standardization Sector, 1996. [ITU98] ITU-T Recommendation T.87: Lossless and near-lossless compression of continuous-tone still images – Baseline. ITU Telecommunication Standardization Sector, 1998. [ITU99] ITU-T Recommendation G.722.1: Coding at 24 and 32 kbit/s for handsfree operation in systems with low frame loss. ITU Telecommunication Standardization Sector, 1999. [ITU03a] ITU-T Recommendation G.722.2: Wideband coding of speech at around 16 kbit/s using Adaptive Multi-Rate Wideband (AMR-WB). ITU Telecommunication Standardization Sector, 2003. [ITU03b] ITU-T Recommendation P.800.1: Mean Opinion Score (MOS) technology. ITU Telecommunication Standardization Sector, 2003. [ITU05a] ITU-T Recommendation H.263: Video coding for low bit rate communication. ITU Telecommunication Standardization Sector, 2005.
80
■ ■ ■
1 Kompressionsverfahren für Video und Audio
[ITU05b] ITU-T Recommendation H.264: Advanced video coding for generic audiovisual services. ITU Telecommunication Standardization Sector, 2005. [IMM95] Iwakami, N. et al.: High-Quality Audio-Coding at Less Than 64 kbit/s by Using Transform-Domain Weighted Interleave Vector Quantization (TWINVQ). Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing, 5:3095–3098, 1995. [KaK02] Kammeyer, K. und Kroschel, K.: Digitale Signalverarbeitung – Filterung und Spektralanalyse mit MATLAB-Übungen. Fünfte Auflage. Wiesbaden: Teubner 2002. [Kot33] Kotel’nikov, V.: On the transmission capacity of "ether" and wire in electrocommunications. Izd. Red. Upr. Svyazzi RKKA, 1933. [Lie03] Liebchen, T.: MPEG-4 Lossless Coding for High-Definition Audio. Audio Engineering Society (AES) Convention Paper 5872 – Preprint, 2003. [Lie04] Liebchen, T.: An Introduction to MPEG-4 Audio Lossless Coding. Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing, 3:1012–1015, 2004. [LMH05] Liebchen et al.: The MPEG-4 Audio Lossless Coding (ALS) Standard Technology and Applications. Audio Engineering Society (AES) Convention Paper 6589 – Preprint, 2005. [LBG80] Linde, Y. et al.: An Algorithm for Vector Quantizer Design. IEEE Transactions on Communications, 28(1):84–95, 1980. [Mal89] Mallat, S.: A Theory for Multiresolution Signal Decomposition: The Wavelet Representation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 11(7):674–693, 1989. [NC302] NC3A Technical Note TN-881: Future NATO Narrow Band Voice Coder Selection. NATO Consultation, Command and Control Agency, 2002. [ODM96] OpenDML AVI M-JPEG File Format Subcommittee: OpenDML AVI File Format Extensions, Version 1.02, 1996. [Pan95] Pan, D.: A Tutorial on MPEG/Audio Compression. IEEE Multimedia Journal, 2(2):60–74, 1995. [PeK95] Pereira, F, Koenen, R.: Very low bitrate audiovisual applications. Signal Processing: Image Communication, 9(1):55–77, 1996. [Pur99] Purnhagen, H.: Advances in Parametric Audio Coding. Proceedings of the IEEE Workshop on Applications of Signal Processing to Audio and Acoustics, pp. 31–34, 1999. [RiL79] Rissanen, J., Langdon, G.: Arithmetic Coding. IBM Journal of Research and Development, 23(2):149–162, 1979. [RoZ72] Rocca, F., Zanoletti, S.: Bandwidth reduction via movement compensation on a model of the random video process. IEEE Transactions on Communications, 20(5):960–965, 1972. [SaP96] Said A., Pearlman, W.: A new, fast, and efficient image codec based on set partitioning in hierarchical trees. IEEE Transactions on Circuits and Systems for Video Technology, 6(3):243–249, 1996. [Shn48] Shannon, C.E.: A mathematical theory of communication. Bell System Technical Journal, 27:379–423; 623–656, 1948. [Shp93] Shapiro, J.: Embedded image coding using zerotrees of wavelet coefficients. IEEE Transactions on Signal Processing, 41(12):3445–3462, 1993.
Literatur
■ ■ ■
81
[SMP98] SMPTE 308M: SMPTE Standard for Television – MPEG-2 4:2:2 Profile at High Level. Society of Motion Picture and Television Engineers, 1998. [STL04] Sullivan, G. et al.: The H.264/AVC Advanced Video Coding Standard: Overview and Introduction to the Fidelity Range Extensions. Proceedings of the International Society for Optical Engineering, 5558:53–74, 2004. [Tau00] Taubman, D.: High performance scalable image compression with EBCOT. IEEE Transactions on Image Processing, 9(7):1158–1170, 2000. [UnB03] Unser, M., Blu, T.: Mathematical Properties of the JPEG2000 Wavelet Filters. IEEE Transaction on Image Processing, 12(9):1080–1090, 2003. [Wal91] Wallace, G.: The JPEG still picture compression standard. Communications of the ACM, 34(4):32–44, 1991. [WNW94] Wang, S. et al.: Vector-quantization-based video codes for softwareonly playback on personal computers. Multimedia Systems, 2:191–203, 1994. [Wan84] Wang, Z.: Fast Algorithms for the Discrete W Transform and for the Discrete Fourier Transform. IEEE Transactions on Acoustics, Speech, and Signal Processing, 32:803–816, 1984. [Wei00] Weinberger, M.: The LOCO-I Lossless Image Compression Algorithm: Principles and Standardization into JPEG-LS. IEEE Transaction on Image Processing, 9(8):1309–1324, 2000. [Wie03] Wiegand, T.: Overview of the H.264/AVC Video Coding Standard. IEEE Transaction on Circuits and Systems for Video Technology, 13(7): 560–576, 2003. [XRO99] Xiong, Z. et al.: A Comparative Study of DCT- and Wavelet-Based Image Coding. IEEE Transactions on Circuits and Systems for Video Technology, 9(5):692–695, 1999. [YLR04] Yu, R. et al.: A Scalable Lossy to Lossless Audio Coder for MPEG-4 Lossless Audio Coding. Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing, 3:1004–1007, 2004. [ZwF99] Zwicker, E., Fastl, H.: Psychoacoustics: Facts and Models. Zweite, aktualisierte Auflage. Berlin u. Heidelberg: Springer 1999.
82
■ ■ ■
1 Kompressionsverfahren für Video und Audio
2 Mediensicherheit Roland Schmitz
Digitale Mediendaten können sehr einfach und ohne Einbußen an Informationsgehalt oder Qualität kopiert und weitergegeben werden. Diese Eigenschaften digitaler Medien stellen einen deutlichen qualitativen Unterschied zu Medien in analoger Form dar und bilden mittlerweile–zumindest nach Ansicht der Musik vertreibenden Industrie– ein ernsthaftes Hemmnis für einen profitablen Handel mit digitalen Inhalten. Ebenso einfach wie das Kopieren und die Weitergabe ist die Manipulation digitaler Inhalte, z. B. von Bildern, mit Hilfe geeigneter Bearbeitungsprogramme, ohne dass diese Manipulationen bemerkt oder nachgewiesen werden können. Dieses Kapitel zeigt technische Möglichkeiten auf, die mit dem Handel mit digitalen Medien verbundenen Problemkreise zu adressieren. Diese Möglichkeiten umfassen zum Einen so genannte Digitale Wasserzeichen, also Daten, die in nicht wahrnehmbarer Weise in die digitalen Medien eingebracht werden, und unter Anderem zum Urheberschutz dienen sollen, und zum Anderen so genannte Digital Rights Management (DRM)-Systeme, welche die Nutzung der Medien auf einen authorisierten Personenkreis mit wohl definierten Rechten einschränken. Beide Technologien ergänzen einander: Digitale Wasserzeichen können als der Teil eines DRM-Systems angesehen werden, der dann zum Einsatz kommt, wenn die Medien beim Kunden angekommen sind. Im Folgenden stellen wir die grundsätzlichen Prinzipien bei der technischen Realisierung solcher Systeme dar, während die ebenfalls hochinteressanten ökonomischen und rechtlichen Aspekte von DRMSystemen und digitalen Wasserzeichen nur kurz gestreift werden. Eine umfassendere Darstellung der Thematik „Mediensicherheit und DRMSysteme“ findet der interessierte Leser in [FK] und in [Bec].
2 Mediensicherheit
■ ■ ■
83
2.1 Einführung Wir beginnen mit den speziellen Sicherheitsanforderungen, die sich für digitale Medien stellen, und den Sicherheitsmechanismen, die für diese Anforderungen zur Verfügung stehen. Grundsätzlich stellen natürlich digitale Mediendaten nichts anderes als eine Abfolge von Bits dar, die zum Abspielen nur geeignet dekodiert werden muss, so dass sich die Anforderungen und Mechanismen im Prinzip nicht von denen für „normale“ Daten unterscheiden. Es gibt jedoch aufgrund der speziellen Struktur digitaler Medien einige Besonderheiten zu beachten, auf die wir im Folgenden eingehen.
2.1.1 Sicherheitsanforderungen für Digitale Medien 2.1.1.1 Vertraulichkeit Die Anforderung der Vertraulichkeit bedeutet für digitale Medien, dass diese nur für einen dazu authorisierten Personenkreis lesbar bzw. nutzbar sein sollten. Dabei ist zu beachten, dass der Kreis der authorisierten Nutzer eventuell sehr groß sein kann, wie es etwa beim Pay-TV der Fall ist. Zudem können die Datenmengen bei digitalen Medien sehr groß werden, was bei der Auswahl geeigneter Mechanismen zu beachten ist. 2.1.1.2 Integritätsschutz
Legitime Modifikationen der Mediendaten
84
■ ■ ■
Daten, die in digitaler Form über ein offenes Netz verschickt werden, können von jedem, der Zugriff auf das Netz hat, verändert werden. Es ist prinzipiell unmöglich, solche Veränderungen zu verhindern, wenn man nicht das Netz als solches vor physikalischem Zugriff schützen will. Ziel der Anforderung des Integritätsschutzes ist daher nicht, Veränderungen als solche zu verhindern, sondern diese für den legitimen Empfänger einer Nachricht erkennbar zu machen. Bei digitalen Medien stellt sich das zusätzliche Problem, dass gewisse Modifikationen an den Quelldaten wie Kompression, Umkodierung oder Reskalierung durchaus gewünscht sein können, und zumindest nicht als „Angriff“ eingestuft werden sollten. Mechanismen zum Integritätsschutz für digitale Medien müssen diese Problematik berücksichtigen.
2 Mediensicherheit
2.1.1.3 Nachweis des Datenursprungs In einem kommerziellen Umfeld, in dem digitale Inhalte verkauft und weiter gegeben werden, ist der Nachweis des Datenursprungs von besonderer Bedeutung. Kunden können somit sicher sein, dass die Inhalte, für die sie bezahlt haben, aus der richtigen Quelle stammen. Auf der anderen Seite erhalten die Urheber digitaler Inhalte bzw. Rechteinhaber die Möglichkeit, bei eventuellen Streitigkeiten ihr Urheberrecht nachzuweisen und entsprechende Ansprüche geltend zu machen. 2.1.1.4 Nachweis der Identität Eng verwandt mit dem Nachweis des Datenursprungs ist der Nachweis einer behaupteten Identität (meist als Authentifikation bezeichnet). Authentifikationsmechanismen spielen in allen Bereichen der Internet-Sicherheit und des E-Commerce eine große Rolle. Der Anwendungsfall des Verkaufs digitaler Medien unterscheidet sich nicht wesentlich vom Verkauf anderer Güter über das Internet: Die Identität von Kunden und Anbietern muss auf sichere Art und Weise verifiziert werden können, um dem Kunden die Sicherheit zu geben, seine sensitiven persönlichen Daten, wie zum Beispiel seine Kreditkartennummer, an die richtige Stelle zu übermitteln, und um den Bezahlvorgang einleiten zu können. Hat der Kunde bereits gezahlt, ist ebenfalls ein Authentifikationsvorgang notwendig, um sicher zu stellen, dass das Medien- bzw. Rechteobjekt (s. 2.3.1.2) an den richtigen Kunden geliefert wird.
2.1.2 Sicherheitsmechanismen 2.1.2.1 Verschlüsselungsalgorithmen Ein guter Verschlüsselungsalgorithmus transformiert die Inputdaten in einer Art und Weise, dass der Output keinerlei Rückschlüsse auf die Struktur der Inputdaten zulässt. Wie wir weiter unten noch sehen werden, lassen sich Verschlüsselungsalgorithmen bei richtiger Anwendung nicht nur für die Herstellung von Vertraulichkeit nutzen, sondern auch für andere Sicherheitsdienste wie zum Beispiel den Integritätsschutz. Zum Algorithmus selbst, dessen Spezifikation immer
2.1 Einführung
Algorithmus und Schlüssel
■ ■ ■
85
öffentlich zugänglich sein sollte, muss immer ein Geheimnis, der so genannte Schlüssel hinzukommen. Algorithmus und Schlüssel zusammen werden auf die zu schützenden Daten angewandt und bewirken den angestrebten Sicherheitsdienst, beispielsweise Vertraulichkeit der Daten. Man könnte auch sagen, dass der Schlüssel den Algorithmus parametrisiert. Die folgende Formel zeigt, wie Chiffretext C und Klartext M bei Verwendung des Schlüssels K und des Verschlüsselungsalgorithmus E voneinander abhängen:
C
Symmetrische Verschlüsselungsverfahren
EK ( M )
Die Begriffe „kryptografischer Algorithmus“ und „geheimer Schlüssel“ gehören also zusammen, sind aber dennoch deutlich voneinander zu unterscheiden. Je nachdem, ob Sender und Empfänger zum Ver- und Entschlüsseln der Daten den gleichen Schlüssel oder unterschiedliche Schlüssel verwenden, spricht man von symmetrischen oder asymmetrischen Verfahren. Bei symmetrischen Verfahren dient der gleiche Schlüssel K zum Ver- wie auch zum Entschlüsseln, es gilt also:
M
1
EK (C )
DK (C )
-1
Asymmetrische Verschlüsselungsverfahren
Dabei steht EK für die Umkehrfunktion der Verschlüsselungsfunktion, die bei symmetrischen Verfahren der Entschlüsselungsoperation DK entspricht. Bei asymmetrischen Verfahren besitzt jeder Teilnehmer ein eigenes Schlüsselpaar (PK, SK). Dabei dient der Public Key PK zum Verschlüsseln von Nachrichten für diesen Teilnehmer, der Secret Key (oder Private Key) SK dient zum Entschlüsseln. Im asymmetrischen Fall gilt also:
C
Hybride Verschlüsselungsverfahren
86
■ ■ ■
EPK Bob ( M ), M
DSK Bob (C ) ,
wobei Bob der Empfänger der verschlüsselten Nachricht sein soll. Der Public Key jedes Teilnehmers wird veröffentlicht, der Secret Key wird von jedem Teilnehmer geheim gehalten (und ist sonst niemandem bekannt). Für den Leser, der am inneren Aufbau symmetrischer und asymmetrischer Algorithmen und den mathematischen Prinzipien, die hinter ihrer Konstruktion stehen, interessiert ist, existieren mittlerweile eine ganze Reihe hervorragender Bücher: [MOV], [Schn], [Beu] sind nur einige Beispiele. Die beiden Klassen von Algorithmen ergänzen sich gegenseitig sehr gut: Während symmetrische Algorithmen gut geeignet sind, große Datenmengen schnell und effizient zu verschlüsseln, ist der Einsatz asymmetrischer Verfahren wesentlich aufwändiger. Sie lösen dafür jedoch ein Grundproblem, das mit dem Einsatz symmetrischen
2 Mediensicherheit
Verfahren zwangsläufig einhergeht, nämlich das des Schlüsseltauschs, also der Frage: Woher bekommen die Kommunikationspartner ihr gemeinsames Geheimnis K auf sichere Art und Weise? Verfügt man über ein asymmetrisches Verfahren, so ist dieses Problem prinzipiell gelöst: Einer der Partner (in der Literatur für gewöhnlich Alice genannt) veröffentlicht seinen öffentlichen Schlüssel, beispielsweise auf einem Webserver. Wer auch immer in der Folge mit Alice kommunizieren will, muss sich nur diesen öffentlichen Schlüssel besorgen, etwa ihn sich von einem Server herunterladen und kann in der Folge einen symmetrischen Schlüssel erzeugen, ihn mit dem Public Key von Alice verschlüsseln und an Alice schicken. Somit verfügen beide über ein gemeinsames Geheimnis und können in der Folge einen symmetrischen Algorithmus für ihre weitere Kommunikation verwenden. Verfahren, die auf diese Weise funktionieren, werden auch hybride Verfahren genannt. Allerdings muss bei der Nutzung asymmetrischer Verfahren dafür Sorge getragen werden, dass die Bindung zwischen öffentlichem Schlüssel und seinem Inhaber nicht verloren geht. Anderenfalls könnte ein Angreifer Alices Public Key durch seinen eigenen ersetzen und in der Folge die für Alice bestimmten Nachrichten lesen. Dieses Problem wird mit Hilfe so genannter Zertifikate (s. unten) gelöst. Die bisherigen Überlegungen zu Verschlüsselungs-Algorithmen sind für jede Art von digitalen Daten gültig, für digitale Mediendaten ergeben sich einige Zusatzaspekte: Üblicherweise erfordert ein Verbzw. Entschlüsselungsalgorithmus die korrekte und unveränderte Eingabe aller Inputbits. Werden aufgrund von Übertragungsfehlern, Umkodierungen, etc. einige Bits auf dem Transportweg verändert, ist keine korrekte Entschlüsselung mehr möglich. Obwohl moderne Verschlüsselungsalgorithmen sehr schnell sind, kann bei großen Datenmengen, wie sie zum Beispiel beim Streaming von Filmen auftreten, auch der Performanceverlust durch die Ver- und Entschlüsselung zum Problem werden. Um beide Probleme lösen zu können, sind in der Vergangenheit so genannte Partial Encryption Schemes ([Kun], [QN]) vorgeschlagen worden (andere Autoren wie [UP] sprechen auch von Selective Encryption). Hierbei werden nicht alle Mediendaten verschlüsselt, sondern nur für die Dekompression besonders relevante Teile wie Bewegungsvektoren, Header-Informationen oder DCT-Koeffizienten. Zur eigentlichen Verschlüsselung werden wohl bekannte Blockchiffen wie DES oder AES (siehe dazu [MOV] oder [Schn]) eingesetzt.
Partielle Verschlüsselung für Mediendaten
Beispiel 1: Verschlüsselung von MPEG-1-Videos nach [Kun] Im MPEG-1 Standard werden die Einzelframes ähnlich wie beim JPEG-Verfahren komprimiert, zusätzlich werden die Abhängigkeiten
2.1 Einführung
■ ■ ■
87
der Frames untereinander ausgenutzt (s. Kap. 1.7). Das Verfahren von Kunkelmann verschlüsselt nicht den gesamten MPEG-Strom, sondern nur die ersten n DCT-Koeffizienten jedes Frames (egal ob I-, B- oder P-Frame), wie sie durch die Encodierung nach JPEG entstehen. Durch geeignete Wahl des Parameters n kann zwischen dem gewünschten Grad der Vertraulichkeit und Performance abgewogen werden. Wie Experimente zeigen, führt ein Wert von n = 10 bereits zu einem relativ hohen Level an Vertraulichkeit, wobei aber nur 40% der gesamten Datenmenge tatsächlich verschlüsselt werden. Kompression und Verschlüsselung
Verschlüsselung von Videodaten im Pay-TV
Generell sollten zu verschlüsselnde Daten vor der Verschlüsselung komprimiert werden. Dies gilt in besonderem Maße für Videodaten, da durch die Kompression ebenfalls der Peformanceverlust durch die Verschlüsselung abgemildert wird. Ein anderer Weg zur Performanceverbesserung besteht im Einsatz so genannter Soft Encryption Systems. Damit sind einfache Verschlüsselungsalgorithmen mit abgeschwächten Sicherheitseigenschaften gemeint, die dafür aber gegenüber traditionellen Chiffren Schnelligkeitsvorteile bieten. Beispiel 2: VideoCrypt ([UP], S. 115) Das VideoCrypt System wurde in der Vergangenheit von britischen Pay-TV Sendern eingesetzt. Dabei werden die horizontalen Bildzeilen jeweils an einer geheim gehaltenen Stelle aufgetrennt und die beiden Halbzeilen miteinander vertauscht. Es handelt sich also um eine einfache Permutation der Bildinformationen, die für den Spezialisten mit relativ geringem Aufwand zu brechen ist. Trotzdem überwiegt in diesem Anwendungsfeld der Geschwindigkeitsvorteil, den diese einfache Permutationschiffre bietet. 2.1.2.2 Steganografie Im Umfeld der Mediensicherheit spielen auch Techniken der Steganografie eine gewisse Rolle. Die Steganografie hat ebenfalls die Vertraulichkeit von Informationen zum Ziel; allerdings werden hier nicht die Informationen selbst unkenntlich gemacht, sondern die bloße Existenz einer Nachricht soll geheim gehalten werden. Dies geschieht, indem man die zu übertragende Nachricht in „unsichtbarer“ Weise in eine Träger-Nachricht einbettet. Sollen Nachrichten in nicht-wahrnehmbarer Weise in Mediendaten eingebettet werden, müssen hierzu so genannte Wahrnehmungsmodelle heran gezogen werden, in denen die Wahrnehmung des menschlichen Auges bzw. Ohrs formal modelliert werden. Des Weiteren müssen die eingebetteten Nachrichten Umkodierungen und Kom-
88
■ ■ ■
2 Mediensicherheit
pressionen unbeschadet überstehen. Da auch Digitale Wasserzeichen nicht wahrnehmbar sein sollen, werden zum Einbetten von Digitalen Wasserzeichen normalerweise auch steganografische Verfahren angewandt. Man beachte jedoch, dass die bloße Existenz eines Digitalen Wasserzeichens in gewissen Mediendaten im Allgemeinen kein Geheimnis darstellt, sondern der Öffentlichkeit bekannt ist. Die Sicherheitsziele digitaler Wasserzeichen und steganografischer Verfahren unterscheiden sich also im Normalfall voneinander. Wie wir unten aber sehen werden, trägt die Geheimhaltung der Existenz eines Wasserzeichens auch wesentlich zu dessen Sicherheit bei. 2.1.2.3 Hashfunktionen und Message Authentication Codes Eine Hashfunktion ist eine Funktion H, die eine beliebig lange Nachricht M auf einen String fester Länge abbildet. Für unsere Zwecke ist diese einfache Definition jedoch nicht ausreichend. Da wir Hashfunktionen unter anderem zum Integritätsschutz verwenden wollen, benötigen wir solche Hashfunktionen, die einen „repräsentativen Fingerabdruck“ der Nachricht M liefern. Das bedeutet insbesondere, dass sich bei jeder zufälligen oder auch absichtlichen Änderung von M auch der Hashwert von M ändern sollte. Diese Forderung ist natürlich nicht vollständig einzuhalten. Da der Hashwert im Normalfall eine geringere Bitlänge besitzt als der Input, ist die Existenz verschiedener Dokumente mit gleichem Hashwert unausweichlich (so genannte Kollisionen). Wir fordern jedoch, dass es für einen Angreifer schwierig sein soll, solche Kollisionen bewusst zu erzeugen (so genannte Kollisionsresistenz). Aus Gründen, die gleich noch klar werden, fordern wir des Weiteren, dass es ebenso schwierig sein soll, aus dem Hashwert H(M) einer Nachricht M auf die Nachricht M selbst zu schließen (so genannte One-Way-Eigenschaft). Kollisionsresistente Hashfunktionen, die die One-Way-Eigenschaft besitzen, nennt man kryptografische Hashfunktionen. Die Anwendung einer kryptografischen Hashfunktion allein bewirkt jedoch noch keinen Integritätsschutz. Ein Angreifer könnte die Nachricht in der gewünschten Weise abändern und im Anschluss die Hashfunktion auf die veränderte Nachricht anwenden. Deshalb muss zusätzlich noch ein geheimer Schlüssel ins Spiel kommen: Ein Message Authentication Code (MAC) zu einer Nachricht M ist ein Datensatz, der mit Hilfe einer kryptografischen Hashfunktion H und eines (symmetrischen) Schlüssels K gebildet wird und an M angehängt wird. Üblicherweise wird zur Bildung des MAC zunächst die Nachricht M mit Hilfe von K modifiziert und dann die Hashfunktion auf das Resultat angewendet.
2.1 Einführung
■ ■ ■
89
Kennt der Empfänger von M den geheimen Schlüssel K, so kann er selbst einen MAC über die empfangene Nachricht bilden und mit dem erhaltenen MAC vergleichen. Stimmen beide überein, so ist für den Empfänger klar, dass: x die Nachricht M auf dem Transportweg nicht verändert wurde, und x die Nachricht von jemandem stammt, der den Schlüssel K kennt. Somit lassen sich mit Hilfe von MACs die Anforderungen des Integritätsschutzes und der Verifikation des Datenursprungs erfüllen. Wir gehen an dieser Stelle nicht auf die verschiedenen Möglichkeiten, einen MAC zu bilden, ein und verweisen den Leser hierzu (und auch zu weiteren Details über Hashfunktionen) wiederum auf die im Abschnitt zu Verschlüsselungsalgorithmen angeführte Literatur. Die Anwendung von MACs auf digitale Medien stößt auf das gleiche Problem, wie bereits auch das Verschlüsseln von Mediendaten: Es kann nicht garantiert werden, dass die Mediendaten Bit für Bit so beim Empfänger ankommen, wie sie produziert wurden. Im Kontext digitaler Medien ist aber zumeist gar kein bitgenauer Integritätsschutz gefordert, sondern nur ein inhaltsbasierter Integritätsschutz, der nur auf solche Änderungen reagiert, die den Inhalt der gesendeten Mediendaten betreffen, nicht aber auf solche, die nur das Format betreffen. Es liegt deshalb nahe, die MAC–Bildung nur auf solche Daten zu beziehen, die die Semantik der Mediendaten beschreiben. Verfahren hierzu für digitale Bilder nutzen die DCT-Koeffizienten [CMB] für die höchsten Frequenzen oder gewisse Metadaten, die die Ränder wesentlicher Bildkomponenten beschreiben (vgl. [Ditt]). Ein weiteres Problem besteht in der Tatsache, dass die gängigen Formate für digitale Medien keine Datenfelder für MACInformationen beinhalten. Somit müssen für den Transport der MACDaten zusammen mit den Mediendaten neue Formate geschaffen werden oder aber die MAC-Daten in die Mediendaten selbst eingebettet werden.
Message Authentication Codes dienen zum Integritätsschutz
2.1.2.4 Digitale Signaturen Die eben behandelten MACs beruhen auf symmetrischen Schlüsseln. Verwendet man stattdessen asymmetrische Verfahren, ergibt sich aufgrund der Tatsache, dass hier der Secret Key immer nur einer einzigen Person bekannt ist, ein weiterer interessanter Aspekt: Durch das Verschlüsseln eines Dokuments M mit ihrem Secret Key erzeugt Alice einen Bitstring, den nur sie allein erzeugen kann und der in untrennbarer Weise von dem signierten Dokument abhängig ist. Der mit einem symmetrischen Verfahren gebildete MAC über ein Dokument besitzt
90
■ ■ ■
2 Mediensicherheit
zwar vergleichbare Eigenschaften, hat aber den Nachteil, dass er immer von mindestens zwei Personen erzeugt werden kann, nämlich all denen, die den symmetrischen Schlüssel K kennen. Im Gegensatz dazu kann eine Digitale Signatur immer nur von einer einzigen Person erzeugt werden (sie ist damit nicht abstreitbar) und stellt somit ein digitales Analogon zu einer handschriftlichen Signatur dar. Bei Erhalt eines von Alice digital signierten Dokuments M kann Bob verifizieren, ob die Signatur tatsächlich von Alice stammt und ob M auf dem Weg zu ihm verändert worden ist, indem er auf die Signatur Alices Public Key anwendet und die Verschlüsselung somit wieder rückgängig macht. Digitale Signaturen eignen sich somit ebenfalls hervorragend zum Nachweis des Datenursprungs, zur Authentifikation und zum Integritätsschutz von Nachrichten. Üblicherweise wird bei einer digitalen Signatur aus Effizienzgründen nicht das gesamte Dokument mit dem Private Key des Signierers verschlüsselt, sondern nur ein repräsentativer Fingerabdruck des zu signierenden Dokuments, der mit Hilfe einer kryptografischen Hashfunktion erstellt wird. Zusammengefasst nimmt die Signatur von Alice unter dem Dokument M also folgende Form an:
sig Alice ( M )
Digitale Signaturen sind nicht abstreitbar.
ESK Alice ( H ( M ))
wobei H für eine kryptografische Hashfunktion steht. Für die Anwendung digitaler Signaturen auf digitale Mediendaten gelten die gleichen Anmerkungen wie schon bei den MACs. Für die Beantwortung der Frage, ob zur Verifikation des Datenursprungs eher symmetrische MACs oder asymmetrische digitale Signaturen verwendet werden sollten, spielen funktionale Aspekte (wird die Nichtabstreitbarkeit tatsächlich benötigt?) und Performanceaspekte (die Erstellung digitaler Signaturen und das damit verbundene Schlüsselmanagement ist deutlich aufwändiger als bei MACs) eine Rolle. 2.1.2.5 Zertifikate Eine digitale Signatur kann von jedem verifiziert werden, der den dazu gehörigen Public Key kennt. Sie bestätigt unter anderem, dass das unterschriebene Dokument vom Signierer stammt und nicht verändert worden ist. Aufgrund dieser Eigenschaften werden digitale Signaturen auch zur Lösung des oben angesprochenen Problems der Bindung eines öffentlichen Schlüssels an eine bestimmte Identität eingesetzt: Alice kann sich mit ihrem Public Key an eine vertrauenswürdige Stelle (Trusted Third Party, TTP) wenden und ihre Identität zusammen dem Public Key durch die TTP digital signieren lassen. Somit entsteht ein Dokument, das die Bindung eines bestimmten Pub-
2.1 Einführung
■ ■ ■
91
lic Key an eine Identität durch eine vertrauenswürdige Stelle bestätigt und dessen Echtheit von jedem verifizierbar ist. Ein solches Dokument wird als Zertifikat bezeichnet. Das Management öffentlicher Schlüssel mit Hilfe von Zertifikaten durch eine TTP (in diesem Zusammenhang auch als Certification Authority, CA bezeichnet) ist immer mit einem gewissen Aufwand verbunden: Die Teilnehmer müssen registriert und ihre Identität verifiziert werden. Die Zertifikate müssen für die Öffentlichkeit über einfache Suchschnittstellen verfügbar gemacht werden und zur späteren Verifikation von digitalen Signaturen über lange Zeiträume archiviert werden. Schließlich muss es auch die Möglichkeit geben, Zertifikate zurück zu ziehen bzw. zu sperren, zum Beispiel beim Verlust eines privaten Schlüssels oder bei Erlöschen einer Firma. Auch die Information hierüber muss allen Teilnehmern des Systems auf sichere Weise zugänglich gemacht werden. Dies geschieht entweder über von der CA digital signierte Listen (so genannte Certificate Revocation Lists, CRL) oder über ein speziell zu diesem Zweck entworfenes Protokoll (Online Certificate Status Protocol, OCSP). Die gesamte zum Management öffentlicher Schlüssel benötigte Infrastruktur wird auch als Public Key Infrastructure (PKI) bezeichnet. 2.1.2.6 Digitale Wasserzeichen In digitalen Wasserzeichen kommen viele der oben diskutierten Sicherheitsmechanismen zusammen. Wir haben bereits angesprochen, dass für MACs oder Digitale Signaturen in den gängigen Medienformaten keine Datenfelder vorgesehen sind. Durch Einbettungstechniken, wie sie bei Digitalen Wasserzeichen eingesetzt werden, können diese Daten aber direkt in die Mediendaten eingebracht werden. Je nach Einsatzzweck des Wasserzeichens können auch weitere Daten eingebracht werden, entweder in verschlüsselter Form oder im Klartext. Im folgenden Abschnitt werden wir uns deshalb den Anwendungsbereichen und Einbettungstechniken für Digitale Wasserzeichen genauer widmen.
2.2 Digitale Wasserzeichen Hält man einen 20 € Schein gegen das Licht, so erkennt man links auf der unbedruckten Fläche eine verkleinerte, vereinfachte Version der auf dem Schein abgebildeten gotischen Kirchenfenster und darunter die Zahl 20. Dieses Wasserzeichen wird während des Produktionspro-
92
■ ■ ■
2 Mediensicherheit
zesses in das Papier des Scheins eingebracht und soll die Echtheit des Scheins garantieren sowie eine Fälschung, etwa durch einfaches Kopieren, unmöglich machen. Bereits seit dem 13. Jahrhundert kennzeichnen Papiermühlen ihre Erzeugnisse mit Wasserzeichen, um dadurch Herkunft und Qualität des Papiers zu dokumentieren. Etwas Ähnliches wird durch digitale Wasserzeichen versucht: Hier werden Daten in digitaler Form nach der Produktion in die Medien eingebracht, normalerweise allerdings im Gegensatz zu papierbasierten Wasserzeichen in nicht wahrnehmbarer Weise. Ihr Vorhandensein kann nur mit Hilfe geeigneter Software und Kenntnis eines geheimen Schlüssels geprüft werden und soll sicherstellen, dass die Mediendaten aus einer bestimmten Quelle stammen und nicht verändert worden sind. Zur Illustration sehen wir in Abb. 2.1 ein Original1 bild, daneben das mit einem Wasserzeichen markierte Original , und ganz rechts das Differenzbild von Original und markiertem Bild.
Abb. 2.1: Original, markiertes Original und Differenzbild
2.2.1 Anwendungsgebiete für Digitale Wasserzeichen 2.2.1.1 Identifikation des Datenursprungs Nehmen wir an, die Nachwuchsband Newcomers bietet einige ihrer Songs kostenlos zum Download im Internet an. Um ihren Bekanntheitsgrad und Wiedererkennungswert zu erhöhen, bettet die Band zusätzliche Informationen über sich im Klartext über ein Digitales Wasserzeichens in die Audiodaten ein. Insbesondere wird auch ein Link auf die Webseite der Band eingebettet. Unterstützt die zum Abspielen der Songs genutzte Software das Erkennen von Wasserzeichen, können dem Nutzer automatisch die eingebetteten Informationen 1
Das Original wurde mit einem derzeit von Herrn Hujian Liu am Fraunhofer Institut für Integrierte Publikationssysteme (IPSI) entwickelten Algorithmus markiert. Der Autor dankt Herrn Liu herzlich für seine Unterstützung.
2.2 Digitale Wasserzeichen
■ ■ ■
93
über die Band angezeigt werden und auf Wunsch die Webseite angezeigt werden. In diesem Anwendungsszenario profitieren also beide Seiten, Urheber und Konsumenten, von der Einbettung gewisser Metadaten über ein Wasserzeichen. Voraussetzung dafür ist eine weite Verbreitung von Abspiel-Software bzw. –Geräten, die die eingebetteten Wasserzeichen detektieren können. 2.2.1.2 Nachweis des Datenursprungs Robuste Wasserzeichen
Eine gänzlich andere Problemstellung ergibt sich, wenn wir auf die Urheberschaft in digitalen Medien nicht nur hinweisen, sondern diese tatsächlich auch nachweisen wollen. Ein solches Wasserzeichen darf sich weder von Unbefugten erzeugen, noch durch Manipulationen des Originals wie etwa Konvertierung der markierten Datei in andere Audio- oder Bildformate, Kompression etc. entfernen lassen. Man nennt solche Wasserzeichen robust. Als einzubettende Daten für den Nachweis des Copyrights bietet sich etwa eine Notiz in der Form „© by Alice, 1/2006“ an, zusammen mit einem Hashwert der Originaldaten zum Nachweis, das Alice das Original tatsächlich zur Verfügung steht. Diese Daten sollten vor dem Einbringen verschlüsselt werden, um einem Angreifer, der das Wasserzeichen entfernen möchte, keinerlei Informationen über die in dem markierten Medium zu suchenden Daten zu geben. 2.2.1.3 Kopierschutz Die Band Established bietet auf ihrer Webseite kostenpflichtige Songs zum Download an. Wie kann verhindert werden, dass ein User, der einmal für einen Song bezahlt hat, diesen nun auf eigene Rechnung kopiert und weiter verkauft? Eine nahe liegende Lösung besteht im Einbringen eines Wasserzeichens in die Audiodaten mit der Nachricht „Do Not Copy“. Entdeckt ein Kopiergerät dieses Wasserzeichen, könnte es sich weigern, den Kopiervorgang auszuführen. Dieses Vorgehen hat jedoch den Nachteil, dass man sämtliche Kopiergeräte mit entsprechenden Detektoren ausstatten müsste, die aber faktisch die Funktionalität der Geräte einschränken. Somit besteht kein großer Anreiz für die Hersteller von Kopiergeräten, solche Detektoren in ihre Geräte einzubauen. Anders verhält es sich natürlich, wenn die Mediendaten vom Rechteinhaber in einem speziellen Format ausgeliefert werden, das nur von speziellen, ebenfalls vom Rechteinhaber hergestellten Geräten bzw. Software interpretiert werden kann. In diesem
94
■ ■ ■
2 Mediensicherheit
Fall bleibt die Frage, ob solche erzwungenen Kopplungen von Mediendaten an spezielle Abspielgeräte vom Verbraucher angenommen werden. 2.2.1.4 Transaction Tracking Lässt sich das unbefugte Kopieren von Mediendaten nicht verhindern, so kann zumindest versucht werden, denjenigen, der eine illegale Kopie erstellt hat, ausfindig zu machen. Dies geschieht mittels Transaction Tracking Watermarks, bei denen für jeden User, der legal eine Kopie des Originals erwirbt, ein individuelles Wasserzeichen eingebracht wird, um so bei Auftauchen einer illegalen Kopie den Schuldigen identifizieren zu können. Beispiele für Wasserzeichen dieses Typs findet man bei [BS] und [DBS]. 2.2.1.5 Integritätsschutz Durch das Einbetten eines MAC oder einer digitalen Signatur, welche über die originalen Mediendaten gebildet werden, lässt sich ein Integritätsschutz erzielen, der jedes einzelne Bit der Quelldaten mit einbezieht. Wie bereits erwähnt, ist dieser bitgenaue Schutz in den meisten Fällen nicht erwünscht. Es gibt jedoch hochsensible Bereiche, in denen gerade die Bitgenauigkeit des Integritätsschutzes gefragt ist. Man betrachte zum Beispiel den Fall einer Ärztin, die ein von ihr erstelltes computertomographisches Bild per E-Mail an einen Kollegen schickt und auch kleinste Bitfehler bei der Übertragung ausschließen möchte. Sie hat nun die Möglichkeit, zunächst eine digitale Signatur über die Quelldaten zu erstellen und diese mittels eines robusten Wasserzeichens einzubetten. Der empfangende Arzt kann auch bei Änderungen auf dem Transport das Wasserzeichen und mit ihm die Signatur zwar extrahieren, die Verifikation der Signatur wird jedoch aufgrund der Änderungen in den Quelldaten scheitern. Diese Variante besitzt zusätzlich die Eigenschaft der Verifikation des Datenursprungs. Möchte man keine digitale Signatur verwenden, besteht eine weitere Möglichkeit in der Nutzung eines nicht robusten, so genannten fragilen Wasserzeichens. Solche Wasserzeichen sollen auch nach kleinsten Änderungen in den Quelldaten nicht mehr detektierbar sein. In diesem Fall ist also das Fehlen des Wasserzeichens ein Hinweis auf unerwünschte Änderungen.
2.2 Digitale Wasserzeichen
Fragile Wasserzeichen
■ ■ ■
95
2.2.1.6 Inhaltsbezogener Integritätsschutz
Inhaltsfragile Wasserzeichen
Ein inhaltsbezogener Integritätsschutz, der zwar inhaltsrelevante Änderungen wie das Wegretuschieren einer Person in einem Bild an den Mediendaten kenntlich macht, nicht aber auf Umformatierung, Kompression etc. reagiert, lässt sich ebenfalls auf verschiedene Weisen durch digitale Wasserzeichen realisieren. Eine bereits angedeutete Möglichkeit besteht in einem MAC oder einer digitalen Signatur, die über Metadaten, die den Inhalt der Mediendaten beschreiben, jedoch nicht über die Mediendaten selbst gebildet werden (so genannte inhaltsbasierte Signatur). Dieser MAC bzw. diese Signatur wird dann durch ein robustes Verfahren (s. 2.2.2.4) so als Wasserzeichen eingebettet, dass es die erwähnten Transformationen unbeschadet übersteht. Die Signatur kann jedoch nur bei nicht inhaltlich relevanten Änderungen verifiziert werden, anderenfalls schlägt die Verifikation fehl. Ein Beispiel für diese Vorgehensweise findet man in [Dit]. Hier werden aus Bildern die Kanten der abgebildeten Gegenstände extrahiert und in einen Merkmalsvektor umgesetzt, der dann digital signiert wird. Allerdings haben die auf MACs bzw. digitalen Signaturen basierenden Verfahren den Nachteil, dass sie nur das Vorhandensein einer inhaltlichen Modifikation anzeigen können, nicht jedoch, wo diese stattgefunden hat. Eine andere Möglichkeit besteht in so genannten inhaltsfragilen (oder auch semifragilen) Wasserzeichen. Diese können nur dann detektiert werden, falls keine inhaltsrelevanten Transformationen mit den Daten durchgeführt werden, anderenfalls werden sie zerstört. Neuere Verfahren wie in [Fri] oder [DTS] können dabei auch den Ort einer Manipulation kenntlich machen (s. Abb. 2.2)
Abb. 2.2: Detektion einer Bildmodifikation mittels eines digitalen Wasserzeichens (Abbildung entnommen aus [TZFS])
2.2.1.7 Einbringen von Metainformationen Metainformationen wie Bild- bzw. Szenenbeschreibungen oder handelnde Personen lassen sich in Form eines Wasserzeichens in Bildoder Videodaten einbetten. Diese Metainformationen können dazu
96
■ ■ ■
2 Mediensicherheit
genutzt werden, zum Beispiel in einer großen Bilddatenbank effizient nach dem gewünschten Inhalt zu suchen.
2.2.2 Einbettungstechniken 2.2.2.1 Kommunikationstheoretisches Basismodell Wir beginnen mit einem möglichst allgemeinen Modell des Einbettungsprozesses und klären dabei einige wesentliche Begrifflichkeiten. Wir möchten also in unser Medium einen gewissen Bitstring m einbetten. Dieser Bitstring m kann eine Nachricht im Klartext repräsentieren („Do Not Copy“), ein MAC, eine Digitale Signatur oder eine verschlüsselte Nachricht sein. Die originalen Mediendaten werden als Cover Work C0 bezeichnet. Um m in das Cover Work einbetten zu können, muss m zunächst auf dasselbe Format wie das Cover Work gebracht werden. Das ist unter anderem die Aufgabe des Watermark Encoders. Wollen wir m also in ein Einzelbild einbetten, steht am Ende des Encodierungsprozesses ein zweidimensionales Muster von Pixeln mit den gleichen Ausmaßen wie das Cover Work. Das Resultat des Encodierungsprozesses ist das Added Pattern wa. Meist nutzt der Watermark Encoder für den Codierungsprozess eine Geheiminformation, den Watermark Key wk. Der Watermark Key ist nicht zu verwechseln mit einem eventuell zur Erzeugung des einzubettenden Bitstrings m verwendeten Cipher Key K. Das Encodieren ist der entscheidende Teil des gesamten Einbettungsprozesses. Die Nutzung des Watermark Keys soll unbefugtes Auslesen und/oder Entfernen des Wasserzeichens verhindern. Des Weiteren entscheiden die Art der Encodierung und ein Parameter D, der die Stärke des einzubringenden Wasserzeichens angibt, über die Robustheit des Wasserzeichens. Bei der Wahl des Stärkeparameters ist zwischen einer möglichen Verschlechterung der Medienqualität durch das Einbringen eines stärkeren Wasserzeichens und einer höheren Robustheit des Wasserzeichens abzuwägen. Mögliche Alternativen bei der Codierung sind die Nutzung eines Fehler korrigierenden Codes, um gegen Übertragungsfehler besser geschützt zu sein, oder – im Fall eines Video-Wasserzeichens – eine über die Laufzeit des Videos verteilte Wiederholung des ursprünglichen Bitstrings m. Das eigentliche Einbetten des Added Pattern in das Cover Work besteht in einer vergleichsweise simplen Operation. Im Fall eines Wasserzeichens für Einzelbilder werden die Farbintensitäten für die drei Farbkanäle Blau, Gelb und Rot der einzelnen Pixel von Cover Work
2.2 Digitale Wasserzeichen
■ ■ ■
97
Abb. 2.3: Modell des Einbettungsprozesses nach [CMB]
und Added Pattern addiert. Für Audiodaten können beispielsweise die Signalintensitäten von Cover Work und Added Pattern addiert werden. Nach dem Einbetten des Added Pattern wird aus dem Cover Work C0 das Watermarked Work CW : CW = C0 + wa. Abbildung 2.3 zeigt den gesamten Einbettungsprozess noch einmal in der Übersicht. Beim Transport des markierten Cover Work CW zu den Nutzern der Mediendaten kann es zu Übertragungsfehlern und Umkodierungen kommen. Auch böswillige Versuche eines Angreifers, das Wasserzeichen zu entfernen, kann man durch Übertragungsfehler, genauer gesagt durch die Addition von Störungen N zu CW modellieren. Dadurch kommt beim Empfänger ein modifiziertes markiertes Original CWN an: CWN = CW + N Möchte man nach dem Transport feststellen, ob ein Wasserzeichen vorhanden ist oder nicht, nutzt man einen so genannten Detektor, der im Wesentlichen die beim Einbetten des Wasserzeichens ausgeführten Schritte wieder rückgängig macht. Je nachdem, ob dem Detektor das ungekennzeichnete Original C0 zur Verfügung steht oder nicht, spricht man von einem informierten bzw. blinden Detektor. Wurde zum Einbetten des Wasserzeichens ein Watermark Key verwendet, muss auch der Detektor über den Watermark Key verfügen. Abbildung 2.4 zeigt einen blinden Detektor. Man beachte, dass der Output mN nicht notwendigerweise mit dem ursprünglichen Input m übereinstimmen muss. Im Gegensatz zum Szenario bei Nutzung eines blinden Detektors wird bei einem informierten Detektor zunächst das Cover Work C0 von dem empfangenen CWN subtrahiert. Als Ergebnis erhält der Detektor
98
■ ■ ■
2 Mediensicherheit
Abb. 2.4: Blinder Detektor
also ein eventuell gestörtes Added Pattern wa + N. Aufgrund der Tatsache, dass der Detektor bei einem informierten Verfahren das Original immer mit sich führen muss, sind die Einsatzmöglichkeiten informierter Verfahren aber eher begrenzt. 2.2.2.2 Einfache Beispiele Zur Illustration des obigen Modells betrachten wir drei einfache Beispiele, davon zwei für Einzelbilder, das andere für Audiodaten. Beispiel 3 (s. [CMB], System 1) In diesem einfachen Beispiel wird ein einziges Bit b in ein Schwarzweiß-Bild eingebettet. Dazu wird zunächst mit Hilfe des Watermark Key und eines Pseudozufallsgenerators ein Referenzbild wr mit denselben Ausmaßen wie das Cover Work C0 erzeugt. Das Added Pattern wa ergibt sich dann aus:
wa
D wr falls b ® ¯D wr falls b
1 0
Zum Einbetten werden die Grauwerte des Added Pattern und des Cover Work pixelweise addiert. Berücksichtigt man weitere Störungen S auf dem Transportweg, kommt beim Empfänger also das gestörte Bild C = C0 + wa + S an. Um in C das eingebettete Referenzbild „blind“, das heißt ohne Kenntnis des Cover Work detektieren zu können, bildet der Detektor die lineare Korrelation von C und dem Referenzbild wr:
LC (C , wr )
1 C wr N
1 N
¦ C (i, j )w (i, j ) r
i, j
2.2 Digitale Wasserzeichen
■ ■ ■
99
Dabei stehen N für die Gesamtzahl der Pixel und C(i,j) bzw. wr(i,j) für die Grauwerte der Pixel an der Position (i,j). Fasst man C und wr als N-dimensionale Vektoren mit den Grauwerten der Pixel als Komponenten auf, so bezeichnet die lineare Korrelation von C und wr das Skalarprodukt der beiden Vektoren, dividiert durch N. Wegen C = C0 + wa + S gilt somit:
LC (C , wr )
1 (C0 wr wa wr S wr ) N
Geht man davon aus, dass die Grauwerte sowohl von C0 als auch von wr und S einer Gauß-Verteilung folgen, so sind die Größen C0¸wr und S¸wr mit hoher Wahrscheinlichkeit betragsmäßig sehr klein. Die lineare Korrelation wird also dominiert durch den Anteil:
1 wa wr N
rD wr wr
2
rD ¦ wr (i, j ) . i, j
Liegt also der Wert für die lineare Korrelation von C und wr über einem bestimmten positiven Schwellwert U, so kann man mit hoher Wahrscheinlichkeit davon ausgehen, dass b = 1 eingebettet wurde, ist sie kleiner als -U, wurde b = 0 eingebettet. Zwischen diesen beiden Werten ist keine Aussage möglich, d. h. das Bild wird als „nicht markiert“ eingestuft. Die Robustheit des Verfahrens gegenüber Störungen lässt sich durch die zwei Parameter B und U beeinflussen: Je größer B, desto größer wird auch die lineare Korrelation und umso wahrscheinlicher ist ein korrektes Detektieren des eingebrachten Bits, aber umso stärker natürlich auch die Veränderung des originalen Cover Work. Je größer der Schwellwert U, umso unwahrscheinlicher wird eine fehlerhafte Detektion eines Bits, d. h. die Anzahl von so genannten False Positives sinkt. Auf der anderen Seite führt ein großes U zu einer höheren Rate von markierten Cover Works, die als nicht markiert erkannt werden: Die Anzahl der False Negatives steigt. Beispiel 4 (s. [KJB]) Zum Markieren eines Farbbildes werden in diesem Verfahren seine Pixel in die drei Farbkanäle Blau, Gelb und Rot aufgespaltet. Da Änderungen am Blaukanal am wenigsten vom menschlichen Auge wahrgenommen werden, werden die Wasserzeichenbits dort eingebracht. Der Watermark Key dient als initialer Input zu einem Pseudozufallsgenerator, der eine Pixelposition (i,j) bestimmt. Nun erzeugt der Embedder ein Added Pattern wa mit den gleichen Ausmaßen wie das Cover Work und dem Wert
Bij ( wa ) D Lij (2b 1)
100
■ ■ ■
2 Mediensicherheit
für den Blaukanal an der Stelle (i,j). Dabei steht b für das einzubringende Bit und Lij für die Helligkeit des Originalbildes an der Stelle (i,j). Alle anderen Farbwerte werden auf Null gesetzt. Somit wird durch die Markierung mit dem Wasserzeichenbit b der Blaukanal des Cover Work wie folgt abgeändert:
Bijneu
Bij D Lij (2b 1) .
Um die Wasserzeichenbits ohne Kenntnis des Cover Work auslesen zu können, bildet der Detektor den Durchschnittswert der Blauwerte der Pixel des markierten Bildes in einer Kreuznachbarschaft der Größe c um die Stelle (i,j) herum:
Bij
c 1 § c neu neu · . Bi k , j ¦ Bineu ¦ , k j 2 Bij ¸ ¨ 4c © k c k c ¹
Da anzunehmen ist, dass die Blauwerte der die Stelle (i,j) umgebenden Pixel im Cover Work alle ungefähr ähnliche Werte haben, deutet eine Abweichung des Durchschnitts Bij von Bijneu nach unten darauf hin, dass Bijneu gegenüber Bij vergrößert wurde, also ein positives Bit eingebracht wurde. Ist hingegen der Durchschnittswert der umgebenden Blauwerte größer als Bijneu , wurde wahrscheinlich ein Nullbit kodiert. Um die Robustheit des Verfahrens zu erhöhen, kann das Bit mehrfach an unterschiedlichen Stellen des Cover Work eingebracht werden. Trotzdem ist das Verfahren anfällig gegen geometrische Transformationen des markierten Bildes und Austausch benachbarter Pixel. Beispiel 5 (s. [Kim]) Als Beispiel eines einfachen Wasserzeichen-Verfahrens für Audiodaten betrachten wir das Quantisierungsverfahren von Kim. Der Encoder wählt zunächst, gesteuert durch den Watermark Key, bestimmte zeitliche Positionen ti in der Audiodatei aus. Besteht die einzubettende Nachricht m aus n Bit bi, werden n Positionen ausgewählt. An diesen Stellen wird die Signalenergie x(ti) bestimmt. Die Signalenergien x(ti) werden durch das Einbetten der Wasserzeichenbits auf neue Werte y(ti) abgebildet:
y (ti )
q ( x(ti ),D ) D / 4 falls bi ® ¯q ( x(ti ),D ) D / 4 falls bi
1 0
Dabei ist q eine Quantisierungsfunktion, die die Signalenergien x(ti) auf ganzzahlige Werte abbildet:
q( x(t ),D ) i
ª x (t ) º « i » D ¬« D ¼»
2.2 Digitale Wasserzeichen
■ ■ ■
101
Dabei bedeutet [ ] das Runden auf die nächstgelegene ganze Zahl. Die sich bei dieser Prozedur ergebenden Funktionswerte sind ganze Zahlen im Abstand des Parameters D. Sie werden als „Anker“ bezeichnet. Das Markieren bildet also die Signalenergie des Originals zunächst auf einen der Anker ab und verschiebt ihn dann um einen Betrag von D/4 nach oben oder unten, je nach einzubettendem Bit. Der Detektionsprozess kommt ohne die Original-Audiodatei aus. Dazu werden zunächst die Signalenergien y(ti) an den durch den Watermark Key vorgegebenen Stellen bestimmt und mit den vorab berechneten Ankerwerten verglichen. Ist zi der zu dem Wert y(ti) nächstgelegene Anker, so ergeben sich die eingebetteten Bits bi aus:
bi
1 falls 0 y (ti ) zi D / 4 ® ¯ 0 falls D / 4 y zi 0
Werden der markierten Datei Störgeräusche hinzugefügt, deren Signalstärke an den Stellen ti den Wert D/4 übersteigt, können die Wasserzeichenbits vom Detektor missinterpretiert werden. Auf der anderen Seite darf natürlich D nicht zu groß gewählt werden, da sonst das Wasserzeichen die Audioqualität zu stark beeinträchtigen würde. 2.2.2.3 Codierung längerer Nachrichten In den ersten beiden der obigen Beispiele wurde jeweils nur ein einziges Bit eingebettet. Das dritte Verfahren hingegen erlaubte das Einbringen mehrerer Bits zu verschiedenen Zeitpunkten. Das Prinzip, eine aus mehreren Symbolen bestehende Nachricht zu unterschiedlichen Zeiten über den gleichen Kanal zu transferieren, wird als Time Division Multiplexing bezeichnet. Ebenso ließe sich Beispiel 2 einfach zum Transport längerer Nachrichten erweitern, indem die Nachrichtenbits einzeln in unterschiedlichen Segmenten des Cover Work eingebettet werden. Somit würden unterschiedliche räumliche Abschnitte des gleichen Kanals zum Transport mehrerer Symbole genutzt: Dieses Verfahren heißt Space Division Multiplexing. Eine weitere Möglichkeit, die sowohl für Audio- als auch Videodaten in Betracht kommt, besteht im Frequency Division Multiplexing, also im Verteilen der Bits der Nachricht auf unterschiedliche Frequenzbänder, in denen dann das Einbetten der Bits separat erfolgt. Beim Code Division Multiplexing wird die Nachricht zunächst in Symbole (z. B. ASCII Zeichen) aufgeteilt, die durch verschiedene Bitfolgen (so genannte Codes) repräsentiert werden. Erfolgt die Detektion des Wasserzeichens wie in Beispiel 1 durch lineare Korrelation der empfangenen Daten mit einem Referenz-Muster wr, so lässt sich die Tatsache ausnutzen, dass bei geeigneter Codierung die Codes für
102
■ ■ ■
2 Mediensicherheit
einzelne Symbole zueinander orthogonal sind, ihr Skalarprodukt also Null ergibt. Die Codes der einzelnen Symbole lassen sich nun simultan in das Cover Work einbetten, indem man zusätzlich zu den eigentlichen Symbolen si noch deren Position j innerhalb der Nachricht m kodiert. Die Symbole sij (d. h. Symbol si an der Stelle j) lassen sich detektieren, indem das empfangene Signal nacheinander mit den Referenzmustern wr,ij für die Symbole sij korreliert wird. Um die Wahrscheinlichkeit zu erhöhen, dass der Detektor trotz eventueller Störungen die korrekte Nachricht m ausgibt, kann die Nachricht vor dem Einbetten mit einem Fehler korrigierenden Code (Error Correcting Code (ECC)) versehen werden. Diese sorgen dafür, dass mögliche Bitfehler in der empfangenen Nachricht entdeckt und auch korrigiert werden können, allerdings um den Preis, dass die maximale Länge der einzubettenden Nachrichten geringer wird. 2.2.2.4 Robustes Einbetten Robustheit stellt eine wichtige Anforderung an digitale Wasserzeichen dar. Man versteht darunter die Detektierbarkeit des Wasserzeichens, auch nachdem das markierte Cover Work gewissen Transformation, Störungen oder auch Angriffen ausgesetzt wurde. Intuitiv ist klar, dass die Anforderung der Robustheit der Anforderung der Nicht-Wahrnehmbarkeit widerspricht. Das „ideale“ robuste Wasserzeichen ist nicht wahrnehmbar und bleibt auch in manipulierten Mediendaten so lange detektierbar, bis eine Transformation den Wert des markierten Cover Work völlig zunichte macht. In der Praxis ist jedoch immer ein Kompromiss gefragt zwischen den zwei gegenläufigen Anforderungen. In manchen Anwendungsfällen wird die Nicht-Wahrnehmbarkeit zugunsten der Robustheit auch komplett aufgegeben ([Min], vgl. Abb. 2.5). Eine offensichtliche Möglichkeit, die Robustheit eines Wasserzeichens zu erhöhen, besteht im so genannten redundanten Einbetten, also dem mehrfachen Einbetten eines Wasserzeichens. „Mehrfach“ kann je nach zu markierendem Cover Work räumlich, zeitlich oder über unterschiedliche Frequenzen verteilt bedeuten. Dadurch bleibt das Wasserzeichen auch bei einfachem Abschneiden von Bild- oder Musikteilen bzw. Filtern von Frequenzbändern präsent. Überträgt man den Ansatz des redundanten Einbettens in verschiedene Frequenzbänder auf das Einbetten via Code Division Multiplexing, kommt man zum so genannten Spread-Spectrum-Coding: Dabei werden die einzubettenden Codewörter auf mehr Bits verteilt, als zur reinen Informationsübertragung nötig wäre (so genanntes Spreading bzw. Spreizen). Die 27 ASCII Zeichen beispielsweise könnten auf 512 Bit lange Codewörter aufgespreizt werden, die mittels des
2.2 Digitale Wasserzeichen
■ ■ ■
103
Abb. 2.5: Seite einer Bibel aus der vatikanischen Bibliothek mit sichtbarem Wasserzeichen
Watermark Key durch einen Pseudozufallsgenerator erzeugt wurden. Diese Vorgehensweise bietet mehrere Vorteile: Zum einen verteilen sich die Änderungen durch die eingebrachten Wasserzeichensymbole gleichmäßig über 512 einzubringende Bit, wodurch die Wahrnehmbarkeit des Wasserzeichens insgesamt herab gesetzt wird. Zum anderen erhöht sich die Robustheit des Wasserzeichens, da sich eventuelle Störungen nur auf die Detektion einzelner Bits auswirken werden. Auch wenn einzelne Bits gestört beim Detektor ankommen sollten, sorgt die Tatsache, dass pseudozufällig erzeugte Bitfolgen mit hoher Wahrscheinlichkeit nahezu orthogonal sind, bei der Detektion durch Korrelation dafür, dass die kodierten Zeichen korrekt erkannt werden können. Zudem wird das Aufspüren und eventuell Entfernen des Wasserzeichens durch einen Angreifer wesentlich erschwert. Schließlich kann beim Einbetten die Wirkung bestimmter, wahrscheinlicher Transformationen, wie etwa die Kompression eines Bildes nach JPEG, berücksichtigt werden. Dazu begibt man sich in den Bereich, in dem die betreffende Transformation arbeitet und bettet die einzubringenden Bits direkt in die sich nach der Transformation ergebenden Koeffizienten ein. Hierzu zwei Beispiele, die robust gegen JPEG bzw. JPEG2000-Kompression sind:
104
■ ■ ■
2 Mediensicherheit
Beispiel 6 (s. [CKLS]) Cox et al. betten ein Wasserzeichen der Länge n in die N betragsmäßig größten Koeffizienten der Transformations-Matrix der Bildpixel nach einer Diskreten-Kosinus-Transformation (s. Kap. 1.3.4.1) ein, indem sie zunächst n der N Koeffizienten pseudozufällig (d. h. gesteuert durch den Watermark Key) auswählen. Die Zahl n ist ein Maß für den Grad der Spreizung des Wasserzeichens X. Es wird durch n normalverteilte reelle Zufallszahlen xi dargestellt. Sind ui die ausgewählten Koeffizienten, so lauten die neuen DCT Koeffizienten nach dem Einbetten
vi
ui D xi
Die Detektion geschieht hier mittels eines informierten Detektors, also unter Kenntnis des Originals. Der Detektor bestimmt zunächst * das gestörte Wasserzeichen X und berechnet dann ein Ähnlichkeitsmaß
sim( X , X * )
X* X X*X*
Liegt dieses Maß über einem bestimmten Schwellwert, gilt das Wasserzeichen X als detektiert. Dieses Maß besitzt eine besonders geringe Rate an False Positives und eignet sich daher gut zum Copyright Nachweis. Die Tatsache, dass gerade die größten DCTKoeffizienten durch das Wasserzeichen modifiziert werden, bedeutet, dass das Wasserzeichen im Bildraum in feinen Bildstrukturen zu finden ist. Ein Versuch, das Wasserzeichen ohne Kenntnis des Watermark Key zu entfernen, sollte daher in einem unbrauchbaren Bild resultieren. Beispiel 7 (s. [GrEb]) Um gegen JPEG2000 Kompression robust zu sein, wird bei diesem Verfahren wird im Wavelet-Bereich gearbeitet. Sind bi die n Wasserzeichen Bits (wobei hier bi {-1,1} gilt), ni gewisse pseudozufällig erzeugte Zahlen mit Mittelwert 0, und wi die quantisierten Wavelet-Koeffizienten der JPEG2000 Transformation, so erhält man die markierten Koeffizienten durch
wi'
wi D bi ni
Die Detektion der einzelnen Wasserzeichenbits erfolgt (ohne Kenntnis des Originals) durch Bilden eines separaten Korrelationswertes für jedes Bit. Das Wasserzeichen ist robust gegen übliche Kompressionsverfahren, kann aber durch geometrische Transformationen im Bildbereich entfernt werden.
2.2 Digitale Wasserzeichen
■ ■ ■
105
2.2.3 Angriffe In diesem Abschnitt diskutieren wir die drei wichtigsten Angriffstypen, denen digitale Wasserzeichen ausgesetzt sind. Grundsätzlich muss man feststellen, dass ein genereller Schutz für digitale Wasserzeichen aufgrund der Vielzahl möglicher Transformationen, die ein Angreifer mit einem markierten Original durchführen kann, nur sehr schwer zu erreichen ist. In der Praxis muss daher bei der Auswahl eines Verfahrens abgewogen werden zwischen dem Wert der zu schützenden Originaldaten, dem Einsatzbereich des Wasserzeichens und den damit verbundenen Sicherheitsanforderungen sowie dem Aufwand, den ein potenzieller Angreifer treiben müsste, um das Wasserzeichen zu attackieren. 2.2.3.1 Unbefugtes Einbetten Bei dieser Attacke gelingt es dem Angreifer, ein eigenes Wasserzeichen in ein Cover Work einzubetten, obwohl er dazu nicht berechtigt ist. Dies ist besonders kritisch bei Copyright-Anwendungen: Der Angreifer kann nach dem unbefugten Einbetten behaupten, er selbst halte das Copyright auf das Original. Grundsätzlich wird das unbefugte Einbetten durch die Verwendung eines Spread-Spectrum-Verfahrens unter Steuerung eines Watermark Keys erschwert. Gelänge es dem Angreifer aber, sich den Watermark Key zu verschaffen, wäre er in der Lage, eigene Wasserzeichen einzubetten. Dieser Angriff lässt sich aber verhindern, indem die einzubettende Nachricht vor dem Einbetten mit einem Cipher Key zusätzlich verschlüsselt wird. Dadurch kann der Angreifer zwar Nachrichten einbetten, aber kann keine authentische Nachricht zum Einbetten erzeugen. Schwieriger ist ein verwandter Angriff abzuwehren, bei dem ein Angreifer sich eine gültige Nachricht bzw. ein gültiges Added Pattern wa aus einem anderen markierten Cover Work beschafft, etwa indem er sich das unmarkierte Original C0 besorgt und die Differenz mit dem markierten Cover Work bildet:
wa CW C0 Dieses Added Pattern könnte nun auch in ein anderes Cover Work eingebettet werden (so genannte Copy Attack). Die Abwehr gegen diesen Angriff besteht darin, die einzubettende Nachricht nicht nur kryptografisch abzusichern, sondern auch vom Cover Work, in das eingebettet werden soll, abhängig zu machen. Dadurch gelingt eine Kopplung des Cover Work mit dem Added Pattern und die Copy
106
■ ■ ■
2 Mediensicherheit
Attack wird unmöglich gemacht. Eine einfache digitale Signatur der Quelldaten des Cover Work ist jedoch als Added Pattern nicht geeignet, da die Quelldaten durch erlaubte Transformation verändert werden könnten, so dass auch in diesem Anwendungsfall auf inhaltsbasierte Signaturen (s. 2.2.1.6) zurückgegriffen werden sollte. 2.2.3.2 Unbefugtes Detektieren des Wasserzeichens In dieser Angriffskategorie ist zu unterscheiden, ob über ein Wasserzeichen sensitive Informationen transportiert werden sollen oder ob schon die bloße Tatsache, dass die Daten markiert sind, geheim gehalten werden soll. Sind die im Wasserzeichen enthaltenen Informationen geheim (wie etwa bei Transaction Tracking Watermarks, die Informationen über Kunden enthalten), können sie vor dem Einbetten verschlüsselt und so für einen Angreifer unkenntlich gemacht werden. Aber auch das bloße Testen darauf, ob ein Wasserzeichen in Mediendaten enthalten ist, kann einem Angreifer wertvolle Informationen liefern (s. unten). Diese Art von Angriff lässt sich mit kryptografischen Mitteln nicht verhindern, zumal in vielen Anwendungsfällen wie der Copy Control (s. 2.2.1.3) dem Angreifer tatsächlich ein Detektor in Form eines Abspiel- oder Kopiergeräts zur Verfügung steht. 2.2.3.3 Unbefugtes Entfernen des Wasserzeichens Idealerweise hat das unbefugte Entfernen eines eingebrachten Wasserzeichens auch die Zerstörung bzw. das Unbrauchbar machen der Mediendaten zur Folge. Das bedeutet, durch das „gewaltsame“ Entfernen des Wasserzeichens werden die markierten Mediendaten in einem abstrakten Media Space sehr weit von den Originaldaten entfernt. Wie wir gesehen haben, kann man diesem Ziel durch robuste Einbettungstechniken, insbesondere Spread Spectrum Coding, näher kommen. Das Ziel eines Angreifers ist es hingegen, Mediendaten zu konstruieren, die kein Wasserzeichen mehr enthalten und die dem Original sehr ähnlich sehen. Im Falle von Transaction Watermarks bestehen beispielsweise viele Kopien des Originals mit unterschiedlichen Wasserzeichen. Arbeiten nun die Eigentümer verschiedener markierter Cover Works zusammen, so lässt sich mit Hilfe der unterschiedlichen markierten Daten durch Differenz- und Durchschnittsbildung das Original C0 abschätzen (so genannte Collusion Attack). Steht dem Angreifer ein Detektor zur Verfügung, wird eine sehr allgemeine Form des Angriffs auf Wasserzeichen möglich, die so
2.2 Digitale Wasserzeichen
■ ■ ■
107
Abb. 2.6: Oracle Attack (nach [Pet]) Im Kreis um das unmarkierte Original C0 befinden sich alle zu C0 ähnlichen Mediendaten von akzeptabler Qualität. Der Detektor teilt den Kreis in zwei Regionen, in denen das Wasserzeichen detektiert bzw. nicht detektiert werden kann. Ziel des Angreifers ist es, die Startdaten I0 sukzessive durch kleine Änderungen in den linken Teil des Kreises zu transferieren.
genannte Oracle Attack: Der Angreifer konstruiert zunächst Mediendaten I0 im passenden Format, die zwar weit entfernt vom Original sind, dafür aber kein Wasserzeichen enthalten. Davon ausgehend führt er mit Hilfe des Detektors nach dem „Trial and Error“-Prinzip eine Folge kleiner Veränderungen durch, die ihn sukzessive immer näher an das Original heranbringen, jedoch nicht zur Folge haben, dass das Wasserzeichen detektiert wird, bis das Ergebnis In eine zufrieden stellende Qualität besitzt (s. Abb. 2.6). Geht es zum Beispiel um ein Bild, können die Helligkeits- und Farbwerte von I0 Pixel für Pixel leicht abgeändert werden, bis das Ergebnis akzeptabel ist. 2.2.3.4 Stirmark Stirmark [Pet2] ist ein frei erhältliches Tool zur Durchführung automatischer Robustheits-Tests für Wasserzeichen in digitalen Bildern. Es unterwirft das Input-Bild kleinen, zufälligen Verschiebungen und Verzerrungen, die für das menschliche Auge nicht erkennbar sind, aber dafür sorgen können, dass ein eingebrachtes Wasserzeichen nicht mehr detektierbar ist. Mittlerweile existiert auch eine StirmarkVersion für Audiodaten (s. [DiLa]).
2.3 DRM-Systeme Digital Rights Management Systeme haben zum Ziel, die mit der Erzeugung und dem Vertrieb digitaler Mediendaten verbundenen Rechte, wie sie vom Inhaber der Daten formuliert werden, in einer
108
■ ■ ■
2 Mediensicherheit
standardisierten Form zu präsentieren, sie an die Mediendaten zu binden und ihre Durchsetzung zu ermöglichen. Solche Systeme werden in der Öffentlichkeit zurzeit kontrovers diskutiert: Den einen erscheinen sie als Instrumente zur willkürlichen Einschränkung der Nutzungsrechte an einem einmal erworbenen Gut, den anderen als einziges Mittel, Kreativität weiterhin angemessen zu entlohnen und dabei am scheinbar unbegrenzten Potenzial des Internet zum Vertrieb digitaler Güter teilzuhaben. Ziel der folgenden Kapitel ist es nicht, für eine der beiden Seiten Partei zu nehmen, sondern die technischen Grundlagen von DRM-Systemen zu verdeutlichen und dem Leser so zu ermöglichen, sich ein eigenes Urteil zu bilden.
2.3.1 Komponenten von DRM-Systemen DRM-Systeme sind im Moment noch sehr wenig standardisiert (mit der Ausnahme mobiler DRM-Systeme, s. 2.3.2), sondern werden von einzelnen Firmen weiter entwickelt, die ihrerseits nur sehr wenig über die im Detail eingesetzten Verfahren veröffentlichen. Trotzdem besitzen alle DRM-Systeme eine relativ einheitliche Struktur mit ähnlichen Komponenten. 2.3.1.1 Sichere Mediencontainer Die Mediendaten werden auf einem Content-Server zum Download bereitgehalten. Vor dem Transport zu den Kunden werden sie eventuell komprimiert und danach mit den in 2.1.2.1 angesprochenen symmetrischen Verfahren verschlüsselt. Neben den verschlüsselten Quelldaten finden sich auf dem Server auch Metadaten zum leichteren Auffinden der Daten sowie eine URL, die auf einen Lizenzserver verweist. Dort kann sich der Kunde nach voran gegangener Authentifizierung ein Rechteobjekt laden, welches neben den mit dem Erwerb der Mediendaten verbundenen Rechten auch den Schlüssel enthält, mit dem die Quelldaten verschlüsselt sind. Natürlich muss auch dieser Schlüssel vertraulich übermittelt werden. Dies kann über den Public Key des Kunden passieren (sofern dieser ein Zertifikat besitzt) oder aber über einen verschlüsselten Kanal vom Kunden zum Lizenzserver, wie ihn zum Beispiel das Sicherheitsprotokoll SSL/TLS (siehe hierzu zum Beispiel [Bl], Kap. 7.3) bereitstellt.
2.3 DRM-Systeme
■ ■ ■
109
2.3.1.2 Aussagen über Rechte Die mit dem Erwerb digitaler Mediendaten verbundenen Rechte drücken aus, wer das Recht hat, die Daten zu nutzen, und in welcher Form bzw. wie oft die Daten kopiert und weiter gegeben werden dürfen. Sie werden vom Lizenzserver in einem so genannten Rechteobjekt (Rights Object) zusammengefasst und stehen für authentifzierte Nutzer zum (in der Regel kostenpflichtigen) Download bereit. Die Aussagen über die Nutzungsrechte im Rechteobjekt müssen maschinenlesbar sein, und zwar nach Möglichkeit auch für Geräte unterschiedlicher Hersteller. Zu diesem Zweck wird eine Rights Expression Language (REL) definiert. Das Spektrum reicht von einem einfachen Satz gesetzter bzw. nicht gesetzter Flags bis hin zu komplexen XML-basierten Dokumenten, die selbst wiederum vom Rechteinhaber digital signiert sein können, wodurch verhindert wird, dass Kunden die ihnen zugestandenen Rechte modifizieren. Die im Moment am wichtigsten erscheinenden Standards im Bereich der RELs sind beide XML-basiert: Zum einen die Open Digital Rights Language (ODRL, siehe [Ian]) und zum anderen die von Microsoft und Xerox entwickelte eXtensible Rights Markup Language (XRML, siehe [XRM]). So ist zum Beispiel der Windows Media Player von Microsoft in der Lage, XRML-Dateien zu interpretieren (siehe auch Abb. 2.7). Abb. 2.7: Nutzungsrechte eines geschützten Musikstücks im Windows Media Player
110
■ ■ ■
2 Mediensicherheit
2.3.1.3 Metadaten Metadaten dienen zur eindeutigen Identifizierung der Mediendaten sowie zur Beschreibung ihrer Inhalte. Beides wird im Klartext auf dem Content-Server bereitgehalten und ermöglicht den Kunden das einfachere Auffinden der gewünschten Inhalte, während der Anbieter die Identifikationsdaten mit in das Rechteobjekt aufnehmen und so das Medienobjekt an das Rechteobjekt koppeln kann. 2.3.1.4 Identifikations- und Authentifikationssysteme Diese Systeme bilden einen wesentlichen Bestandteil eines jeden E-Commerce-Systems. Sie dienen dazu, die Identität von Kunden zu verifizieren und somit nach der Bestellung den Bezahlvorgang einleiten zu können. Der Kunde kann über die Authentifikation beim Lizenzserver nachweisen, dass er die Berechtigung hat, ein Rechteobjekt zu laden ist. Daneben hat der Kunde auch die Möglichkeit, über einen entsprechenden Mechanismus die Identität eines Content-Servers verifizieren zu können. Aus technischer Sicht werden serverseitig zumeist Zertifikate und digitale Signaturen zur Authentifizierung eingesetzt, während die Kunden sich zumeist über Username und Passwort authentifizieren. Natürlich muss hierbei vorab ein sicherer Kanal via SSL/TLS zwischen Server und Kunde etabliert werden. 2.3.1.5 Digitale Wasserzeichen Werden digitale Wasserzeichen im Rahmen eines DRM-Systems eingesetzt, müssen sie vom Rechteinhaber in die Mediendaten eingebracht werden, bevor sie an die Kunden geliefert werden. Der Kunde erhält also nicht die Originaldaten, sondern ein markiertes Cover Work. Wasserzeichen kommen in dem Moment ins Spiel, wenn dem Kunden die Mediendaten in unverschlüsselter Form vorliegen. Es gibt dann keine Möglichkeiten mehr, eventuelle Nutzungsbeschränkungen durchzusetzen oder die unbefugte Weitergabe der Daten zu verhindern, es sei dann, diese Beschränkungen wären Teil der Daten selbst. Denkbar wäre der Einsatz von Wasserzeichen sowohl zum Kopierschutz als auch zum Nachweis der Urheberschaft und zum Transaction Tracking. Bis auf wenige Ausnahmen gibt es in diesem Bereich aber keine gesicherten Informationen durch die Industrie.
2.3 DRM-Systeme
■ ■ ■
111
2.3.1.6 Bezahlsysteme Bezahlsysteme stellen die Verbindung her zwischen dem Content Server, bei dem der Kunde bestellt hat, und einem dem Kunden gehörenden Konto, zum Beispiel bei einer Kreditkartenfirma, über das die Bezahlung der Mediendaten abgewickelt werden kann. Nach wie vor stellt die Bezahlung über Kreditkarten die im Internet vorherrschende Methode dar, obwohl sie einige Nachteile mit sich bringt. So lohnt sich der Aufwand nur bei Beträgen, die zumindest die Ein-Euro-Grenze überschreiten. Zudem muss bei den heute eingesetzten Systemen der Kunde seine Kreditkartennummer an den Content Server übermitteln, was zusätzliche Sicherheitsrisiken in sich birgt: Zwar geschieht die Übermittelung der Nummer in der Regel über einen gesicherten Kanal, jedoch ist nicht klar, wie sorgfältig der Server nach der Übermittelung mit den Daten umgeht. Trotzdem haben sich alternative Bezahlsysteme für das Internet wie die von D. Chaum entwickelten digitalen Münzen [Cha] bislang nicht durchsetzen können, obwohl die technischen Voraussetzungen durchaus vorhanden sind. Etwas anders gelagert ist die Situation bei mobilen DRM-Systemen (siehe unten). Hierbei hat der Kunde immer auch einen Vertrag mit einem Mobilfunkanbieter, dem er bei der Abrechnung seiner Gesprächsdaten vertraut. Die Abrechnung mobil erworbener Mediendaten könnte deshalb in diesem Fall einfach über den Mobilfunkanbieter erfolgen, sofern ein entsprechender Vertrag zwischen dem Rechteinhaber und dem Mobilfunkbetreiber vorliegt.
2.3.2 Mobile DRM-Systeme Wie in Kap. 4 dargelegt wird, haben sich die Mobilfunknetze in den letzten Jahren von einem reinen Netz für Sprachtelefonie immer mehr hin zu einem universellen Datennetzwerk entwickelt. Insbesondere die modernen GPRS- bzw. UMTS-Mobilfunknetze bieten mittlerweile eine ihren Nutzern eine Bandbreite an, die es möglich macht, auch hochqualitative Medienobjekte über die so genannte Luftschnittstelle auf die mobilen Endgeräte zu transferieren. Aus diesem Grund sind die diskutierten DRM-Technologien auch und gerade für mobile Netze und Endgeräte relevant. Die gerade beschriebenen Basiskomponenten von DRM-Systemen lassen sich am Beispiel der gerade veröffentlichten Version 2.0 der DRM Architecture der Open Mobile Alliance (OMA) gut nachvollziehen, da wir hier mit einem der wenigen veröffentlichten DRM-Systeme
112
■ ■ ■
2 Mediensicherheit
zu tun haben. Zunächst aber wollen wir deutlich machen, in welcher Hinsicht sich mobile DRM-Systeme von DRM-Systemen im Allgemeinen unterscheiden. 2.3.2.1 Spezielle Aspekte mobiler DRM-Systeme Die Anforderungen an ein mobiles DRM System sind im Prinzip die gleichen, wie sie auch an ein Internet-basiertes System gestellt werden, bei dem der Desktop-PC das dominierende Endgerät darstellt: Sicherer Transport der Mediendaten zum Kunden, Schutz des Copyright und Durchsetzung der Einschränkungen, die mit dem Erwerb der Mediendaten verbunden sind. Trotzdem gibt es einige Aspekte, die mobile DRM-Systeme von DRM-Systemen im Allgemeinen unterscheiden: x Verlust eines Endgeräts Ein mobiles Endgerät geht sehr viel leichter verloren bzw. kann leichter gestohlen werden als ein Desktop-PC. Ein mobiles DRMSystem muss dies berücksichtigen, besonders bei der Speicherung der Authentifikationsdaten der Kunden auf dem Endgerät: Ein Dieb bzw. Finder sollte nicht in der Lage sein, auf Kosten des Kunden weitere Medienobjekte zu bestellen. x Enge Kopplung der Endgeräte mit dem Betriebssystem Typischerweise besteht zwischen Hardware und Betriebssystem eines mobilen Endgeräts ein enger Zusammenhang, da beides aus der Hand eines Herstellers kommt. Es ist daher für einen Hersteller leichter, sein Betriebssystem und seine Hardware auf die Belange eines DRM-Systems abzustimmen. x Super-Distribution Die Nutzer mobiler Endgeräte kommen häufiger miteinander in direkten Kontakt als Nutzer des drahtgebundenen Internet. Die heutigen mobilen Endgeräte bieten diverse Möglichkeiten zum spontanen, drahtlosen Datenaustausch, etwa über Bluetooth oder Infrarot. Unter Super-Distribution versteht man die Möglichkeit, ein einmal erworbenes Medienobjekt direkt von einem zum anderen Nutzer weiter zu geben, wodurch der Content-Server entlastet wird. Trotzdem sollte das DRM-System dem Rechteinhaber die Möglichkeit geben, die Kontrolle über das Medienobjekt behalten zu können. x Authentifikation Die Teilnehmer eines Mobilfunknetzes sind durch eine voran gegangene Anmeldung und Authentifikation dem Netz bekannt. Diese Tatsache kann sich ein mobiles DRM-System zu Nutze machen. Im Gegensatz dazu bleiben Nutzer des Internet zumeist anonym.
2.3 DRM-Systeme
■ ■ ■
113
x Interoperabilität Die oben beschriebene Super-Distribution von Inhalten von Endgerät zu Endgerät und die Forderung, den mobilen Nutzern einen möglichst transparentem Wechsel des besuchten Netzes zu ermöglichen, führt zu einer sehr weit reichenden Anforderung nach Interoperabilität eines mobilen DRM-Systems für verschiedene Endgerätetypen und über Netzgrenzen hinweg. Aus diesem Grund ist es nicht verwunderlich, dass gerade im mobilen Sektor die DRMStandardisierung am weitesten fortgeschritten ist. 2.3.2.2 Die DRM-Architektur der Open Mobile Alliance (OMA) Die Open Mobile Alliance (OMA) stellt einen Zusammenschluss von über 250 Firmen dar, der sich die Spezifikation offener Standards für mobile Dienste zur Aufgabe gemacht hat. Im September 2005 hat sie die zweite Version ihrer DRM-Architektur veröffentlicht [OMA], die wir nun vorstellen. Abbildung 2.8 zeigt die wesentlichen Akteure in einem mobilen DRM-System. Als DRM Agents werden in diesem Szenario die Bestandteile eines mobilen Endgeräts bezeichnet, die mit dem Management der Rechte für die Medienobjekte befasst sind. DRM Agents gelten als vertrauenswürdige Plattformen. Jeder DRM Agent sowie Content Issuer und Rights Issuer besitzen ein asymmetrisches Schlüsselpaar mit den dazu gehörigen Zertifikaten. Im Falle der Agents könnte der Hersteller der Endgeräte als CA (s. 2.1.2.5) auftreten und das Schlüsselpaar und Zertifikat bereits bei der Auslieferung auf dem Gerät speichern, aber Abb. 2.8: Funktionale Architektur des Mobile DRM Standards (aus [OMA])
114
■ ■ ■
2 Mediensicherheit
auch der nachträgliche Erwerb eines Zertifikats ist möglich. Der menschliche Nutzer eines DRM Agents entscheidet sich bei einem Besuch beim Server des Content Issuer für den Erwerb gewisser Mediendaten, zum Beispiel einen Musiktitel. Daraufhin lädt er sich ein geschütztes Medienobjekts (DRM Content Format, DCF) vom Content Server herunter. Die Mediendaten im DCF sind mit einem symmetrischen Schlüssel (Content Encyption Key, CEK) verschlüsselt. Darüber hinaus enthält das DCF einen Verweis auf den Rechteverwalter sowie eine Inhaltsbeschreibung der Daten im Klartext. Um die Daten nutzen zu können, muss sich der DRM Agent nach dem Download des DCF ein Rechte-Objekt (Rights Object, RO) vom Rechteverwalter besorgen. Hierfür wurde ein separates Protokoll, das Rights Object Acquisition Protocol (ROAP) von der OMA spezifiziert. Im Laufe dieses Protokolls tauschen DRM Agent und Rights Issuer ihre Zertifikate aus. In der Folge findet eine