Meinels Web-Tutorial: Wie kommen unsere Bilder und Videos in den Computer?
Für die meisten Menschen ist ein Computer auch heute noch eine magische Blackbox. Ähnlich wie beim Internet ist das, was wir auf dem Bildschirm sehen, immer nur das Resultat einer langen Kette interner Berechnungsabläufe, die unsichtbar und für die Meisten unfassbar im Computer ablaufen. Beim Internet besteht die Illusion darin, dass es sich um ein einzelnes Netz handelt, während es in Wahrheit aus Millionen von Netzwerken besteht, die vermittels komplexer Internetprotokolle miteinander kommunizieren. Wenn wir uns Bilder oder Videos über das Internet auf den Computer laden oder dort offline anschauen, sehen wir als Resultat Pixelmatrizen, die in einer komplexen Abfolge von Codierungs-, Komprimierungs- und Decodierungsverfahren erzeugt wurden und die uns das Medium einheitlich und ungeteilt erscheinen lassen. Damit die Illusion der Ganzheitlichkeit von Text-, Bild-, Audio- und Videodaten in Erscheinung treten kann, braucht es digitale Übersetzungsmechanismen, die als Informationscodierung bezeichnet werden.
Die grundlegende Schwierigkeit bei der Übersetzung von Texten, Sprache, Tönen und Videos ins Digitale besteht darin, die kontinuierlichen analogen Signale so gut wie möglich in diskrete (eindeutige abzählbare) digitale Informationen zu übersetzen, denn nur solche können Computer handhaben und verarbeiten. »Medien« in der realen Welt sind durch ihre physikalischen Merkmale charakterisiert. Töne beispielsweise bestehen aus einem komplexen Zusammenspiel von Schallwellen, die sich in der Atmosphäre verbreiten, unsere Sinnesorgane erreichen und dort verarbeitet werden. Die Merkmale dieser Schallwellen entscheiden über die Lautstärke, die Tonhöhe und den Klang des Tons. Ein Computer kann solche Schallwellen natürlich nicht in der Weise wahrnehmen wie der Mensch. Computer »verstehen« nur Binärsprache, und so müssen Töne, die von Computern aufgenommen, gespeichert, verarbeitet oder wiedergegeben werden sollen, zuvor in die Sprache der Bits und Bytes übersetzt werden. Gleiches gilt für Texte, Bilder oder Videos. Jeder Buchstabe, jeder Ton, jede Farbe muss eine Entsprechung in einer Folge aus Nullen und Einsen finden, damit diese im Smartphone oder im Computer verarbeitet werden können.
Von Übersetzungstabellen zu Codecs
Physikalisch realisiert wird diese binäre Codierung durch Abfolgen von abrupt wechselnden physikalischen Signalen – Strom fließt / Strom fließt nicht, Lichtimpuls / kein Lichtimpuls, und so weiter – und werden dann in einem Computer(schaltkreis) verarbeitet. Ein Computer versteht diese binären Signale als Folgen von Nullen und Einsen. Um binär-codierte digitale Medien wieder für Menschen wahrnehmbar zu machen, müssen die digitalen Signale wieder decodiert und über Medienausgabegeräte, wie Bildschirme oder Lautsprecher, in analoge Signale umgewandelt werden.
Wenn man nun Medien, also Töne, Bilder oder Videos, in digitale Signale übersetzen will, muss man zunächst zwei unterschiedliche Typen von Medien unterscheiden: Zum einen gibt es Medien, die sich über den Zeitverlauf nicht verändern, das heißt statisch sind, wie zum Beispiel Texte oder Bilder. Zum anderen gibt es aber auch Medien, die einen bestimmten Zeitverlauf brauchen, um verständlich zu werden, wie Musik oder Videos. So präsentiert sich ein Song oder ein Videoclip vollkommen anders im Zeitraffer oder bei Zeitdehnung.
Der einfachste Fall einer Informationscodierung lässt sich am Beispiel von aus einzelnen Buchstaben und Satzzeichen gebildeten Texten betrachten. Der Buchstabe »A« muss, um von einem Computer verarbeitet werden zu können, in eine Folge von Nullen und Einsen übersetzt werden. Dafür braucht es standardisierte Übersetzungstafeln, die genau definieren, welche Binärfolge für welchen Buchstaben oder welches Satzzeichen steht. Die Codierung lässt sich gut mit dem Morsecode vergleichen, aus dem sich die Binärcodierung übrigens auch entwickelt hat.
Die Übersetzungstafeln sind die Binärcode-Standards. Einer der wichtigsten ist dabei der ASCII-Code (American Standard Code for Information Interchange), der sieben Bits verwendet, um die einzelnen Buchstaben und Satzzeichen zu codieren. Bei einer 7-Bit-Codierung stehen insgesamt 27 = 128 verschiedene Bitfolgen zu Verfügung, um ein Zeichen abzubilden. Die Tabelle des ASCII-Codes weist nun sämtlichen Groß- und Kleinbuchstaben des englischen Alphabets, allen Ziffern sowie zahlreichen Sonderzeichen einen 7-stelligen Binärcode zu. Damit ist der ASCII-Code gut geeignet, englische Texte in Abfolgen von Digitalsignalen zu übersetzen. Im Fall des Großbuchstabens »A« lautet die binäre Schreibweise zum Beispiel »1000001«. Um das kompakter aufschreiben zu können, werden die Binärfolgen als Zahlen im Dezimalsystem notiert und als Dezimalzahl aufgefasst. Für den Großbuchstaben »A« lautet die Dezimalschreibweise der als Binärzahl aufgefassten Bitfolge 1000001:
1*26 + 0*25 + 0*24+ 0*23 + 0*22 + 0*21 + 1*20 = 65
In der ASCII-Codierungstabelle erscheint der Großbuchstabe A also an 65. Stelle. Die vollständige Tabelle finden man unter diesem Link.
Wenn nun mehr als 128 Zeichen codiert werden sollen – nicht jede Sprache verwendet ja das lateinische Alphabet –, braucht man längere Bitfolgen zur Codierung der verschiedenen Zeichen. So verwendet der ISO 8859-Standard eine Folge von acht Bits und kann somit bis zu 28 = 256 verschiedene Zeichen codieren. Der Zeichenvorrat umfasst hier alle ASCII-Zeichen, weitere Sonderzeichen sowie Zeichen des kyrillischen und thailändischen Alphabets. Das reicht aber nicht aus für chinesische Texte. Es gibt insgesamt etwa 87 000 chinesische Schriftzeichen. Nicht nur für deren Übersetzung in Binärcode wurde der so genannte Unicode UTF-32-Standard (Universal Transformation Formats) entwickelt. Hier stehen (bis zu) 32 Bits zur Codierung zur Verfügung, womit theoretisch fast 4,3 Milliarden Zeichen codiert werden können.
Mit dem UTF-32-Standard können auch multimediale Daten wie Audio- und Videodaten codiert werden. Um diese schiere Menge an Codes zu managen und das codierte Medium in einer für Menschen angemessenen Weise im Browser darzustellen, braucht es spezielle Programme, die diese Decodierung ausführen. Diese werden als »Codecs« bezeichnet. Sie codieren und decodieren analoge Signale nach dem UTF-Standard und ermöglichen es uns, analoge Daten digital und digitale Daten analog abzubilden.
Natürlich stellt sich angesichts der riesigen Menge von Codes und den dementsprechend extrem langen 0/1-Folgen die Frage nach einer Komprimierung. Wie lassen sich digitalisierte multimediale Daten effizient speichern und übertragen? Für solche Komprimierungen gibt es grundsätzlich zwei Ansätze:
- Verlustfreie Komprimierung: Keine Information eines Datenstroms darf ausgelassen werden. In jeder Codefolge ergeben sich redundante Daten, also Wiederholungen gleicher Folgen. Eine Komprimierung kann erreicht werden, wenn man redundante Informationen verringert.
- Verlustbehaftete Komprimierung: Absichtliches Weglassen von irrelevanten Informationen, beispielsweise von für den Menschen nicht wahrnehmbaren akustischen oder visuellen Frequenzen. So nimmt der Mensch es nicht wahr, wenn beispielsweise UV-Signale weggelassen werden, einfach weil der Mensch UV-Strahlung nicht sehen kann.
Die immer umfänglichere Nutzung von digitalen Medien in unserem Alltag und der Berufswelt und die damit riesig anwachsende Masse an Bilder-, Musik- und Videodaten kann ohne gute Komprimierungsverfahren nicht bewältigt werden. Wie diese für die einzelnen Medientypen genau funktionieren, werden wir in den nächsten Beiträgen besprechen.
Schreiben Sie uns!
Beitrag schreiben