Wird eine Bildkomprimierung direkt in der Kamera umgesetzt, ergeben sich für den Systemaufbau und die flexible, kostengünstige Nutzung viele Vorteile.
Geringe Bandbreite: Aufgrund der hohen Kompressionsrate bei guter Bildqualität kann eine hohe Auflösung und Bildrate bei gleichzeitig geringer Bandbreite genutzt werden. So reicht zum Beispiel für die Übertragung von Full HD-Farbbildern bei 300 Bilder/s GigE mit ca. 100 MB/s aus.
Flexibler Systemaufbau: Im Vergleich zu USB steht eine wesentlich höhere Bildrate bei mehr Flexibilität hinsichtlich Kabellängen bis 100 Meter zur Verfügung. Dies ermöglicht auch den Einsatz von GigE-Switchen, die Umsetzung von Multikamerasynchronisation per PTP oder die Nutzung eines 10 GigE-Uplinks per Glasfaserkabel für sehr grosse Übertragungsstrecken bis 10 Kilometer.
Reduzierung der CPU-Last: Im PC fällt keine CPU-Last für Farbrechnung, Konvertierung nach YCbCr sowie Bildkompression an. Die Anforderungen bezüglich Hauptspeichergrösse sowie Bandbreite des Speichermediums werden so signifikant reduziert. Der reduzierte Speicherplatzbedarf ermöglicht zudem wesentlich längeren Aufnahmezeiten.
Funktionsweise JPEG-Bildkompression
1992 wurde der Standard ISO/IEC 10918 durch die Joint Photographic Experts Group (JPEG) veröffentlicht und umfasst mehrere Teile, insbesondere die eigentliche Kompression einzelner Fotos sowie das Format zum Abspeichern JFIF (JPEG File Interchange Format). Es ist eines der am meisten genutzten Bildformate.
Die Kompression erfolgt in mehreren Teilschritten. Farbbilder werden vom RGB-Farbraum in das Farbmodell YCbCr konvertiert. Dieses besteht aus der Luminanz Y (Helligkeit) und den beiden Farbkomponenten Cb (Blau-Gelb Chrominanz) und Cr (Rot-Grün Chrominanz). Durch eine Tiefpassfilterung und Unterabtastung werden die Farbinformationen reduziert. Dabei wird ausgenutzt, dass das menschliche Auge Farben deutlich geringer als Helligkeitsunterschiede auflöst.
Nach der Konvertierung erfolgt für jede Komponente (Y, Cb und Cr) eine Einteilung in 8×8-Blöcke sowie deren diskrete Kosinustransformation (DCT). Die eigentliche Datenreduktion wird durch eine sich anschliessende Quantisierung erreicht. Den Abschluss der Bildkomprimierung bilden eine frequenzentsprechende Umsortierung der Koeffizienten und eine Entropiekodierung. Für eine hohe Performance, können diese Prozesse parallel ausgeführt werden.
Die JPEG-Kompression ist grundsätzlich verlustbehaftet, da die Bildqualität reduziert wird. Für monochrome Bilder ist eine Kompressionsrate im Bereich 5:1 visuell verlustfrei. Bei einer Rate von 10:1 ist die Qualität für viele Applikationen ausreichend. Höhere Kompressionsraten führen jedoch im Bild zu starken Artefakten wie Blockbildung und Stufen an Kanten. Bei Nutzung von RGB-Farbbildern können Kompressionsraten von 12:1 für visuell verlustfrei bzw. 35:1 für gute Qualität genutzt werden.
Umsetzung in den LXT-Kameras
Die LXT-Kameras basieren auf modernen CMOS-Sensoren mit hoher Auflösung und Geschwindigkeit. Unkomprimierte Bilder werden über die schnelle 10 GigE-Schnittstelle direkt zum PC übertragen. Die JPEG-Kompression kann als Feature optional im Camera Explorer oder SDK aktiviert werden. Dazu muss zunächst ein für die Applikation passendes Pixelformat ausgewählt werden (Mono8 oder YCbCr422_8). Im Anschluss kann die integrierte JPEG-Bildkompression per Parameter „Image Compression Mode“ = JPEG einfach per Knopfdruck aktiviert werden.
Die JPEG-Kompressionsrate kann im Bereich 30-100% flexibel über den Parameter „Image Compression Quality“ konfiguriert werden und ermöglicht so eine individuelle Abstimmung der Bildqualität auf die jeweilige Anwendung.
Es werden monochrome oder farbige 8-Bit-Bilder unterstützt. Eine hochwertige Farbrechnung (z.T. in einer 5×5-Umgebung) sowie Konvertierung zu YCbCr422_8 wird für Farbkameras ausgeführt. Die JPEG-Bildkompression erfolgt dabei sequentiell mit voller Sensor-Performance. Die zusätzliche Latenz durch die Kompression ist vernachlässigbar. Die Implementierung erfolgt auf Basis des GigE Vision 2.0 Standards per JPEG Payload Typ. Der erzeugte JPEG-Strom enthält alle Header und kann direkt in ein JPEG-File gespeichert werden. In den Metadaten werden ein Zeitstempel sowie die ROI-Position im JPEG-Strom mit übertragen. Ein Vorschaubild oder die parallele Übertragung von Original- und JPEG-Bild ist nicht vorgesehen.
Anwendungsbeispiele
JPEG-Bildkompression kann überall dort eingesetzt werden, wo Bildsequenzen über einen längeren Zeitraum benötigt werden. Insbesondere wenn die Bandbreite der Übertragung oder des Speichermediums begrenzt ist oder der PC die zusätzliche Verarbeitung z.B. für mehrere Kameras nicht ausführen kann. Da sich die Bildqualität im Vergleich zum Original etwas reduziert, ist eine Anwendung für messtechnische Applikationen nicht empfehlenswert.
Zur einfachen Einbindung und Nutzung der VLXT.JP-Kameras stehen verschiedene Software Optionen zur Verfügung.
OEM-Kunden: Sollen die Kameras in eigene Applikationen integriert werden, steht das Baumer GAPI SDK zur Verfügung. Dort demonstrieren Beispiele die Konfiguration, den Bildeinzug und das Abspeichern als .jpg-File. Mit Bibliotheken wie FFmpeg können aus den Einzelbildern auch direkt Videos erzeugt werden.
Endanwender: Werden die Kameras von Endanwender direkt genutzt, kann auf den Baumer Camera Explorer zurückgegriffen werden. In der einfach bedienbaren grafischen Anwendung können die Kameras parametriert sowie Bilder erfasst und angezeigt werden. Ausserdem stehen zusätzliche Funktionen wie High Speed Recording in den Hauptspeicher oder direkt auf Festplatte, Ringspeicherverwaltung mit Trigger via I/O Event sowie eine Video-Erzeugung zur Verfügung. Durch die Unterstützung der LXT.JP-Kameras kann z.B. der übertragene komprimierte Datenstrom auch direkt zur Visualisierung dekodiert oder als .jpg-File abgespeichert werden. Der Camera Explorer ermöglicht damit Langzeitaufnahmen für die Erfassung von High-speed Sequenzen direkt auf eine USB-Festplatte.
Third Party Software für Videoaufzeichnungen: NorPix bietet Software und Lösungen zur Aufzeichnung von Digitalvideos an. Mit den Paketen StreamPix bzw. TroublePix können eine oder mehrere Kameras für High-speed Sequenzen genutzt werden. Typische Anwendungsgebiete sind die Fehleranalyse von Maschinen und Anlagen im industriellen Umfeld. Baumer VLXT-06M.I.JP Kameras werden z.B. zur Überwachung von Produktionsanlagen eingesetzt. Mit bis zu 1500 fps bei 800×600 ermöglich sie eine sehr hohe räumliche und zeitliche Auflösung. Dank JPEG-Kompression kann auch eine sehr lange Aufnahmedauer von 189 Stunden genutzt werden.
Third Party Software zur Bewegungsanalyse: Die Bewegungsanalyse Software TEMPLO der CONTEMPLAS GmbH ermöglicht Bewegungs- und Haltungsanalysen im Gesundheits- und Sportbereich. Die Systemlösung aus Hardware und Software richtet sich an professionelle Endanwender und wird weltweit vertrieben und eingesetzt. Von Baumer wird z.B. die 3 MP Farbkamera VLXT-31C.I.JP mit Bildraten von bis zu 300 fps bei Full-HD für Analysen im Hochleistungssport wie Schwimmen und Handball eingesetzt.
Third Party Software für Videoanalyse im Sportbereich: Kinovea ermöglicht mit einer Vielzahl von Tools z.B. die Verfolgung von Objekten oder die Messung von Geschwindigkeit und Winkel. Als kostenlose Open-Source-Lösung wird sie z.B. im universitären Umfeld und Amateursport eingesetzt. Die Baumer VLXT.JP-Kameras sind direkt integriert und ermöglichen eine sehr hohe Performance, einfache Synchronisation sowie ausgezeichnete Robustheit.