Since the advent of the GenICam standard, a means now exists to configure devices across a wide range of standard physical interfaces at a higher level, regardless of the camera type and image format.
At the International Vision Standards meeting, Dr. Friedrich Dierks, the Director of Platform Development at Basler who heads up the GenICam standards efforts, said that one of the beauties of the GenICam standard was that it enabled system integrators to migrate from one physical layer standard to another without needing to learn new software conventions to configure a system.
To enable it to do so, the GenICam software standard is built from several modules. One of these is the GenApi, which defines the XML format from which a system can identify a camera and its parameters. The GenTL transport layer interface module, on the other hand, abstracts the camera driver from the programmer, providing a uniform means to find a camera and connect to it, access the cameras registers and send video streams and signal events from it.
“When the GeniCam standard was developed, it was assumed that the XML file would be small, because traditionally cameras had a limited feature set. It was also assumed that the XML file would be interpreted by PC based systems with x86 architectures running Windows. Today, however, many cameras are extremely feature rich and have huge XML files. What is more, engineers are now building embedded systems, using ARM processors with limited memory resources that run mostly Linux operating systems,” said Dierks.
While GenICam version 2.4 could be used by such systems, it was rather too slow and too large. Hence in GenICam Version 3.0, the GenApi has been rewritten, and in doing so the loading time has been improved by a factor of five and the memory footprint required to run the GenApi has been reduced by a similar amount.
According to Basler’s Dierks, because the model upon which GenICam and GenTL was originally based was created to support 2D cameras, the committee also had to extend the GenICam standard to define the notation for a variety of 3D cameras, while taking into account the number of measurement principles that they use, such as stereo vision, structured light and time of flight, and stereo vision.
GenICam worked via the Pixel Format Naming Convention standards group to define several pixel formats that are used in 3D vision systems. These include support for 3D images in Cartesian coordinates, spherical coordinate systems and depth range systems as well as confidence information.
The new version 1.5 of the GenTL transport layer in the GeniCam standard supports both area scan as well as line scan 3D cameras. In addition, it supports multiple data values (such as 3D co-ordinate and pixel intensity) for each pixel. What is more, a multi-part image transfer mechanism has been defined that enables different type of image data (such as co-ordinate or luminance data, or 2D and depth data) to be transferred from a camera’s memory buffer.