Neues unabhängiges Datenbeschreibungsformat bei GenICam

Neues unabhängiges Datenbeschreibungsformat bei GenICam

GenDC (Generic Data Container) ist das jüngste Mitglied des GenICam Standards. Er definiert eine Datenbeschreibung, die unabhängig von der physikalischen Schnittstelle ist und ermöglicht es, Bilddaten in nahezu jeder Form an ein Hostsystem zu senden oder von diesem zu empfangen.

Die GenICam Familie beinhaltet derzeit die Module GenAPI, SFNC, GenCP, GenTL und seit neuem GenDC. Das GenDC-Modul definiert einen generischen und selbstbeschreibenden Bilddatencontainer, der unabhängig von der Art und Weise ist, wie er transportiert oder gespeichert wird. GenDC definiert Mechanismen zum Transport der Bilddaten, die von den Transport Layern (TL) der gängigen Kamera-Interfaces GigE Vision, USB3 Vision und CoaXPress gemeinsam verwendet werden. Folglich muss der jeweilige TL lediglich definieren, wie der Datencontainer transportiert werden soll, ohne dabei den Inhalt oder das Format des Containers zu kennen. Diese Trennung ermöglicht es, Datentypen zum GenDC-Standard hinzuzufügen, ohne dass Änderungen an den einzelnen TL-Spezifikationen erforderlich sind.

 Typisches GenDC-Datencontainer-Layout für ein 3D-. (Bild: EMVA European Machine Vision Association)

Typisches GenDC-Datencontainer-Layout für ein 3D-. (Bild: EMVA European Machine Vision Association)

Wozu GenDC?

Alle Arten von Industriekameras und Visiongeräten können GenDC als mobilen Daten-Blob – also ein Ansammlung von Daten – verwenden, welcher die zu transportierenden oder zu verarbeitenden Information, d.h. Bilder, Daten, 3D-Wolken etc. beschreibt. Dies vereinfacht die Portierung einer Kamera von einem Transportmedium auf ein anderes, da die Datenbeschreibung und -kodierung immer dieselbe ist und getrennt von der Implementierung des Übertragungsprotokolls erfolgen kann. Dementsprechend entkoppelt GenDC auf der Empfangsseite den Datenempfang von der Dateninterpretation und macht die Gestaltung eines Receivers modular und einheitlich. Heutzutage unterstützen die meisten TL nur grundlegende 2D-Bilder (d.h. monochrome und evtl. komprimierte Farbbilder). Die Anwender sind aber ständig auf der Suche nach Mechanismen um, neue und komplexere Datentypen wie planare Farbbilder, komprimierte Daten, 3D-Daten, Multispektralbilder, Metadaten und deren Verarbeitungsergebnisse zu unterstützen. Bislang mussten sich die Entwickler in den Technikkomitees jedes einzelnen Bildverarbeitungsstandards für jeden neuen Datentypen einzeln und unabhängig damit befassen, wie die neue Payload-Typen in ihrem Standard formatiert und übertragen werden. Die technischen Komitees mussten daher laufend neue Versionen ihrer jeweiligen TL-Spezifikation herausgeben, um den neuen Payload-Typen Rechnung zu tragen. Damit konnte es mehrere Jahre dauern, bis ein Payload-Type letztlich in den TLs aller Bildverarbeitungsstandards unterstützt wird. Hersteller von Sende- und Empfangsgeräten, die mehrere Transport Layer unterstützen, mussten zudem für jeden TL eine andere Lösung entwickeln. GenDC eliminiert diese Doppelarbeit, indem ein für alle TL einheitliches und allgemeingültiges Datenbeschreibungsformat für alle Anwendungsfälle definiert ist.

 Modulares GenDC Modell, das die Kodierung/Dekodierung von Daten von ihrer Übertragung entkoppelt. (Bild: EMVA European Machine Vision Association)

Modulares GenDC Modell, das die Kodierung/Dekodierung von Daten von ihrer Übertragung entkoppelt. (Bild: EMVA European Machine Vision Association)

Was ist GenDC im Einzelnen

GenDC ist eine Bilddaten-Containerdarstellung, welche die Beschreibung fast aller Arten von Bilddaten unterstützt. In ihrer Kernfunktion entkoppelt sie das Datencontainerformat (d.h.´was´ zu übertragen ist) von der Transport Layer-Datenübertragung (d.h.´wie´ zu übertragen ist). Der TL ist somit nur für Übertragung und Empfang einer generischen GenDC-Payload zuständig. Sende- und Empfangsgeräte für verschiedene TL können sich denselben GenDC-Daten-En- und -Decoder teilen. Damit wird eine neue Kamera oder Framegrabber für einen anderen TL durch einfaches Ändern des physikalischen Sende- oder Empfangs-Frontends unterstützt. Des Weiteren wird das gleiche allgemeine GenDC-Daten-Deskriptor-Format für alle Payload-Typen verwendet, von der Kamera bis zum Computer sowie innerhalb und außerhalb der Anwendungssoftware. GenDC kann einfache oder komplexe Payload mit einer vereinheitlichten Daten-Deskriptor-Struktur beschreiben, die Folgendes beinhalten:

  • • 1D-, 2D- oder 3D-Bilder (z.B. monochrom, gepackt oder planar, 3D-Abstände)
  • • Komprimierte Puffer (z.B. JPEG, JPEG 2000, H.264)
  • • Mehrfachansicht/Multispektral (z.B. Stereo, Sichtbar und IR, Hyperspektral)
  • • Bildsequenzen (inkl. Multi-Frame-Bursts)
  • • Verarbeitungsergebnisse (z.B. Histogramm, Blob-Analyse)
  • • Metadaten (z.B. allgemeine Dateninformationen, GenICam-Chunk, XML)
  • • Gemischter Inhalt (z.B. 2D-Bild + Metadaten + Verarbeitungsergebnis).

GenDC wird unkompliziert von bestehenden und zukünftigen TLs als neue generische Payload für herkömmliche 2D-Bilddaten unterstützt. Die TL-Komitees der jeweiligen Hardware-Standards können spezifische Mechanismen und Regeln definieren, um einen minimalen Datentransportaufwand und eine einfache Interpretation des Datencontainers beim Empfang zu gewährleisten. Die GenDC-Spezifikation wurde im Dezember 2018 fertiggestellt und veröffentlicht. Nachdem die TL-Protokolle der gängigen Interfaces angekündigt haben, den GenDC-Standard zu unterstützen, gibt es bereits für jedes dieser TL-Protokolle einen Umsetzungsvorschlag. GenDC wird damit schnell um umfassend in der Entwicklung neuen Produkte angenommen.

EMVA European Machine Vision Association

Das könnte Sie auch Interessieren