By Rupert Stelz
RUPERT STELZ is a member of the GigE Vision Technical Committee and a senior developer at STEMMER Imaging, Puchheim, Germany; www.stemmer-imaging.de.
The image-processing industry finds itself at a crucial technological watershed. According to many experts, the coming new interface standard GigE Vision (Gigabit Ethernet for Machine Vision) and the closely associated generic software interface GenICam (Generic Interface for Cameras) will give new impetus to the industrial image-processing sector in the near future.
How does a camera image actually get to the PC that evaluates it? The question is not as simple as it seems, and in the world of industrial image processing there are now a whole range of possible answers, which are the subject of lively debate. You will hear a multitude of terms such as Camera Link, IEEE 1394 (also known as FireWire, encompassing the versions FireWire A and FireWire B), as well as USB, USB 2, Gigabit Ethernet, or 10 Gigabit Ethernet. And, as if these standard transmission methods, most of which come from the consumer PC world, were not enough, there are also a large number of other, proprietary methods. The wide range available on the market does not make it easy for users who are planning a new image-processing system to select those components that are best suited to solving a task at the best price.
A new standard that has tremendous potential is set to enter the fray and become the preferred interface: Gigabit Ethernet for Machine Vision or simply "GigE Vision." On the one hand, the standard sets out to define a uniform protocol on the basis of UDP/IP, which will allow image-processing products that are compatible with GigE Vision to communicate with a host. On the other hand, GenICam, which is referenced by the standard, is intended to create a generally valid software interface that allows the devices to communicate their functions to generic software using a standardized XML file. The combination of a uniform protocol and an XML definition thus makes it possible to use hardware-independent software from any manufacturer for such devices.
Benefits for users
This new technology offers users a range of benefits. The standard will make it easier to exchange the hardware used. This, in turn, promises shorter design cycles, lower development costs, and, as a result, greater opportunities on the market.
In addition, GigE Vision delivers the advantages of an industrial standard that is constantly being further developed and will, in the future, also be available as 10 GigE. The use of the mass-market technology Ethernet as the basis of GigE Vision means that image processing will profit from less-expensive components. And a wide selection of industrial-standard connectors and cables and components such as routers and switches is available in IPxx variants for this technology, thus making it suitable for deployment in a rugged industrial environment.
And for the first time Gigabit Ethernet, unlike its predecessor FastEthernet, will deliver sufficient bandwidth on "normal" network connections to meet the high bandwidth demands of many image-processing applications. At a planned data rate of approximately 100 Mbytes/s, GigE Vision caters to the majority of common image-processing applications. Other benefits include the facility of running any number of devices on a single host, the potential for remote maintenance, and simpler implementation of distributed computing.
In addition, Gigabit Ethernet permits considerably greater cable lengths, which are also inexpensive and even available in quantities suitable for use in chain cable carriers and robots. According to the specification, distances of up to 100 m are possible, which could previously only be achieved under other technologies with considerable effort. If even greater distances are required, fiberoptic cables can also be used with Gigabit Ethernet.
Initially, the underlying transport medium is of no significance in the GigE Vision and protocol definition. Thus, for instance, the way is open to deploying 10-Gbit Ethernet in the future when this technology becomes affordable and/or when it becomes possible to use 10 GigE Vision over copper wire.
All these advantages make a strong case for the claim that GigE Vision will soon be able to play a meaningful, powerful role in industrial image processing. On the part of the major manufacturers, at least, support is already there. The standardization committee of GigE Vision is part of the Automated Imaging Association and is thus sponsored by many of the leading image-processing manufacturers, including Basler Vision Technologies, JAI PULNiX, Matrox, National Instruments, Photonfocus, Pleora Technologies, and STEMMER Imaging.
New approaches to software
The industry is trying to define GigE Vision as a separate standard. After all, the purpose of a standard is to facilitate the integration of hardware components or guarantee that components can be exchanged, as well as to minimize the costs and time involved in integration. The development of Camera Link was a first step in this direction and defined the hardware interface between the camera and the host. However, the software aspect was not catered for sufficiently, since Camera Link only defined serial communication, completely ignoring the functionality of the camera.
The approach adopted in IEEE 1394/FireWire was far more extensive, as it laid down a more or less fixed register layout for the functionality of the camera. But it was this inflexible structure to the register layout that proved to be problematic. The flaw was the fact that there was no reference implementation, which led to the current situation where every manufacturer of FireWire products, in principle, supplies its own SDK. For the customer, this means that it is no longer a simple matter to exchange IEEE 1394 hardware products.
How does it work
An XML file describes the camera features. This XML file ultimately describes a register map. The manufacturers store the properties of their products in this file in a format described in the standard and explain how and where these can be addressed. Thus, for instance, a register controlling the gain of the camera can be located anywhere in the register map for that camera. Using the XML file, the software is then able to adjust this gain.
Using a generic software product, it is a simple matter to address any functions of the camera or to access parameters. GenICam is therefore responsible for, on the one hand, defining the layout of the XML file and, on the other, making available a reference implementation that can control the camera and capture data from the camera. In subsequent versions, GenICam will also abstract the communication layer to the camera and will become available for FireWire or Camera Link cameras.
To achieve this, the mechanisms required for communication with the camera will be abstracted and encapsulated in a special communication layer, the transport layer. Replacing this layer makes it possible to communicate not only with GigE Vision components but also with IEEE 1394 or other register-based devices. In a further step, the functionality will then be extended to support not only pure register access, but also the exchange of string tokens which would then allow GenICam to also be used for Camera Link.
Last steps to a standard
Work has been under way on the GigE Vision standard for about two years now. The specification in which the protocol is described has now been reworked point by point. A number of companies have introduced products compliant with the GigE Vision standard at VISION 2006 in Stuttgart, Germany, in November 2006. At the same time, version 1.0 of the GenICam standard is now completed.
STEMMER Imaging has already made effective use of this advantage in the current version of its image-processing library Common Vision Blox (CVB). CVB is one of the first image-processing software packages to comply with the GigE Vision and GenICam specifications.