GigE Vision
Schnittstellen-Begrenzung gesprengt
Die GigE-Vision-Schnittstelle stellt Anwendern bei der Übertragung von Bilddaten Datenraten bis maximal 100 MByte/s zur Verfügung. Nun kommt eine Technologie auf den Markt, die Datenraten ermöglicht, die weit über diesen Wert hinausgehen.
Die Entwicklung der GigE-Vision-Schnittstelle erfolgte vor wenigen Jahren auf Basis der technischen Eigenschaften damaliger CCD- und CMOS-Sensoren und stellte für Bildverarbeiter einen Meilenstein dar: Bis zu 100 MByte Bilddaten pro Sekunde über Ethernet übertragen zu können, war für damalige Verhältnisse in vielen Anwendungsfällen bei weitem ausreichend.
Heute sinkt die Bedeutung CCD-basierter Kameras, und im CMOS-Bereich sind mehrkanalige Sensoren mit Datenraten jenseits der 100 Mbyte/s keine Seltenheit mehr. Somit stellt die Schnittstelle Ethernet häufig einen Flaschenhals bei der Datenübertragung dar.
Dieses Problems hat sich der kanadische Bildverarbeitungsanbieter Teledyne Dalsa angenommen und die Technologie 'Turbodrive' vorgestellt. Sie basiert auf einer speziellen Art der Datencodierung und ermöglicht die Übertragung von Kamera-Informationen mit einer Geschwindigkeit, die über den eigentlichen Grenzen von GigE Vision liegt. In typischen Bildverarbeitungs-Anwendungen ist mit Turbodrive eine Durchsatzerhöhung zwischen 120 und 235 % möglich, ohne die Datenübertragungssicherheit von GigE Vision zu verlieren.
Datenredundanz geschickt genutzt
Technische Basis von Turbodrive ist die Redundanz von Sensordaten: Die Entwicklung nutzt dabei die Entropie von Bildern zu deren Codierung, um Pixel-Informationen ohne Verlust abzubilden. Da jedes Pixel nach der Codierung aus weniger Bits als zuvor besteht, können mehr Bildinformationen in der gleichen Zeit übertragen werden. Die Entropie ist ein Maß für den Grad der Gleichmäßigkeit in einem Bild: Je gleichmäßiger ein Bild ist, desto einfacher lässt es sich codieren. Eine sehr hohe Entropie bedeutet, dass das Bild sehr viele Informationen enthält, was eine kompakte Codierung erschwert.
... Histogramm stellt die Pixelverteilung dar. Für jedes Auftreten eines bestimmten Wertes im Bild erhöht sich die Histogrammspalte für diesen Wert um 1.
© Stemmer ImagingIn der Regel nutzen Bildverarbeitungskameras eine absolute Codierung von 8 bis 16 Bit, um Bildinformationen zu übertragen. So kann beispielsweise bei einer 8-Bit-Codierung jedes Pixel einen Wert von 0 (Schwarz) bis 255 (Weiß) annehmen. Turbodrive hingegen basiert auf der lokalisierten relativen Codierung und untersucht jedes Pixel in seinem Kontext, bevor es codiert wird. So entsteht eine kompaktere Codierung der Pixel-Informationen: Die identische Information lässt sich in weniger Bits packen, das zu übertragende Datenvolumen verringert sich.
Die Pixelverteilung in einem Bild kann mit Hilfe eines Histogramms dargestellt werden. Für jedes Auftreten eines bestimmten Wertes im Bild erhöht sich die Histogrammspalte für diesen Wert um 1. In einem gleichmäßigen Bild ist die Intensität aller Pixel gleich, was sich im zugehörigen Histogramm durch einen einzigen Spitzenwert ausdrückt. Die Entropie dieses Bildes liegt somit bei 0. Um es vollständig zu beschreiben, muss nur der gemeinsame Wert aller Pixel bekannt sein. Die Codierung dieses Bildes erfordert also nur wenige Informations-Bits.
In der Realität sind Bilder in der Regel nicht so einfach, das Beispiel zeigt jedoch den Grundgedanken: Je niedriger der Entropiewert eines Bildes, desto effektiver die erzielbare Komprimierung.
Relative statt absolute Codierung
Um die Bit-Anzahl, die zur Codierung der Pixel-Informationen ohne Informationsverlust notwendig ist, weiter zu verringern, berücksichtigt Turbodrive auch den sogenannten Nachbarschaftseffekt. Die 'Nachbarschaft' eines Pixels sind alle umliegenden Pixel des betrachteten Bildpunktes. Für die meisten Pixel besteht eine geringe Pixel-zu-Pixel-Abweichung zum Nachbarn und somit eine hohe Redundanz. Daher ist es möglich, die Informationen der angrenzenden Pixel zu nutzen, um das Referenz-Pixel noch effizienter zu codieren.
Aufgrund der Nutzung der Bildgleichmäßigkeit verwendet das Verfahren eher die lokalisierte relative Codierung als die absolute Codierung. Wenn Nachbar-Pixel eine höhere Korrelation aufweisen, ist dies effizienter. Das Ergebnis dient anschließend als Eingabewert für den Entropieschritt, um eine weitere Reduzierung der Codierungsgröße eines Bildes zu erreichen. Somit lässt sich eine kompakte Darstellung sicherstellen, die alle Informationen des Originalbildes beibehält.
Typische Industriekameras codieren die Pixel-Informationen mit Hilfe einer absoluten Codierung. Dabei wird jedes Pixel vollständig durch sich selbst und ohne zusätzliche Informationen beschrieben: Der numerische Wert eines Pixels stellt seine Intensität dar. Dies hat den Vorteil, dass der Empfänger fehlerhafte Pixel bei einer fehlerhaften Übertragung einfach überspringen kann. Der Nachteil: Diese Art der Codierung erfordert mehr Bits als das Prinzip der Bild-Entropie.
Stabil bei Bitfehlern
Obwohl eine absolute Codierung zu mehr Datenvolumen führt, ist sie in der industriellen Bildverarbeitung das am häufigsten eingesetzte Verfahren. Auch die aufgrund des schnellen Datendurchsatzes von bis zu 850 MByte/s am Markt sehr verbreitete Interface-Technologie CameraLink arbeitet mit absoluter Codierung. Weniger bekannt dabei ist, dass CameraLink keine Stabilität bietet, wenn Bitfehler auftreten. Wird ein Bit während der Übertragung beschädigt, kann der Framegrabber dies nicht erkennen oder die Anwendung benachrichtigen. Die Folge: Das betroffene Pixel nimmt einen falschen Wert an. CameraLink bietet weder Prüfsumme noch erneute Datenübertragung oder Vorwärtsfehlerkorrektur. Auch CoaXPress ist in der aktuellen Version auf die Fehlererkennung beschränkt, ohne die Bildübertragungsstabilität zu garantieren.
Durch die Abhängigkeit von den angrenzenden Pixeln sind zuverlässige Übertragungskanäle unverzichtbar. Denn ist ein Kanal nicht zuverlässig, breitet sich ein Übertragungsfehler in einem Pixel auf seine Nachbarn aus und erzeugt dadurch ein Cluster aus falschen Werten. Bei GigE Vision, USB3 Vision und CameraLink HS wird jeder Übertragungsfehler auf dem Übertragungs-Layer verwaltet, so dass die Decodierungs-Engine stets ein fehlerfreies digitales Signal empfängt.
Schneller als GigE Vision
Die beschriebenen Prinzipien reichen jedoch nicht aus, um den maximalen Durchsatz der Kamera-Schnittstelle zu überschreiten. Die meisten Bildverarbeitungskameras wurden entwickelt, um Bilder mit einer Bildrate zu empfangen, die unterhalb der Kapazität des Übertragungsweges liegt. Der Bildempfang wird dadurch nicht von der Bildübertragung entkoppelt. Dieses Prinzip stammt von Analog- und CameraLink-Kameras.
Um die Möglichkeiten von Turbodrive vollständig zu nutzen, muss die genutzte Kamera mit einer Geschwindigkeit arbeiten, die über der nominalen Übertragungsgeschwindigkeit liegt, wenn eine absolute Codierung angewendet wird. Bekannt ist dies als 'Burst-Modus'. Die Kamera kann anschließend das lokalisierte relative Codierungsschema nutzen, um zusätzliche Informationen auf dem Übertragungsweg zu komprimieren. Dadurch werden der Empfang und die Übertragung von Bildern beschleunigt. Eine GigE-Vision-Kamera kann auf diese Weise eine Geschwindigkeit von mehr als 115 MByte/s erzielen, da jedes Pixel bei der Codierung weniger als 8 Bit erfordert.
Dazu muss die Kamera über integrierte Puffer verfügen, die die Bilddaten sammeln. So lassen sich Abweichungen in der Codierungsstufe kompensieren: Puffer korrigieren Codierungsabweichungen, um eine gute durchschnittliche Übertragungsgeschwindigkeit zu erreichen, die innerhalb der Grenzwerte des maximalen Durchsatzes der Kamera-Schnittstelle liegt. Darüber hinaus kann die Kamera Totzeiten zwischen Bildern nutzen, um die Übertragung fortzusetzen und die internen Puffer zu leeren. Dadurch wird der Übertragungsweg weiterhin ausgelastet. Steht ausreichend Puffer zur Verfügung, ist das Ziel ein durchschnittlicher Durchsatz nach der relativen Codierung einschließlich der Totzeiten, der der maximalen Übertragungsgeschwindigkeit der Kamera-Schnittstelle entspricht.
Die erste Kameraserie von Teledyne Dalsa, die über die Turbodrive-Technologie verfügt, ist die 'Linea GigE'. Diese Kamera kann den für diese Produktklasse typischen Durchsatz von 115 MByte/s übertreffen. Die 'Linea Mono 4K GigE' beispielsweise ist aufgrund der Gigabit-Ethernet-Verbindungsgeschwindigkeit auf 26 kHz beschränkt. Durch die Aktivierung der Datenkomprimierung und die Berücksichtigung der Totzeit zwischen virtuellen Bildern kann die Zeilenrate für Szenen mit niedriger Bild-Entropie 80 kHz erreichen. Das ist die gleiche Zeilenrate, die das 'Linea CameraLink'-Modell anbietet.
Es ergeben sich jedoch zusätzliche Vorteile durch den Einsatz der Ethernet-Schnittstelle: Die Leistung bestehender, auf Ethernet basierender Bildverarbeitungssysteme lässt sich auf einfache Weise mit den Kameras 'Linea' oder 'Genie Nano' erhöhen. Für Anwender bedeutet dies, dass sie höhere Bildfrequenzen und kürzere Taktzeiten realisieren können. Zudem kann die kostengünstige Ethernet-Struktur weiterverwendet, lange Kabel eingesetzt und ein schnelles Re-Design von Systemen und somit eine schnellere Marktreife erzielt werden. Da keine Bild-Erfassungskarte nötig ist, sinken auch die Systemkosten.
Eine weitere Anwendung der Turbodrive-Technologie findet sich in Multikamerasystemen. Mit Hilfe eines Ethernet-Switches ist es möglich, Bild-Streams mehrerer Kameras in einer einzigen Netzwerk-Karte zu kombinieren. Dabei darf der aggregierte Durchsatz dieser Kameras nach der Codierung die maximale Verbindungsgeschwindigkeit von 115 MByte/s für GigE Vision nicht überschreiten. In einigen Bildverarbeitungssystemen könnte dies kosteneffektiver als die Verwendung mehrerer Netzwerk-Karten sein.
Anwendern der Programmierbibliothek Common Vision Blox (CVB) von Stemmer Imaging steht Turbodrive in der aktuellen Software-Version zur Verfügung.
Autor:
Peter Stiefenhöfer ist Leiter Marketing & Öffentlichkeitsarbeit bei Stemmer Imaging in Puchheim.












