ISO 17215-3:2014
(Main)Road vehicles - Video communication interface for cameras (VCIC) - Part 3: Camera message dictionary
Road vehicles - Video communication interface for cameras (VCIC) - Part 3: Camera message dictionary
ISO 17215-3:2014 specifies the standardized camera messages and data types used by a VCIC camera (OSI Layer 7). Applications hosted on ECUs want to communicate with one or more cameras (e.g. "Ask camera for parameters."). If the applications can use standardized services supported by the cameras (API layer 7), the development of a vision application should be independent of the camera used. The services can be implemented by general libraries. The definition of streaming data are not an issue of this API. The general terminology defined in ISO 17215-1 is also used in ISO 17215-3:2014.
Véhicules routiers — Interface de communication vidéo pour caméras (ICVC) — Partie 3: Dictionnaire de message de caméra
General Information
Relations
Frequently Asked Questions
ISO 17215-3:2014 is a standard published by the International Organization for Standardization (ISO). Its full title is "Road vehicles - Video communication interface for cameras (VCIC) - Part 3: Camera message dictionary". This standard covers: ISO 17215-3:2014 specifies the standardized camera messages and data types used by a VCIC camera (OSI Layer 7). Applications hosted on ECUs want to communicate with one or more cameras (e.g. "Ask camera for parameters."). If the applications can use standardized services supported by the cameras (API layer 7), the development of a vision application should be independent of the camera used. The services can be implemented by general libraries. The definition of streaming data are not an issue of this API. The general terminology defined in ISO 17215-1 is also used in ISO 17215-3:2014.
ISO 17215-3:2014 specifies the standardized camera messages and data types used by a VCIC camera (OSI Layer 7). Applications hosted on ECUs want to communicate with one or more cameras (e.g. "Ask camera for parameters."). If the applications can use standardized services supported by the cameras (API layer 7), the development of a vision application should be independent of the camera used. The services can be implemented by general libraries. The definition of streaming data are not an issue of this API. The general terminology defined in ISO 17215-1 is also used in ISO 17215-3:2014.
ISO 17215-3:2014 is classified under the following ICS (International Classification for Standards) categories: 43.040.15 - Car informatics. On board computer systems. The ICS classification helps identify the subject area and facilitates finding related standards.
ISO 17215-3:2014 has the following relationships with other standards: It is inter standard links to ISO 25649-7:2017, ISO 17215-3:2021. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.
You can purchase ISO 17215-3:2014 directly from iTeh Standards. The document is available in PDF format and is delivered instantly after payment. Add the standard to your cart and complete the secure checkout process. iTeh Standards is an authorized distributor of ISO standards.
Standards Content (Sample)
INTERNATIONAL ISO
STANDARD 17215-3
First edition
2014-04-15
Road vehicles — Video communication
interface for cameras (VCIC) —
Part 3:
Camera message dictionary
Véhicules routiers — Interface de communication vidéo pour caméras
(ICVC) —
Partie 3: Dictionnaire de message de caméra
Reference number
©
ISO 2014
© ISO 2014
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form
or by any means, electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior
written permission. Permission can be requested from either ISO at the address below or ISO’s member body in the country of
the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO 2014 – All rights reserved
Contents Page
Foreword .iv
Introduction .v
1 Scope . 1
2 Normative references . 2
3 Terms and definitions, symbols, and abbreviated terms . 2
3.1 Terms and definitions . 2
3.2 Abbreviated terms . 3
4 Conventions . 3
5 Overview of ISO 17215 . 3
5.1 General . 3
5.2 Document overview and structure . 3
5.3 Open Systems Interconnection (OSI) model . 4
5.4 Document reference according to OSI model . 4
6 Camera application interface (OSI layer 7) . 5
6.1 Specific properties . 5
6.2 API principles . 6
6.3 API data types . 7
6.4 API Return codes . 7
6.5 API enumerations . 7
6.6 API structures .11
6.7 API reference .26
6.8 Programming model for SOME/IP .40
6.9 PDU examples for some/IP .45
Foreword
ISO (the International Organization for Standardization) is a worldwide federation of national standards
bodies (ISO member bodies). The work of preparing International Standards is normally carried out
through ISO technical committees. Each member body interested in a subject for which a technical
committee has been established has the right to be represented on that committee. International
organizations, governmental and non-governmental, in liaison with ISO, also take part in the work.
ISO collaborates closely with the International Electrotechnical Commission (IEC) on all matters of
electrotechnical standardization.
The procedures used to develop this document and those intended for its further maintenance are
described in the ISO/IEC Directives, Part 1. In particular the different approval criteria needed for the
different types of ISO documents should be noted. This document was drafted in accordance with the
editorial rules of the ISO/IEC Directives, Part 2 (see www.iso.org/directives).
Attention is drawn to the possibility that some of the elements of this document may be the subject of
patent rights. ISO shall not be held responsible for identifying any or all such patent rights. Details of
any patent rights identified during the development of the document will be in the Introduction and/or
on the ISO list of patent declarations received (see www.iso.org/patents).
Any trade name used in this document is information given for the convenience of users and does not
constitute an endorsement.
For an explanation on the meaning of ISO specific terms and expressions related to conformity
assessment, as well as information about ISO’s adherence to the WTO principles in the Technical Barriers
to Trade (TBT) see the following URL: Foreword - Supplementary information
The committee responsible for this document is ISO/TC 22, Road vehicles, Subcommittee SC 3, Electrical
and electronic equipment.
ISO 17215 consists of the following parts, under the general title Road vehicles — Video communication
interface for cameras (VCIC):
— Part 1: General information and use case definition
— Part 2: Service discovery and control
— Part 3: Camera message dictionary
— Part 4: Implementation of communication requirements
iv © ISO 2014 – All rights reserved
Introduction
Driver assistance systems are more and more common in road vehicles. From the beginning, cameras
were part of this trend. Analogue cameras were used in the beginning because of lower complexity of
the first systems. With increasing demand for more advanced functionality, digital image processing has
been introduced. So-called one box design cameras (combining a digital image sensor and a processing
unit) appeared in the vehicles.
Currently, the market demands such systems with multiple functions. Even different viewing directions
are in use. It seems to be common sense that 6 up to 12 cameras in a single vehicle will be seen in the
next future. Out of this and the limitation in size, power consumption, etc. it will lead to designs where
the cameras are separated from the processing unit. Therefore, a high performance digital interface
between camera and processing unit is necessary.
This International Standard has been established in order to define the use cases, the communication
protocol, and the physical layer requirements of a video communication interface for cameras, which
covers the needs of driver assistance applications.
The video communication interface for cameras
— incorporates the needs of the whole life cycle of an automotive grade digital camera,
— utilizes existing standards to define a long-term stable state-of-art video communication interface
for cameras usable for operating and diagnosis purpose,
— can be easily adapted to new physical data link layers including wired and wireless connections by
using existing adaption layers, and
— is compatible with AUTOSAR.
This part of ISO 17215 is related to the general information and use case definition. This is a general
overview International Standard which is not related to the OSI model.
To achieve this, it is based on the Open Systems Interconnection (OSI) basic reference model specified in
ISO/IEC 7498-1 and ISO/IEC 10731, which structures communication systems into seven layers. When
mapped on this model, the protocol and physical layer requirements specified by this International
Standard, in accordance with Table 1 are broken into following layers:
— application (layer 7), specified in ISO 17215-3;
— presentation layer (layer 6), specified in ISO 17215-2;
— session layer (layer 5), specified in ISO 17215-2;
— transport protocol (layer 4), specified in ISO 17215-4, ISO 13400-2;
— network layer (layer 3), specified in ISO 17215-4, ISO 13400-2;
— data link layer (layer 2), specified in ISO 17215-4, ISO 13400-3;
— physical layer (layer 1), specified in ISO 17215-4, ISO 13400-3.
Table 1 — Specifications applicable to the OSI layers
Applicability OSI 7 layers Video communication interface for cameras Camera diagnostics
Application (layer 7) ISO 17215-3
Presentation (layer 6) ISO 17215-2
Seven layers
Session (layer 5) ISO 17215-2
according to
ISO 7498–1 Transport (layer 4) ISO 17215-4 ISO 13400-2
and
Network (layer 3)
Other future interface
ISO/IEC 10731
standards
Data link (layer 2) ISO 17215-4 ISO 13400-3
Physical (layer 1)
ISO 17215-1 has been established in order to define the use cases for vehicle communication systems
implemented on a video communication interface for cameras; it is an overall International Standard not
related to the OSI model.
ISO 17215-3 covers the application layer implementation of the video communication interface for
cameras; it includes the API.
ISO 17215-2 covers the presentation layer implementation of the video communication interface for
cameras.
ISO 17215-4 is the common standard for the OSI layers 1 to 4 for video communication interface for
cameras. It complements ISO 13400-2 and ISO 13400-3 and adds the requirement for video transmission
over Ethernet.
ISO 17215-2 and ISO 17215-3 (OSI layer 5 to 7) services have been defined to be independent of the
ISO 17215-4 (OSI layer 1 to 4) implementation. Therefore, ISO 17215-4 could be replaced by other future
communication International Standard.
vi © ISO 2014 – All rights reserved
INTERNATIONAL STANDARD ISO 17215-3:2014(E)
Road vehicles — Video communication interface for
cameras (VCIC) —
Part 3:
Camera message dictionary
1 Scope
This part of ISO 17215 specifies the standardized camera messages and data types used by a VCIC
camera (OSI Layer 7).
The scope of the camera application interface (API) and its context are shown in Figure 1.
Applications hosted on ECUs want to communicate with one or more cameras (e.g. “Ask camera for
parameters.”). If the applications can use standardized services supported by the cameras (API layer 7),
the development of a vision application should be independent of the camera used. The services can be
implemented by general libraries.
The definition of streaming data are not an issue of this API.
Figure 1 — Overview of ISO 17215
The general terminology defined in ISO 17215-1 is also used in this part of ISO 17215.
2 Normative references
The following documents, in whole or in part, are normatively referenced in this document and are
indispensable for its application. For dated references, only the edition cited applies. For undated
references, the latest edition of the referenced document (including any amendments) applies.
ISO°7498-1, Information processing systems — Open systems interconnection — Basic reference model
ISO/IEC 10731, Information technology — Open Systems Interconnection — Basic Reference Model —
Conventions for the definition of OSI services
ISO 17215 (all parts), Road vehicles —Video communication interface for cameras (VCIC)
3 Terms and definitions, symbols, and abbreviated terms
3.1 Terms and definitions
For the purposes of this document, the following terms and definitions apply.
3.1.1
camera identification number
individual camera identification number that identifies the supplier, camera type, and individual camera
(e.g. MEE-32140-194565432-DD2RT supplier, camera type, serial number)
3.1.2
camera register
internal HW registers of the camera
3.1.3
extrinsic parameters
denotes the coordinate system transformations from 3D world (vehicle) coordinates (m,°) to 3D-camera
coordinates (m,°)
3.1.4
focal length
distance over which initially collimated rays are brought to a focus
3.1.5
frame rate
update rate per time of camera images
3.1.6
global shutter
exposure that exposes all pixels at the same time
3.1.7
histogram
type of histogram that acts as a graphical representation of the tonal distribution in a digital image
3.1.8
intrinsic camera parameters
denote the coordinate system transformations from 3D camera (m) to 2D pixel coordinates (pixel)
2 © ISO 2014 – All rights reserved
3.2 Abbreviated terms
Term Description
API Application Programming Interface
AEC Automatic Exposure Control
AGC Automatic Gain Control
DAS Driver Assistance System
ECU Electronic Control Unit
HDR High Dynamic Range
HMI Human Machine Interface
ISO International Organization for Standardization
LDR Low Dynamic Range
MAC Media Access Control
OSI Open Systems Interconnection
PSE Persistent storage entry
ROI Region of Interest, i.e. sub-part of overall image
RPC Remote Procedure Call
4 Conventions
This International Standard is based on the conventions specified in the OSI service conventions
(ISO/IEC°10731) as they apply for physical layer, protocol, network, and transport protocol and
diagnostic services.
5 Overview of ISO 17215
5.1 General
This International Standard has been established in order to implement a standardized video
communication interface for cameras on a communication data link.
The focus of this International Standard is using existing protocols.
— Figure 1 specifies the relation to the other parts of this International Standard.
— Figure 2 specifies the relation of this International Standard to existing protocols.
5.2 Document overview and structure
This International Standard consists of a set of four sub-documents, which provide all references and
requirements to support the implementation of a standardized video communication interface for
cameras according to the standard at hand.
— ISO 17215-1 provides an overview of the document set and structure along with use case definitions
and a common set of resources (definitions, references) for use by all subsequent parts.
— ISO 17215-2 specifies the discovery and control of services provided by a VCIC camera.
— ISO 17215-3 specifies the standardized camera messages and data types used by a VCIC camera (OSI
Layer 7).
— ISO 17215-4 specifies standardized low-level communication requirements for implementation of
the physical layer, data link layer, network layer, and transport layer (OSI Layers 1 to 4).
5.3 Open Systems Interconnection (OSI) model
This International Standard is based on the Open Systems Interconnection (OSI) basic reference model
as specified in ISO/IEC 7498 which structures communication systems into seven layers.
All parts of this International Standard are guided by the OSI service conventions as specified in
ISO/IEC 10731 to the extent that they are applicable to diagnostic services. These conventions define
the interaction between the service user and the service provider through service primitives.
The aim of this subclause is to give an overview of the OSI model and show how it has been used as a
guideline for this part of ISO 17215. It also shows how the OSI service conventions have been applied to
this International Standard.
The OSI model structures data communication into seven layers called (from top to bottom) the
application layer (layer 7), presentation layer, session layer, transport layer, network layer, data link
layer, and physical layer (layer 1). A subset of these layers is used in this International Standard.
The purpose of each layer is to provide services to the layer above. The active parts of each layer,
implemented in software, hardware, or any combination of software and hardware, are called entities.
In the OSI model, communication takes place between entities of the same layer in different nodes. Such
communicating entities of the same layer are called peer entities.
The services provided by one layer are available at the Service Access Point (SAP) of that layer. The layer
above can use them by exchanging data parameters
This International Standard distinguishes between the services provided by a layer to the layer above it
and the protocol used by the layer to send a message between the peer entities of that layer. The reason
for this distinction is to make the services, especially the application layer services and the transport
layer services, reusable also for other types of networks than the video communication interface for
cameras. In this way, the protocol is hidden from the service user and it is possible to change the protocol
if demanded by special system requirements.
5.4 Document reference according to OSI model
Figure 2 illustrates the document references.
4 © ISO 2014 – All rights reserved
Figure 2 — Document reference according to OSI model
6 Camera application interface (OSI layer 7)
6.1 Specific properties
In the automotive environment, the network topologies are semi-static and the characteristics of
all components, including cameras, are bound to a specific car platform design. Components and
characteristics of components not included in the design need not to be supported.
There is no requirement for a least common video mode. The minimum compatibility requirement is
to recognize the reason of unexpected behaviour. Compatibility is ensured during the design phase.
Incompatibility will be detected during development, assembling, or repair of a car.
Consequently, the standard specifies the interface to an automotive camera, but doesn’t specify the
characteristics of automotive cameras.
For instance, no mandatory or standard video formats are specified. However, all provisions are made
to implement standard video formats.
6.2 API principles
The camera API consists of a variety of data structures describing video modes, camera controls, and
stored items and a set of API functions.
The API is independent of specific programming languages. It is an abstract list of data structures and
functions to be offered by all implementations. A fundamental principle of all camera API functions is
the usage of remote procedure calls (RPC).
The addressing of multiple cameras can be expressed by:
Camera_function = f { camera instance, api_function { MethodID, arg1, . argn } }.
The implementation depends highly on the programming language used. Therefore, this part of
ISO 17215 only covers the api_function itself.
Camera data structures can be read, written, and deleted using the associated camera API functions.
Camera API functions can be grouped by the mechanism they are using in
— set, get, and erase functions, and
— subscribe and unsubscribe functions.
All API functions starting with set, get, and erase are used to modify the cameras data structures and
the underlying functionality, for instance setting the exposure time of the imager. They are using a
request/response mechanism. A request is followed by a single response.
Functions are generally identified by its Method ID.
The Method IDs are specified in 6.5.1.
All API functions starting with unsubscribe/subscribe are used to acquire cyclically data from the
camera, for instance, a video stream. They are using subscribe/notification mechanism. After subscribing
an event, multiple notification packages will follow.
Events are identified by its respective Eventgroup ID.
The Eventgroup IDs are specified in 6.5.2.
The SOME/IP protocol defined in ISO 17215-2 provides the mechanism for such a RPC-based
implementation.
Camera functions and the associated structures can be grouped in functional context in
— general camera functions (MethodID 0x0001 – 0x00FF),
— video format functions (MethodID 0x0101 – 0x01FF),
— image control functions (MethodID 0x0201 – 0x02FF), and
— imager functions (MethodID 0x0301 – 0x03FF).
6.2.1 Image cropping and windowing
The definition of the image windows are shown below.
6 © ISO 2014 – All rights reserved
Figure 3 — Image cropping and windowing
6.3 API data types
All used data types are specified in 6.3.1 of ISO 17215-2
6.4 API Return codes
Each function of the API returns a byte (8 bits) to signalize the status of the operation.
— The return codes (0x00 to 0x1F) are defined in 6.1.1.7 of ISO 17215-2.
— The return codes (0x20 to 0x3F) are function-specific and are described in 6.5.3.
6.5 API enumerations
6.5.1 enumeration eMethodID
Purpose: This enumeration is used to identify the methods supported by the camera.
This enumeration is based on uint16 data type.
Table 2 — enumeration eMethodID
Name Value Description
getDataSheet 0x0001 returns the datasheet of the camera
getCamStatus 0x0002 returns the current status of the camera
setCamMode 0x0003 start, stops, and restarts the camera application in the camera
setCamExclusive 0x0011 assigns the control of the camera exclusively to the requesting client
eraseCamExclusive 0x0019 removes the exclusive control look for the requesting client
setHostParameters 0x0022 sets the host parameters using persistent storage entries
getHostParameters 0x0024 the requested host parameter by reading persistent storage entries
eraseHostParameters 0x0029 forces the camera to erase the requested host parameters addressed
by the PSE ID
Table 2 (continued)
Name Value Description
setRegionOfInterest 0x0101 sets the parameter for a region of interest addressed by index
setRegionsOfInterest 0x0102 sets the parameter for all supported regions of interest
getRegionOfInterest 0x0103 returns the parameter for region of interest addressed by ROI index
getRegionsOfInterest 0x0104 returns the parameter for all supported region of interest
eraseRegionOfInterest 0x0109 erases all parameter for the requested ROI
setVideoFormat 0x0111 sets the video format for a ROI addressed by ROI index
getVideoFormat 0x0113 reads the parameter of the current video format, addressed by the ROI
index
eraseVideoFormat 0x0119 erases all video format parameter for the requested ROI
setHistogrammFormat 0x0121 the histogram format parameter for a ROI addressed by ROI index
getHistogrammFormat 0x0123 the parameter of the current histogram format, addressed by the ROI
index
eraseHistogrammFormat 0x0129 erases all histogram format parameter for the requested ROI
SubscribeROIVideo 0x0131 starts the transmission of a video stream for the requested ROI
UnSubscribeROIVideo 0x0132 stops the video streaming for the requested ROI
SubscribeROIHistogram 0x0133 starts the transmission of the histograms for the requested ROI
UnSubscribeROIHistogram 0x0134 the transmission of the histograms for the requested ROI
setCamControl 0x0201 sets the parameter for a camera control addressed by the control index
setCamControls 0x0202 sets the parameters for all camera controls
getCamControl 0x0203 returns the current parameter for a camera control addressed by the
control index
getCamControls 0x0204 returns all current camera control parameter
setCamRegister 0x0301 writes the content of a register of the cameras imager addressed by
physical register address
setCamRegisters 0x0302 writes (atomic access) the content of a register block of the camera
imager
getCamRegister 0x0303 reads the content of a register of the camera imager address by the
physical register address
getCamRegisters 0x0304 reads the content of a register block of the camera imager
setUsedRegisterSet 0x0305 forces the camera to write the imager register set stored in the
requested PSE to the imager
6.5.2 enumeration eEventGroupType
Purpose: This enumeration is used to identify the event groups supported by the camera.
This enumeration is based on uint16 data type.
Table 3 — enumeration eEventGroupType
Name Value Description
AllEvents 0xB000 Event group ID for all events
VideostreamEvents 0x9000 Event group ID for video streams
HistogrammEvents 0xA000 Event group ID for histograms
6.5.3 enumeration eCamErrorCodes
Purpose: This enumeration defines the camera API specific return codes. The values are in the
range of 0x20 to 0x3F.
8 © ISO 2014 – All rights reserved
Table 4 — enumeration eCamErrorCodes
Name Value Description
E_LOCKED_BY_FOREIGN_INSTANCE 0x20 Camera service is already locked by another client
E_LOCK_ EXPIRED 0x21 The camera lock has expired
E_NOT_LOCKED 0x22 Camera is not locked
E_INVALID_PS_ENTRY 0x24 The requested PSE ID is unknown
E_INVALID_PS_OPERATION 0x25 The requested PSE operation is not allowed, e.g. store on
a RO PSE
E_INVALID_PS_DATA 0x26 The PSE contains a CRC16 error
E_NO_MORE_SPACE 0x27 No more space available to store the PSE
E_INVALID_ROI_INDEX 0x30 The requested ROI is out of range
E_INVALID_ROI_NUMBER 0x31 The requested number of ROIs is out of range, defined by
sDatasheet.numOfRegionOfInterest
E_INVALID_VIDEO_FORMAT 0x32 Invalid value in video format
E_INVALID_HISTOGRAM_FORMAT 0x33 Invalid value in histogram format
E_INVALID_CONTROL_INDEX 0x35 The requested camControlIndex is out of range or not
supported by the camera
E_INVALID_CONTROL_MODE 0x36 The requested control mode is not supported by the
camera
E_INVALID_CONTROL_VALUE 0x37 The requested control value is out of the range, defined
in sCamControl
E_INVALID_REGISTER_ADDRESS 0x38 The register address is not supported by the imager
E_INVALID_REGISTER_VALUE 0x39 The value for the given register address is not supported
by the imager
E_INVALID_REGISTER_OPERATION 0x3A The requested operation (read or write) for the given
register address is not supported by the imager
6.5.4 enumeration eCameraMode
Purpose: This enumeration type defines the camera operating modes which can be set by using
the setCamMode method.
Table 5 — enumeration eCameraMode
Name Value Description
StartCameraService 1 The camera application shall be started
StopCameraService 2 The camera application shall be stopped. Power-intensive components
like imager should be switched off.
ReStartCameraService 3 The camera application shall restart. When restarting, the camera appli-
cation shall use the PSE ‘UseAtBootTime’
StopCamera 4 The camera device shall enter standby mode (uC OFF, Communication-
Controller OFF) and stores the settings.
This state can only left by repowering or wake up on LAN
6.5.5 enumeration eControlIndex
Table 6 — enumeration eControlIndex
Name Value Description
exposureTime 1 Controls the integration time
Brightness 2 Controls the black level offset
Table 6 (continued)
Name Value Description
Gain 3 Controls the gain circuits of the camera
Hue 4 Controls the hue circuits of the camera
Saturation 5 Controls the saturation circuits of the camera
Gamma 6 Controls the gamma correction circuit of the camera
whiteBalance 7 Controls the white balance circuit of the camera
synchronization 8 Controls the synchronization method
Heater 9 Controls the method to use the heater
6.5.6 enumeration eControlSupportedModes
Purpose: This enumeration defines the valid values for the supported modes of operation of
camera controls.
Table 7 — enumeration eControlSupportedModes
Name Value Description
StatnotSupported 0 Control not supported
StatRW_nA_nO 1 Read/write, no continuous automatic, no OnePush automatic
StatRO_nA_nO 3 Read only, no continuous automatic, no OnePush automatic
StatRO_A_nO 5 Read only, continuous automatic, no OnePush automatic
StatRW_A_nO 7 Read/write, continuous automatic, no OnePush automatic
StatRO_nA_O 9 Read only, no continuous automatic, OnePush automatic
StatRW_nA_O 11 Read/write, no continuous automatic, OnePush automatic
StatRO_A_O 13 Read only, continuous automatic, OnePush automatic
StatRW_A_O 15 Read/write, continuous automatic, OnePush automatic
Manual mode: The written value will be taken.
One push automatic mode: The built-in automatic control works until the automatic reaches the desired
value. Then, the mode switches automatically back to manual mode.
Automatic mode: Built-in automatic control works until the mode of operation changes.
6.5.7 enumeration eControlMode
Purpose: This enumeration type is used to set the mode of operation of a certain camera control.
Table 8 — enumeration eControlMode
Name Value Description
ModeManual 2 Manual mode, value not modified
ModeManualModified 3 Manual mode, value modified
ModeAuto 4 Continuous automatic mode
ModeOnePush 8 onePush automatic mode
10 © ISO 2014 – All rights reserved
6.5.8 enumeration ePersistentStorageID
Purpose: Persistent storage entry identifiers are used to identify the payload of the Set/Get/
Restore host parameter functions. The four LSB bits are used to allow up to 16 entries of the same type.
NOTE Predefined persistent storage entry identifiers are in the range of 0x0000 to 0x7FFF. The manufacturer
specific identifiers are in the range of 0x8000 to 0xFFFF.
Table 9 — enumeration ePersistentStorageID
Name Value Description
UseAtBootTime 0x0000 The payload consists of a list of persistent storage entries. The structure
sPersistentEntryList shall be used. Only existing entries with the ID
ROISetting and ImagerRegisterBlock are valid.
ImagerCharacteristic 0x0010 The payload consists of imager type specific information. The structure
sImagerCharacteristic shall be used and be implemented as read only
entry.
Defectpixelmap 0x0020 The payload consists of the imager exemplar specific defect pixel map.
The structure sPixelMap shall be used and might be implemented as
read only entry.
intrinsicCamParam 0x0030 The payload consists of the intrinsic calibration parameter. The struct
sIntrinsicCamParam shall be used and might be implemented as read
only entry.
ExtrinsicCamParam 0x0040 The payload consists of the extrinsic calibration parameter. The struct
sExtrinsicCamParam shall be used.
ROISetting 0x1yyx The payload consists of the parameter set for a ROI. The structure sRe-
gionOfInterest shall be used, y = roiIndex, x = number of entry belonging
to the roiIndex.
ImagerRegisterBlock 0x20xx The payload consists of an block of imager registers,. The structure
sImagerRegisterBlock shall be used xx = number of entry.
Each ROI has its own ID, and up to 16 PSEs for each ROI are allowed. The ID shall fit in the range given
by numOfRegionOfInterest in the camera data sheet. The PersistentStorageID 0x1012, for example,
identifies the second entry for the ROI with the index 1. Up to 256 PSEs for imager register parameter
are allowed.
The boot parameter entry contains a list of PSEs. Only existing entries with the ID ROISetting and
ImagerRegisterBlock are valid for this PSE ID. If this entry exists, the camera shall use content of the
listed PSE as initial parameter set.
6.6 API structures
6.6.1 structure sPixelPosition
Purpose: Definition of the position of a single pixel relative to a window defined in 6.2.1. The
effects of the optical system (e.g. lens) are included.
Figure 4 illustrates the single pixel evaluation.
NOTE Looking along the optical axis of camera to the object.
Figure 4 — sPixel
Table 10 — structure sPixelPosition
Name Type Description
X unit16 Number of pixels in vertical direction
Y unit16 Number of pixels in horizontal direction
6.6.2 structure sPixelMap
Purpose: This structure defines a group of independent pixels. This structure is used, for instance,
to report the position of defect pixel in the imager.
Table 11 — structure sPixelMap
Name Type Description
numberOfEntries unit32 Number of used entries counted from the first
entry
pixelPositions sPixelPosition[numberOfEntries] Array of pixel positions
6.6.3 structure sRectangle
Purpose: Definition of a rectangular area using two pixels coordinates (see Figure 5).
Figure 5 — sRectangle
12 © ISO 2014 – All rights reserved
Table 12 — structure sRectangle
Name Type Description
P1 sPixelPosition Left upper pixel of the rectangle
P2 sPixelPosition Right lower pixel of the rectangle
6.6.4 structure sImageDimension
Purpose: Definition of the image dimension.
Table 13 — structure sImageDimension
Name Type Description
Width uint16 Width in pixel
Height unit16 Height in pixel
6.6.5 structure sImagerRegister
Purpose: Definition of an address/value pair of imager register.
Table 14 — structure sImagerRegister
Name Type Description
regAddress uint16 Address of the register
regValue unit16 Value of the register
Each register is addressed by a 16-bit number. Each register is 16 bits wide. Smaller physical register
shall be LSB bound.
6.6.6 structure sImagerRegisterBlock
Purpose: Definition of a block of address/value pairs of imager register.
Table 15 — structure sImagerRegisterBlock
Name Type Description
regCount uint16 Number of registers to be written
imagerRegister sImagerRegister[regCount] Array of regCount register address and value pairs of the
imager
6.6.7 structure sImagerCharacteristic
Purpose: Defines the characteristics of the camera.
Table 16 — structure sImagerCharacteristic
Name Type Description
totalSize sImageDimension Maximum size of the imagers pixel array, P1 is always 0,0;
see 6.2.1
usableSize sImageDimension Usable size of the imagers pixel array, coordinates are rela-
tive to total size; see 6.2.1
pixelSizeX uint16 Horizontal pixel size [µm] = pixelSizeX/100
pixelSizeY uint16 Vertical pixel size [µm] = pixelSizeY/100
Table 16 (continued)
Name Type Description
shutterType unit8 0: global shutter
1: rolling shutter
sensorIdentifier uint8[32] Sensor identifier UTF-8 encoded
6.6.8 struct sIntrinsicCamParam
Purpose: The intrinsic camera parameters determine the projection from 3-D camera coordinates
to 2-D pixel coordinates. The intrinsic parameters of the camera can be read out by application software
and can be used for back-projection form a 2-D image position to a line in 3-D space.
The sIntrinsicCamParam data structure containing the intrinsic camera parameters is defined in Table
17.
Table 17 — struct sIntrinsicCamParam
Name Type description
distortionModel unit8 This parameter indicates in later editions of this International Standard
the distortion model used. It is fixed to 0 in this part of ISO 17215.
pad1 unit8 Unused
pad2 unit8 Unused
pad3 unit8 Unused
principalPointX float64 X coordinate of the principal point [pixel]
principalPointY float64 Y coordinate of the principal point [pixel]
ScaleX float64 Dimensionless scale factor (distance, measured in units of the pixel
width of the imager, between imager plane and the imager-side projec-
tion centre of the camera)
scaleY float64 Dimensionless scale factor (distance, measured in units of the pixel
height of the imager, between imager plane and the imager-side projec-
tion centre of the camera)
k float64 Radial distortion coefficient 1
k float64 Radial distortion coefficient 2
k float64 Radial distortion coefficient 3
k float64 Radial distortion coefficient 4
k float64 Radial distortion coefficient 5
k float64 Radial distortion coefficient 6
P float64 Tangential distortion coefficient 1
P float64 Tangential distortion coefficient 2
Using the constants contained in the above data structure, a 2-D vector (u, v) can be computed from a
given 3-D vector (x, y, z) as defined by the below formulae.
x
x '= (1)
z
y
y'= (2)
z
22 2
rx=+''y (3)
2 4 6
1++kr kr +kr
1 2 3 22
xx''= '* ++22px''yp rr+ ' (4)
( ))
2 4 6
1++kr kr +kr
4 5 6
14 © ISO 2014 – All rights reserved
2 4 6
1++kr kr +kr
1 2 3 22
yy''= '* ++pr 22yp''+ xy'' (5)
()
1 2
2 4 6
1++kr kr +kr
4 5 6
up=+rincipalPoint*Xx'' scaleX (6)
vp=+rincipalPoint*Yy'' scaleY (7)
The vector (x, y, z) shall define a position in a right-hand orthogonal 3-D camera coordinate system with
the x-axis pointing to the right, the y-axis pointing down, and the z-axis being parallel to the optical axis,
that is pointing to the view direction of the camera.
The vector (u, v) shall be the 2-D pixel position of the projected image of (x, y, z), where u is the horizontal
pixel position and v is the vertical pixel position with (u, v) = (0, 0) denoting the top left pixel of the image.
6.6.9 struct sExtrinsicCamParam
Purpose: The extrinsic camera parameters determine the mapping from 3-D vehicle coordinates
to 3-D camera coordinates. The extrinsic parameters of the camera can be written and read out by
application software and can be used, in conjunction with the intrinsic camera parameters, for back-
projection form a 2-D image position to a line in 3-D space that is defined in terms of the vehicle
coordinate system.
The sExtrinsicCamParam data structure containing the extrinsic camera parameters is defined in
Table 18.
Table 18 — struct sExtrinsicCamParam
Name Type Description
rotationMat float64[9] 3-by-3-element rotation matrix
t float64[3] 3-D translation vector
Vec
Using the constants contained in the above data structure, a 3-D vector (x, y, z) can be computed from a
given 3-D vector (X, Y, Z) as defined by the below formulae.
xr= otationMat 01**Xr+ otationMat Yr+ otationMat 20*Zt+ (8)
[] [] [] [[]
Vec
yr= otationMat 34**Xr+ otationMat Yr+ otationMat 51*Zt+ (9)
[] [] [] [[]
Vec
zr= otationMat 67**Xr+ otationMat Yr+ otationMat 82*Zt+ (10)
[] [] [] [[]
Vec
The vector (X, Y, Z) shall define a position in a right-hand orthogonal 3-D vehicle coordinate system.
NOTE The orientation and offset of this coordinate system relative to the vehicle body is not defined by this
International Standard.
The vector (x, y, z) shall define a position in a right-hand orthogonal 3-D camera coordinate system with
the x-axis pointing to the right, the y-axis pointing down, and the z-axis being parallel to the optical axis,
that is pointing to the view direction of the camera.
6.6.10 structure sPersistentEntryList
Purpose: Definition of the extrinsic parameters of the camera.
Table 19 — structure sPersistentEntryList
Name Type Description
numberOfEntries uint16 Number of persistent entries
listOfEntries uint16[numberOfEntries] List of persistent storage entry IDs
6.6.11 structure sPersistentStorageEntry
Purpose: This structure defines the content of a persistent storage entry (PSE) used in the Set/Get/
Restore host parameter functions.
Table 20 — structure sPersistentStorageEntry
Name Type Description
Flag uint32 0 = PSE is R/W 1 = PSE is RO
Length uint16 Length of persistent data in byte
PersistentStorageID uint16 Use enumeration ePersistentStorageID, see 6.5.8
PersistentData uint8(Length) Persistent data, the structure of the persistent data are identi-
fied by the PersistentStorageID
CRC16 uint16 CRC16 calculated using 16 LSB of the CCITT X.25 Polynome
Persistent storage entries are used to store various types of data in the camera’s flash or EEPROM.
The structure of data type to be stored is identified by the persistent storage ID. They can be stored as
RW or RO entry. When writing to an existing RO PSE, the cameras shall return an error. When writing
to an existing RW PSE, the existing PSE shall be replaced. The length of an entry shall not exceed
maxLengthOfPersistenEntry reported in the camera data sheet.
For the following data types, predefined identifier exists:
— boot parameter;
— characteristic of the imager;
— defect pixel map of the imager;
— intrinsic calibration parameter;
— extrinsic calibration parameter;
— ROI parameter;
— imager register parameter.
6.6.12 structure sTimeStamp
Purpose: Definition of a Timestamp.
Table 21 — structure sTimeStamp
Name Type Description
802ASExtension uint16 Additional 16 bits for compatibility to IEEE 802.AS
secondsField uint32 Portion of the timestamp in units of seconds
nanosecondsField uint32 Fractional portion of the timestamp in units of nanoseconds. The
nanosecondsField member is always less than 10e9
EXAMPLE +2,0000 000 01 s is represented by secondsField = 0000 0000 000216 and nanosecondsField = 0000
000116.
16 © ISO 2014 – All rights reserved
6.6.13 structure sDatasheet
Purpose: Defines the characteristics of the camera.
Table 22 — structure sDatasheet
Name Type Description
deviceIdentification uint8[256] String mirrored to the camera API but managed by the
generic device, UTF-8 encoded
standardVersion unit32 Number of the highest supported International Standard
imagerCharacteristic sImagerCharacteristic Description of the cameras imager
intrinsicCamParam sIntrinsicCamParam Intrinsic parameter of the camera
extrinsicCamParam sExtrinsicCamParam Extrinsic parameter of the camera
defectPixelMap sPixelMap Supplier information of defect pixels
numOfTemperatures unit32 Number of temperature sensor of the device
numOfRegionOfInterest unit32 NumOfRegionOfInterest > 0 is mandatory, see also 6.6.14
maxLengthOfPersistentEntry unit32 Maximum allowed length of a PSE
6.6.14 structure sRegionOfInterest
Purpose: This structure definition of a rectangular region of interest. It is used to specify the
parameter for an Event ID derived by the roiIndex.
Table 23 — structure sRegionOfInterest
Name Type Description
roiSizeAndPosition sRect Rectangular region of interest, the roiResolution in roiIndex
0 defines the grab size of the camera; roiResolutions fo
...








Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.
Loading comments...