GenICam – What is New? Vision Stuttgart Nov 2012 Dr. Fritz Dierks

GenICam – What is New?
Vision Stuttgart Nov 2012
Dr. Fritz Dierks
Director of Platform Development at
Chair of the GenICam Standard Committee
1
Outline
GenICam as Core of Modern Interface Standards
Latest Example: USB3 Vision
GenICam Status and Roadmap
2
GenICam in a Nutshell
provides plug&play to machine vision cameras
Accessing Camera Features
and Grabbing Images
Driver
Vision Library
 interface independent 
Camera
Vendors
PC Software
Vendors
Customers
3
115 as of
Nov 2012
GenICam Members
4
The GenICam Core Team
History of international GenICam meetings
For full list see www.genicam.org
5
GenICam is the Core of all Modern Interfaces

2.0
()





Latest newcomer: USB3 Vision
 Pure transport layer standard
 Fully relies on GenICam as mandatory front end
 Cameras are SFNC compliant
6
P12-09 Agreement
transport
layer
interface
In 2009 the Standard Committees Agreed
on…

All new Camera interfaces should be based
on GenICam and define a transport layer
(TL) only

The TL describes only how to access
camera registers and how to stream data.

GenICam defines how to build a camera on
to of the transport layer
CameraLink
CL
Customer and Vendor Benefits



Re-use of existing IP / platforms
Easy migration between transport layers
Systems with mixed transport layers
possible
7
The Role of GenICam Modules
Client
SFNC – camera features
Vision Library / SDK
GenICam reference implementation
– interpret XML file content
CLProtocol – Camera Link support
GenTL
GenTL – transport layer API
Driver
GenCP – packet layout
TL Standard
Camera
XML
GenApi – XML file format
8
New GenICam Module: GenCP

All GenICam aware, packet based transport
layer standards need to define a protocol /
packet layout for
 Accessing Registers
 Raising Events
 Heartbeat
 Bootstrap registers
 Fetching GenICam XML file (manifest table)

In order to avoid re-inventing the wheel the
new GenICam module GenCP provides a
generic protocol definition which can be
tailored to the actual transport layer’s needs


Many ideas are borrowed from GigE Vision
GenCP is the base for USB3 Vision and will be
used for future packet based TL standards
9
Outline
GenICam as Core of Modern Interface Standards
Latest Example: USB3 Vision
GenICam Status and Roadmap
10
USB 3.0 Fact Sheet
Standardized screw locked
connectors
Performance Data





300…350 MByte/s of sustained bandwidth
5/14/50 m cables passive/active/optical
5V / 4.5W power supply
Intel / AMD chipset support
Win8 native support, Win7 SP expected
Passive Cables
3…5 m
Active Cables
6…14 m
Active cables use equalizers
to compensate for cable losses
Optical Cables
up to 50 m
(under preparation)
11
This is not USB 3.0…
USB3 Vision Standard (U3V)
The market accepts a new interface only if there is a standard
 CL, 1394, GigE have a standard  widely adopted in MV
 USB 2.0 does not have a (MV) standard  niche only
Basler took initiative and organized a standard committee
 U3V is international G3 standard hosted by the AiA, and backed by the EMVA and JIIA
From kick-off to launch
in only 14 month
- thanks to to GenICam
May
2011
Jul
2011
Basler
Initiative
White
Paper
Sep
2011
Feb 2012
Kick-Off
Ahrensburg
Basler, AVT
Meeting
Vancouver
PtGrey
May
2012
Sep
2012
Nov 2012
Dec
1st
Draft
Meeting
Launch
RC1
2012e
Vision
Boston
3 working meetings only
Dresden
Baumer
Vision
Stuttgart
Balloting
Completed
12
31 x U3V Committee Members*)
*)
as of 30.10.2012
14 x Cameras
All of these
companies
are GenICam
members
7 x Libraries
5 x Cables
5 x Misc.
13
Key Features of U3V
Plug&Play
 Windows P&P manager binds camera automatically
 GenICam provides standard features and behaviour
Zero Copy
 Video data is copied to RAM by bus master DMA.
 The PC’s CPU is not involved. Typical CPU load < 1%
Variable Image Size
 The camera can decide on-the-fly to send a smaller frame without the host
knowing this in advance

Applications
 Line scan, e.g log inspection in a sawmill
 Pick & Place
 Live & Trigger
Low Latency and Jitter
 Details next slide
14
14
Register Access Performance
Measurement Setup

1 measurement cycle = 10000 requests,
10 times

Read and write requests performed separately

Mean, min, max and standard deviation values
are computed from one measurement cycle

4 measurement cycles are performed with
different (0-3) bulk streaming devices are
running at @112,5 MB/s

Test application priority is set to REALTIME (24)
Results

Write = 50 ± 6 µs

Read = 170 ± 17 µs
15
U3V is an On-The-Wire Standard
Benefits of on-the-wire
Client
proprietary
Vision Library / SDK
Host
proprietary
Library
Vendor

GenICam standard way

Supports embedded systems

Clear responsibility for
software on host side
All modern interface
standards are defined
on-the-wire
Driver
Device
USB3 Vision Standard
Device
Camera
Vendor
16
Problems with Non-Standard USB 3.0 Cameras
The typical USB 2.0 camera
requires a proprietary driver
from the camera vendor
Client
proprietary
2.0
Drawbacks
Vision Library / SDK
Library
Vendor

Customer has to use camera
vendors’ proprietary API
 he is locked in on the API

Drivers are typically available
only for Windows
 no embedded system support

Considerable CPU load, esp. if
driver handle color conversion
Host
proprietary
Driver
Device
proprietary
Camera
Vendor
Many USB 3.0 cameras from exUSB 2.0 companies stick to this
scheme.
Device
17
Outline
GenICam as Core of Modern Interface Standards
Latest Example: USB3 Vision
GenICam Status and Roadmap
18
Current Release GenICam v2.3.1



•
Lots of bug fixes and small improvements (more than 100 tickets)
VisualStudio 10.0 support
Improved CameraLink support
Better loading performance
12 times
faster
1.5 times
faster
1.5 s
Large XML file : 3685 nodes, 7200 links
Test Laptop : Intel Core i5 2.6 GHz
19
Problems with GenICam 2.x
First time node map creation
 DOM tree is created from XML
XML
Cache
 Four rounds of style sheets are
applied
 Dependencies are determined and
Xerces
load
XML
stored to DOM tree
store/load
create
DOM
 DOM is stored to cache
Node
Map
 Node map is created
Node map creation from cache
 DOM tree is built from cache XML
 Node map is created
- Xalan apply style sheets
- Dependency check
 Large memory foot print
 Slow
20
20
Ideas for GenICam 3.0
First time node map creation
 Slim binary graph representation of the
node map is created from XML using a
specialized C++ parser
bin
Cache
C++
Parser
+
preproc
XML
 While parsing all pre-processing steps are
performed
 Dependencies are determined and stored
store/load
create
graph
to graph
 Graph is stored to binary cache
Node
Map
 Node map is created
Node map creation from cache
 Graph is built from cache bin XML
 Node map is created
Dependency check

No DOM, no xerces, no Xalan

Fast due to binary data structures
(no strings)
21
GenICam Roadmap
GenICam v2.4




General Improvements
Bug Fixes
SFNC update
GenCP added
Start Working on GenICam 3.0
 Reduce memory footprint
 Speed up loading even further
 Get rid of xerces/xalan
 Better support for embedded system
 Better support for private installations
 Fully XML backward compatibility
Currently the requirements are discussed and a
scouting project is under way
22
Questions?
Dr. Fritz Dierks
Director of Platform Development
Chair of the GenICam Standard Committee
Basler AG
An der Strusbek 60-62
22926 Ahrensburg
Germany
Phone: +49-4102-463-381
Email: friedrich.dierks@baslerweb.com
www.baslerweb.com
23