Current Page: Greybox » Authoring » Course ID: medieninformatik » Modules » Module ID: m04 » Learning Units » Unit ID: 04_18
Last Modified:Tuesday, 2015-05-05 - 08:09:08
 
Tools: ValidatePreview XML Preview HTML Preview PDF
Alternative: Printable HTML

 

Learning Unit ID: 04_18
Title: JPEG Standard
Abstract: Anfang der achtziger Jahre wurde innerhalb der ISO eine Arbeitsgruppe, die Photographics Experts Group (JPEG), mit dem Ziel gebildet, die Entwicklung eines Verfahrens zur Datenreduktion von digitalen Bildern voranzutreiben. Heute ist der JPEG der weltweit dominierende Standard für digitale Bilder. Die Lerneinheit beschreibt die Keyfeatures und die vier möglichen Modi des Standards, und erklärt an Hand des Blockschaltbildesüberblicksmäßig die Funktionsweise des JPEG Encoders bzw des Decoders.
 
Status: Final Version: 2005-01-17
History: 2005-01-17 (Thomas migl): math-xml hinzugefügt
2004-11-03 (Thomas Migl): Akryo hinzugefügt
2004-09-23 (thomas migl): Abb. header und explanation korrigiert
2004-09-16 (Thomas migl): finalisiert
2004-08-30 (Robert Fuchs): Checked, fixed and exported for Review #2.
2004-08-25 (Thomas Migl): Inhalt in greybox importiert, Status quasi final
2004-03-12 (Robert Fuchs): Closed for 50% Content Deadline import in Scholion.
2004-03-11 (Thomas Migl): LOD1 Header added
2004-03-08 (Robert Fuchs): Zapped Gremlins.
2004-03-05 (Thomas Migl): LOD1 und Abstract hinzugefügt
2004-03-05 (Robert Fuchs): Added images, formulas and links.
2004-03-02 (Robert Fuchs): Imported and tagged content from "m4-LU18-JPEGStandard-fertig.doc"
2004-02-25 (HTMLContentTools):Created skeleton page.

Author
Author 1: Thomas Migl E-Mail: migl@ims.tuwien.ac.at
Author 2: (empty) E-Mail: (empty)
Author 3: (empty) E-Mail: (empty)
Author 4: (empty) E-Mail: (empty)
Author 5: (empty) E-Mail: (empty)
Organization: Technische Universität Wien; Institut für Softwaretechnik und Interaktive Systeme; Arbeitsgruppe für Interaktive Multimediale Systeme; http://www.ims.tuwien.ac.at/

Content

Key Features des JPEG Standards bovi2000,513

1

Einleitung

  • JPEG
    • Arbeitsgruppe der ISO
    • Joint Photographic Experts Group
  • Ziel von JPEG
    • Datenreduktion bei Bilddateien

 

Anforderungen an JPEG

  • Hohe Bildqualität
  • einfache Algorithmen
  • Ausgewogenheit zwischen Bitrate und Qualität
  • Benutzerfreundliche Steuerung von Dateigröße und Bildqualität
  • Bildformatunabhängigkeit
  • Verschiedene Modi

Transformationskodierung

2

Einleitung

Anfang der achtziger Jahre wurde innerhalb der ISO (International Standard Organisation) eine Arbeitsgruppe, die Joint Photographic Experts Group (JPEG), mit dem Ziel gebildet, die Entwicklung eines Verfahrens zur Datenreduktion von digitalen Bildern voranzutreiben. Heute ist der JPEG der weltweit dominierende Standard für digitale Bilder. Die Lerneinheit bietet einen Überblick über die Keyfeatures und die vier möglichen Modi des Standards, und erklärt an Hand des Blockschaltbildes überblicksmäßig die Funktionsweise des JPEG Encoders bzw des Decoders. In den Lerneinheiten JPEG Bildvorbereitung und JPEG Kodierungstechnik werden die von JPEG verwendeten Techniken dann im Detail beschrieben.

Anforderungen an JPEG

Bei der Entwicklung des Standards waren unter anderen folgende Key Features gefordert:

  • Das komprimierte Bild soll qualitativ möglichst nahe dem Original sein.
  • Die Kompressionsalgorithmen sollen nicht zu komplex sein. Nur so kann JPEG auch bei einfacher Hardware genutzt werden und eine allgemeine Nutzbarkeit gewährleisten.
  • Große Ausgewogenheit zwischen Bitrate und Qualität. Der JPEG Standard entspricht diesen Forderungen, nur bei sehr niedrigen Bitraten ist keine hohe Qualität mehr zu erzielen.
  • Der Benutzer soll leicht zwischen Datengröße und Bildqualität jonglieren können. So kann er die Kompression für jede Anwendung individuell optimieren.
  • JPEG Komprimierung soll für alle Bilder möglich sein, unabhängig von deren Bildinhalte, Auflösungen, Farbformate, etc.
  • JPEG soll in verschiedenen Modi arbeiten können.

Transformationskodierung

Bei der Entwicklung des JPEG Standards wurden die verschiedensten Transformationskodierungstechniken darauf untersucht, wie weit sie den oben angeführten Anforderungen nachkommen können. 1988 schließlich wurde die Diskrete Kosinustransformation als die Transformationskodierungstechnik der JPEG Kompression ausgewählt (siehe Lerneinheit JPEG Bildvorbereitung).

Die vier Modi des JPEG Standards

1

auto

  • Sequentieller Modus
  • Progressiver Modus
  • Verlustlose Kodierung
  • Hierarchische Kodierung

2

auto

Der JPEG Standard arbeitet in vier Modi: furt1995,103

  • Sequentielle Kodierung
    • Die einzelnen Bildkoeffizienten werden hintereinander, in einem Durchgang einfach von links nach rechts und von oben nach unten abgetastet. Dieser Modi ist der einfachste und auch meist gebräuchliche Modus. Beschriebene Prozesse in dieser Lerneinheit und in den Lerneinheiten JPEG Bildvorbereitung und JPEG Kodierungstechnik beziehen sich, wenn nicht ausdrücklich angegeben, auf den sequentiellen Modus.
  • Progressive Kodierung
    • Die einzelnen Bildkoeffizienten werden in unterschiedlicher Reihenfolge, in mehreren Durchgängen abgetastet, in der Absicht, auch bei langsamer Übertragung schnell das Bild mit grober Auflösung darstellen zu können
  • Verlustlose Kodierung
    • Kodierungsmodus, der die exakte Reproduktion des Bildes gewährleistet, allerdings nur mäßige Kompressionsrate erzielt.
  • Hierarchische Kodierung
    • Das Bild wird in mehreren Auflösungen kodiert.

JPEG Encoder

1

Abbildung: JPEG-Encoder BlockschaltbildPC

Abbildung: JPEG-Encoder BlockschaltbildPDA_Phone

Abbildung: JPEG-Encoder Blockschaltbild

Bildvorbereitung

  • Bildzerlegung - Bild in 8x8 Pixel Blöcke zerlegt
  • DCT 242- 8x8 Pixel Block als DCT Koeffizienten dargestellt

Quantisierung

  • eigentliche Kompression
  • Quantisierungstabelle - Berücksichtigt perzeptuelle Eigenschaften des menschlichen Auges

Entropiekodierung

  • JPEG erlaubt

2

Blockschaltbild bhas1997,149

Das Blockschaltbild zeigt eine JPEG Encoder für ein Schwarz/weiß Bild, das heißt, jedes Pixel hat nur einen Grauwert. Will man ein Farbfoto JPEG kodieren, wird beschriebener Prozess für die Farbkomponenten wiederholt (siehe JPEG Bildvorbereitung ).

Abbildung: JPEG-Encoder Blockschaltbild PC

Abbildung: JPEG Encoder Blockschaltbild PDA_Phone

Abbildung: JPEG-Blockschaltbild

Bildvorbereitung

Das Bild wird in sich nicht überlappende, 8x8 Pixel große Blöcke eingeteilt. Jeder Block wird für sich kodiert. In einem ersten Schritt werden die 64 Helligkeitswerte eines Blockes mit Hilfe der Diskreten Kosinustransformation in 64 DCT Koeffizienten umgewandelt. Diese beschreiben dann keine Helligkeitswerte der Pixel mehr, sondern beschreiben den Frequenzbereich des betrachteten Blockes. Der Frequenzbereich bezieht sich dabei auf örtliche Änderungen der Helligkeitswerte im Block.

  • Ist der Block gleichmäßig grau, so gibt es keine örtlichen Änderungen der Helligkeitswerte, da alle Pixel den gleichen Grauwert haben. Der Frequenzbereich des Blockes beinhalten keine Frequenzenkomponenten für <math> <semantics> <mrow> <mi>f</mi><mo>&#x003E;</mo><mn>0</mn> </mrow> <annotation encoding='MathType-MTEF'> </annotation> </semantics> </math> . In diesem Fall ist nur jener DCT Koeffizient (<math> <semantics> <mrow> <mi>f</mi><mo>=</mo><mn>0</mn> </mrow> <annotation encoding='MathType-MTEF'> </annotation> </semantics> </math> ) ungleich Null, der den mittleren Grauwert des Bildes angibt. Alle anderen Koeffizienten sind null.
  • Sind im Block Strukturen vorhanden, sind auch die Koeffizienten für <math> <semantics> <mrow> <mi>f</mi><mo>&#x003E;</mo><mn>0</mn> </mrow> <annotation encoding='MathType-MTEF'> </annotation> </semantics> </math> ungleich Null. Sind starke örtliche Änderungen der Helligkeitswerte, zum Beispiel scharfe Kanten, in diesem Block vorhanden, werden vorwiegend jene Koeffizienten, die hohe Frequenzen repräsentieren, große Werte annehmen, bei kontinuierlichen Änderungen, zum Beispiel weichen Konturen, hingegen diejenigen, die niedrige Frequenzen repräsentieren.

Die Arbeitsweise der DCT für Bilddaten wird in der Lerneinheit JPEG Bildvorbereitung ausführlich beschrieben.

Quantisierung
Prinzip

Quantisierung ist der eigentliche Schritt der Datenreduktion. Die Koeffizienten der DCT werden unterschiedlich genau quantisiert. Es gilt: Je gröber die Quantisierung, desto ungenauer der Wert, aber auch umso kleiner die benötigten Bitstellen, um den Wert darzustellen, und somit eine höhere Kompressionsrate.

Quantisierungstabellen

Für eine qualitativ ausgewogene Kompression soll die Quantisierungsgenauigkeit so gewählt werden, dass der durch die Quantisierung erzeugte Fehler vom Auge gerade noch nicht wahrgenommen werden kann. Im JPEG Standard sind Quantisierungstabellen (siehe Quantisieren in JPEG) angegeben, die dieser Forderung nachkommen. Dabei ist für jeden DCT Koeffizienten individuell ein Quantisierungsfaktor angegeben. Diese Tabellen sind eine Empfehlung, es steht aber jedem Entwickler frei, eigene Quantisierungstabellen zu entwickeln. Damit der JPEG Decoder weiß, welche Quantisierungswerte bei der Kodierung verwendet wurden, muss für jedes JPEG Bild die Quantisierungstabelle im Datenstrom enthalten sein.

Entropiekodierung bhas1997,149
Entropie im JPEG Standard

Hier werden die quantisierten Koeffizienten einer geeigneten Entropiekodierung unterzogen. Im JPEG Standard sind dafür sowohl die Huffman wie auch die Arithmetische Kodierung vorgesehen.

Welche Entropiekodierung?

Obwohl die arithmetische Kodierung gegenüber der Huffmankodierung 2-10% bessere Ergebnisse liefert, wird hauptsächlich die Huffmankodierung verwendet. Das hat drei Hauptgründe: bhas1997,151

  • Die arithmetische Kodierung stellt höhere Ansprüche an Hard- und Software als die Huffmankodierung. Gerade bei einfachen Hardware Implementationen ist dies ein k.o. Kriterium für die arithmetische Kodierung.
  • Vielen Algorithmen zur arithmetischen Kodierung sind Patente amerikanischer und japanischer Firmen. Viele Entwickler sind aber nicht bereit, Lizenzgebühren zu bezahlen. Der minimale Gewinn an Kompressionsqualität lohnt meist den finanziellen Mehraufwand nicht.
  • Im JPEG Standard ist eine "Baseline Implementation" definiert. Diese beschreibt die Minimalanforderungen an einen Decoder, um JPEG geeignet zu sein. In dieser Implementation, die sehr häufig genutzt wird und oft als der JPEG Standard schlecht hin betrachtet wird, ist aber nur die Huffmankodierung erlaubt.

JPEG-Decoder

1

Abbildung: JPEG-Decoder Blockschaltbild PC

Abbildung: JPEG-Decoder Blockschaltbild PDA_Phone

2

JPEG-Decoder Blockschaltbild

Abbildung: JPEG-Decoder BlockschaltbildPC

Abbildung: JPEG-Decoder Blockschaltbild PDA_Phone

Abbildung: JPEG-Decoder Blockschaltbild

Aus dem JPEG Datenstrom werden die Quantisierungstabelle, die Kodetabelle (Huffman oder Arithmetische Kodierung) und die eigentlichen Daten, die quantisierten DCT Koeffizienten, extrahiert. Die Daten durchlaufen dann die inverse Prozedur der Kodierung. Die Inverse Diskrete Kosinustransformation (IDCT) errechnet aus den DCT Koeffizienten für jeden 8x8 Pixel Block die 64 Helligkeitswerte.


Notes
(empty)