GigE Vision and GenICam
How does a camera image actually arrive at 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 a lively debate. You will hear a plethora of terms such as "CameraLink", "IEEE-1394" - also known as "FireWire" - encompassing both FireWire A and B versions, 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. This bewildering range of available options does not make it easy for users to select the most suitable components at the best prices when planning a new image processing solution.
Gigabit Ethernet for Machine Vision ("GigE Vision" for short) is a standard that has entered the fray and could potentially become the preferred interface for vision applications. Firstly, the standard defines a uniform protocol based on UDP/IP, which will allow GigE Vision compatible image processing products to communicate with a host. Secondly, GenICam, which is referenced by the standard, is intended to create a common software interface that allows devices to communicate their functions to any compatible software using a standardized XML format file. The combination of a uniform protocol plus an XML definition makes it possible to use hardware-independent software from any manufacturer with any GigE enabled device, making it easier to exchange image processing hardware if required.
Huge benefits for the users
This new technology offers users a whole range of benefits. The key issue has already been mentioned: making it easier to exchange hardware, should the need arise. This in turn promises shorter design cycles, lower development costs and as a result, greater opportunities in the market.
In addition to this, and to an even greater degree than both FireWire/IEEE-1394 and USB 2.0, GigE Vision offers the advantages of an industrial standard which is constantly being developed and will also be available as 10 GigE in the future. The use of mass market Ethernet technology as a basis of GigE Vision means that image processing will benefit from less expensive components. Add to this the wide selection of standard industrial connectors, cables and components such as routers and switches that are available in IPXX variants and GigE Vision’s suitability for deployment in tough industrial environments becomes compelling.
Additionally, it should be remembered that for the first time, Gigabit Ethernet, (unlike its predecessor FastEthernet), will deliver sufficient bandwidth over "normal" network connections to meet the high bandwidth demands found in many image processing applications. At a planned data rate of approximately 100MByte/s, GigE Vision caters for the vast majority of common image processing applications.
Other user benefits include the ability to run any number of devices on a single host, the potential for remote maintenance, and simpler implementation of distributed computing.
Also, thanks to the widespread use of this technology, Gigabit Ethernet offers considerably longer and very inexpensive cable lengths, that are available in grades that are suitable for chain cable carriers and robots,. According to the specification, distances of up to 100m are possible, which could previously only be achieved using a range of other technologies with a considerable amount of effort, for instance, using repeaters with CameraLink cables or hubs with IEEE-1394 or even switching to a completely different medium such as fibre-optic or coaxial cabling. If even greater distances are required, fibre optic cables can also be used with Gigabit Ethernet. But even that is not the whole story with respect to data transport: 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. As for the major manufacturers, the support is already there. The GigE Vision standardization committee is assigned to the AIA (Automated Imaging Association) and is thus sponsored by many of the leading image processing manufacturers across the world. This includes companies such as Basler Vision Technologies, Teledyne DALSA, JAI, Matrox, National Instruments, PhotonFocus, Pleora Technologies and of course, STEMMER IMAGING.
A completely new approach to software
Past experience means that it should come as no surprise that 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 CameraLink was a first step in this direction and defined the hardware interface between the camera and the host. However, the software was not sufficiently catered for, since CameraLink 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 precisely this relatively inflexible structure to the register layout which proved to be problematic. The fatal flaw was the fact that there was no reference implementation, which led to the current situation where every manufacturer of FireWire products supplies their own SDK. For the customer, this means that it is no longer a simple matter to exchange IEEE-1394 hardware products.
GigE Vision and GenICam have adopted a different approach which is not intended to dictate the functionality of the cameras. Instead, the standard is designed to provide a flexible description of the camera features which can then be used by a generic software product. (See the GenICam diagram)
And how does that work in detail?
An XML file is used to describe the cameras features and functions, which ultimately describes the register map. The manufacturers use this file to store detailed information about their product in XML format (described in the standard) and this explains how and where these can be addressed. Thus, for instance, a register controlling the gain of a 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.
Being able to use any generic software product, it is simple matter to address any function of a camera (or other device) or to access parameters. GenICam is therefore responsible for defining the layout of the XML file and for making available a reference implementation which is able to control the camera and capture data from it. In subsequent versions, GenICam will also abstract the communication layer to the camera, allowing it to be used for FireWire or CameraLink cameras.
To achieve this, the mechanisms required for communicating with the camera will be abstracted and encapsulated in a special communication layer called the ‘Transport Layer’. Replacing this layer will then make 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 be used for CameraLink cameras also.
The way to a standard
From the very start, STEMMER IMAGING has played a major role in defining both of these standards. The Puchheim-based company has already made effective use of this advantage by channelling this knowledge into the current version of its image processing library, Common Vision Blox (CVB) which was one of the first image processing software packages to comply with the GigE Vision and GenICam specifications, making it is ideally equipped to take advantage of this new technology.
GigE Vision and GenICam offer exciting new image processing interfaces. Never before has the entire vision industry been in agreement to such an extent as they have been when defining the GenICam standard. Both technologies have the potential to open up new markets and to further extend the horizons of image processing.
Rupert Stelz is member of the GigE Vision Technical Committee and Senior Development Engineer at STEMMER IMAGING GmbH, Puchheim.