JPEG-Operator mit skalierbarer Datenrate für Daten-Streaming

Bilderpresse

JPEG-Operator mit skalierbarer Datenrate für Daten-Streaming

Über eine Reduktion der Bildrohdaten anhand einer JPEG-Komprimierung ist es möglich, die CPU-Prozessorlast zu reduzieren. Ein neuer JPEG-Operator in Visual Applets komprimiert Bilddaten mit variabler Kompressionsrate und hochskalierbarer Datenrate in Echtzeit.

Bild: ©Tryfonov/Stock.adobe.com

Die meisten am Markt verfügbaren JPEG-Encoderlösungen für die Bilddatenkomprimierung nutzen die CPU-Technologie und sind damit zu langsam für High-Speed-Anwendungen oder Echtzeit-Anforderungen in der Bildverarbeitung. Besser geeignet sind FPGAs, deren Umsetzung (IP Core) jedoch häufig zu langsam ist oder als individuelle OEM-Lösungen existieren, die nicht für alle Interessenten im Markt verfügbar sind. Hier setzt der JPEG-Encoder an, der von der Kamera übertragene Rohdaten komprimiert, um eine geringere Datenmenge in den PC oder über das Internet in die Cloud zu speichern. Trotz gestiegener Datenrate lassen sich durch die JPEG-Komprimierung lange Bildsequenzen aus Einzelbildern aufnehmen ohne die Speicherkapazität zu ändern, z.B. für laufende Qualitätsüberprüfungen.

Zehn Prozent der Datenmenge

Die JPEG-Komprimierung von Bilddaten ist verlustbehaftet und nicht umkehrbar, weshalb sich das Originalbild nicht exakt aus der komprimierten Form wiederherstellen lässt. Daher ist sie stets als Kompromiss zwischen Bildqualität und Leistungsfähigkeit des Encoders aufzufassen. Eine zu starke Komprimierung erzeugt Änderungen der Bildinhalte durch Artefakte, wodurch Auswertungen beeinträchtigt werden. Durch Einstellen der Bildqualität oder Verändern der Quantisierungstabellen lässt sich die gewünschte Komprimierung und Qualität im Ergebnisbild flexibel kontrollieren, sodass die Qualität sowohl für das menschliche Auge als auch für maschinelle Auswertungen ausreicht. Mithilfe des JPEG-Algorithmus ist es möglich, die Datenmenge ohne signifikanten Qualitätsverlust meist auf weniger als zehn Prozent der ursprünglichen Datenmenge zu reduzieren, je nach Kompressionsrate bzw. Qualitätseinstellungen und Bildinhalten. Bilder mit großen, schwach konturierten Flächen lassen sich besser komprimieren als detailreiche Bilder mit scharfen Kanten. Dies kommt sowohl dem menschlichen als auch dem maschinellen Sehen und Auswerten zugute, da beide die Kanten, Strukturen und Formen in Bildern besser erkennen können als die Farbigkeit. Ziel der Bildkompression ist es, redundante sowie irrelevante Informationen, die nicht benötigt bzw. ausgewertet werden, zu entfernen. Bei der Farbbild-Kompression etwa enthält die Chrominanz-Komponente (Farbigkeit) mehr Informationen, als Mensch und Maschine tatsächlich verarbeiten können, weshalb Teile davon zu vernachlässigen sind. Die Luminanz-Komponente (Helligkeit) hingegen ist gut zu differenzieren, weshalb diese weniger Ansatzpunkte für eine Datenreduzierung bietet.

Bild 2 | Chinesische Streetview-Anwendung mit Angabe der Himmelsrichtungen, bei der eine Komprimierung zu 20 Prozent des ursprünglichen Datenvolumens führte. (Bild: Silicon Software GmbH)

Unterabtastung der Chrominanz-Komponenten

Um die Farbigkeit zu reduzieren, wird der RGB-Farbraum in das Farbmodell YCbCr umgewandelt, bestehend aus der Helligkeitskomponente Y und zwei Farbkomponenten Cb (Blau-Gelb Chrominanz) und Cr (Rot-Grün Chrominanz). Durch Farbunterabtastung (chroma subsampling) wird die Abtastrate und damit die Datenmenge der Chrominanz-Kanäle Cb und Cr gegenüber der Abtastrate des Luminanz-Kanals Y reduziert. Dies geschieht durch Vergrößerung des räumlichen Abstands zwischen den Abtastpunkten der Farbkomponenten, ohne dass es zu einer spürbaren Qualitätsverringerung kommt. Bereits mit dieser Maßnahme lässt sich bei der JPEG-Komprimierung 50 Prozent der Datenmenge einsparen, wenngleich verlustbehaftet. Der JPEG-Operator in VisualApplets enthält Beispiele für das Bildformat 4:2:0 mit einer in beiden Raumrichtungen identischen Abtastung. Die Bildformate 4:4:4 für hohe Qualität ohne Unterabtastung und 4:2:2 mit einer in horizontaler Richtung nur halb so großen Abtastung wie in vertikaler Richtung lassen sich mit VisualApplets ebenfalls realisieren. Steht die Unterabtastung am Anfang des JPEG-Komprimierungsprozesses, wird der Prozess mit der verlustfreien Huffman-Kodierung abgeschlossen. Dieses Verfahren macht sich zunutze, dass manche Pixel häufiger vorhanden sind als andere (Häufigkeitsverteilung). Häufig vorkommende Pixel werden durch möglichst kurze Codewörter kodiert, um das Bild mit möglichst wenigen Bits zu kodieren. Kenngröße ist die mittlere Codewortlänge, die angibt, wie viele Binärzeichen im Durchschnitt pro Pixel benötigt werden. Der optimale Code soll zu einer möglichst kleinen mittleren Codewortlänge führen. Die Kompressionsrate des Verfahrens ist daher stark von der Wahrscheinlichkeitsverteilung der zu kodierenden Pixel abhängig. Der Output des JPEG-Operators ist demnach ein Huffman-Stream, ausgegeben ohne JPEG-Header. Der JPEG-Header lässt sich im JPEG-Operator optional ein- oder ausschalten. Ist er eingeschaltet, werden zusammen mit dem komprimierten Bild Zusatzinformationen übertragen, wie Dimensionen des Bildes (Bitbreite der Pixel, Bildhöhe/-breite) sowie Informationen zu den einzelnen Luminanz/Chrominanz-Komponenten, darunter das verwendete Abtastschema für die Chrominanz-Komponenten, und weitere Informationen (alle verwendeten Kodierungsverfahren und Quantisierungstabellen). Die Informationen sind notwendig, damit das Bild später wieder dekodiert werden kann. Zum Zweck der Dekodierung ist im JPEG-Algorithmus das Dateiformat JFIF (JPEG File Interchange Format, Version 1.2) beschrieben, das einen einfachen Austausch von JPEG-komprimierten Bildern ermöglichen soll. Der Operator ist damit JFIF-konform. Ist jedoch die Option JPEG-Header ausgeschaltet, müssen die Informationen separat in der Software ergänzt werden.

Vorverarbeitung kombiniert mit Komprimierung

Mit dem JPEG-Operator ab VisualApplets Version 3.2 lassen sich 8-bit Graubilder und 24-bit RGB-Farbbilder mit variabler Bildkompressionsrate in Echtzeit auf dem FPGA komprimieren. Hierfür verwendet der Operator mehrere Encoder gleichzeitig. Die Datenrate ist – nur begrenzt durch die FPGA-Ressourcen – frei skalierbar (Minimum 125MB/s bei einem Takt von 125MHz), um die Implementierung der Anwendung an die gewünschte Datenrate anzupassen. Auf FPGA-basierten und VisualApplets kompatiblen Bildverarbeitungsgeräten wie Framegrabber, Vision-Sensoren und Kameras ermöglicht der Operator für die monochrome und Farbbild-Komprimierung sehr hohe Datenraten. Bei einer vierkanaligen CoaXPress CXP-6 Kamera mit Debayering beispielsweise wird nach der Farbrekonstruktion die dreifache Menge an Originaldaten von der Kamera in den JPEG-Operator übertragen und durch die JPEG-Komprimierung eine reduzierte Datenrate über den PCIe-Bus weiter in den PC-Speicher, um dessen Auslastung zu reduzieren. Hier entstehen Datenbandbreiten bis zu 75GBit/s, die nur durch die Kompression auf leistungsfähige RAIDs geschrieben werden können. Durch die Skalierbarkeit und flexiblen Einstellmöglichkeiten (Parametrisierung von Bildqualität, Kompressionsrate und Header-Informationen) ist der Operator für die neuesten FPGA-Technologien und jüngsten Framegrabber bzw. Hardwareplattformen einsatzbereit. Noch vor der JPEG-Komprimierung kann eine zusätzliche Datenreduktion über eine optionale Bildvorverarbeitung erreicht werden. Diese ermöglicht es z.B. in der Medizin, bei Gewebescans und Patientenproben QR-Codes zu segmentieren, Analysebereiche einzugrenzen oder Markierungspositionen zu bestimmen, um diese eng eingegrenzten Bereiche genauer zu analysieren. Nicht relevante Daten fallen dabei weg. Durch Vorverarbeitung auf dem FPGA und Komprimierung ist der JPEG-Operator, der in die Extension VisualApplets Libraries integriert ist, ideal für Highspeed-Anwendungen mit einer oder mehreren Kamera.

Bild 3 | Grafisches Design der JPEG-Komprimierung auf FPGAs in Visual Applets (Bild: Silicon Software GmbH)

Einsatzmöglichkeiten

Der JPEG-Operator lässt sich überall dort einsetzen, wo fortlaufend hohe Bilddatenmengen entstehen. Neben industriellen Anwendungen, wie der Qualitätssicherung von Bandmaterial, fallen darunter Anwendungen wie die Archivierung von Bild- und Bücherinhalten (Bücherscanner), Inspektion von Straßen, Tunneln und Eisenbahngleisen sowie Langzeitaufnahmen von Prozessen oder Natur-/ Landschaftsveränderungen sowie im Sport und Entertainment für Dokumentationszwecke. Um die CPU zu entlasten werden die komprimierten Daten häufig zunächst archiviert und erst später ausgewertet. In der Medizintechnik besteht z.B. oft die Verpflichtung, Operationsdokumentationen oder Patientenaufnahmen per Röntgen bzw. Computertomographie langfristig zu archivieren. Durch JPEG-Komprimierung wurde eine Röntgenaufnahme der Brust von 10MB großen Bilddaten auf lediglich 250kB verringert, was dem Faktor 40 entspricht. Im DICOM Standardaustauschformat für medizinische Bilder wird daher die JPEG-Komprimierung als ein mögliches Verfahren zur Bilddatenreduktion eingesetzt. Bei Streetview-Anwendungen, bei denen ganze Straßenzüge kontinuierlich aufgenommen werden, fallen ebenfalls enorm große Datenmengen an. Hier war es möglich, je nach gewünschter Qualität des Ergebnisbildes, eine Komprimierung auf 20 Prozent der ursprünglichen Datenmenge zu erzielen. Noch bessere Ergebnisse könnten in Zukunft möglich sein, wenn auf künstliche neuronale Netze basierende Kompressionsverfahren ihre Marktreife erlangen.

Fazit

Mithilfe der JPEG-Komprimierung sind jetzt auch Anwendungen mit durchgängigem Datenstrom für lange Bildsequenzen und High-Speed-Kameraschnittstellen, wie z.B. CoaXPress, realisierbar. Ohne die Originalbilder komplett zu übertragen bzw. zu speichern sind durch eine echtzeitfähige FPGA-basierte Lösung mit Bildvorverarbeitung selbst größte Datenraten und Bandbreiten zu erreichen.

Themen:

| Fachartikel

Ausgabe:

inVISION 6 2019
Silicon Software GmbH

Das könnte Sie auch Interessieren

Bild: TeDo Verlag GmbH
Bild: TeDo Verlag GmbH
Webinar Spectral Imaging

Webinar Spectral Imaging

Am 7. Mai findet um 14 Uhr das inVISION TechTalk Webinar ‚Spectral Imaging‘ statt. Dabei stellen Vision & Control (Tailored Optics and Lighting for Hyper- and Multispectral Imaging), Lucid Vision (Advanced sensing with latest SWIR and UV cameras) und Baumer (Inspect the invisible with powerful SWIR & UV Cameras) verschiedene Trends zu SWIR, UV und Hyperspectral Imaging vor.