ISO/IEC 19794-8:2011
(Main)Information technology — Biometric data interchange formats — Part 8: Finger pattern skeletal data
Information technology — Biometric data interchange formats — Part 8: Finger pattern skeletal data
ISO/IEC 19794-8:2011 describes all characteristics of a fingerprint in a small data record. Thus it allows for the extraction of both spectral information (orientation, frequency, phase, etc.) and features (minutiae, core, ridge count, etc.). Transformations like translation and rotation can also be accommodated by the format defined in ISO/IEC 19794-8:2011. ISO/IEC 19794-8:2011 supports the proliferation of low-cost commercial fingerprint sensors with limited coverage, dynamic range, or resolution. Thus, it defines a data record that can be used to store biometric information on a variety of storage mediums (including, but not limited to, portable devices and smart cards).
Technologies de l'information — Formats d'échange de données biométriques — Partie 8: Données des structures du squelette de l'empreinte
General Information
Relations
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 19794-8
Second edition
2011-12-15
Information technology — Biometric data
interchange formats —
Part 8:
Finger pattern skeletal data
Technologies de l'information — Formats d'échange de données
biométriques —
Partie 8: Données des structures du squelette de l'empreinte
Reference number
©
ISO/IEC 2011
© ISO/IEC 2011
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing 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/IEC 2011 – All rights reserved
Contents Page
Foreword .v
Introduction.vi
1 Scope.1
2 Conformance .1
3 Normative references.2
4 Terms and definitions .2
5 Abbreviated terms .2
6 Determination of finger pattern skeletal data.2
6.1 Minutia .3
6.1.1 Minutia type.3
6.1.2 Minutia location and coordinate system.3
6.1.3 Angle conventions .4
6.1.4 Differences to minutia data in ISO/IEC 19794-2 – Finger minutia data .5
6.2 Encoding the skeleton ridge line by a direction code .5
6.2.1 Direction code.5
6.2.2 General skeleton line encoding rules.7
6.2.3 Constructing direction elements .7
6.2.4 Direction element length.8
6.3 Skeleton line neighbourhood index .10
6.3.1 Adjacent lines .10
6.3.2 Recording the neighbour indices .10
7 Finger pattern skeletal data record format .11
7.1 Introduction.11
7.1.1 Pattern record format summary.11
7.2 Record organization.14
7.3 General header .14
7.3.1 Format identifier .14
7.3.2 Version number .14
7.3.3 Length of total record .14
7.3.4 Number of finger representations .14
7.3.5 Certification flag .14
7.4 Single finger record format .15
7.4.1 Finger Pattern Skeletal Representation Header.15
7.4.2 Finger pattern skeletal data block .19
7.5 Extended data .20
7.5.1 Common extended data fields .20
7.5.2 Ridge count data format .21
7.5.3 Core and delta data format.23
7.5.4 Zonal quality data .25
7.5.5 Sweat pore position data.26
7.5.6 Finger pattern skeleton structural data.27
8 Finger pattern skeletal data card format.29
8.1 Normal size finger pattern skeletal format.29
8.2 Compact size finger pattern skeletal format.29
8.3 Finger pattern skeletal data block .30
8.3.1 Skeleton image size in x and y.30
8.3.2 Length of finger pattern skeletal data .30
8.3.3 Finger pattern skeletal data.30
© ISO/IEC 2011 – All rights reserved iii
8.3.4 Length of skeleton line neighbourhood index data .30
8.3.5 Skeleton line neighbourhood index data .30
8.4 The x or y coordinate extension for compact card format.30
8.5 Usage of additional features for the card format .31
8.6 Comparison parameters and card capabilities.31
8.6.1 Maximal data size.32
8.6.2 Indication of card capabilities .32
8.7 Pattern card format summary.32
9 CBEFF format owner and format types.33
Annex A (normative) Conformance test methodology.34
Annex B (normative) Capture device certifications.35
Annex C (informative) Examples for finger pattern skeletal data .59
Annex D (informative) Example data record.66
Bibliography .68
iv © ISO/IEC 2011 – All rights reserved
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are members of
ISO or IEC participate in the development of International Standards through technical committees
established by the respective organization to deal with particular fields of technical activity. ISO and IEC
technical committees collaborate in fields of mutual interest. Other international organizations, governmental
and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information
technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of the joint technical committee is to prepare International Standards. Draft International
Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as
an International Standard requires approval by at least 75 % of the national bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
ISO/IEC 19794-8 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology,
Subcommittee SC 37, Biometrics.
This second edition cancels and replaces the first edition (ISO/IEC 19794-8:2006), Clauses 6, 7 and 8 and
Annex B of which have been technically revised. It also incorporates the Technical Corrigendum
ISO/IEC 19794-8:2006/Cor.1:2011.
ISO/IEC 19794 consists of the following parts, under the general title Information technology — Biometric data
interchange formats:
⎯ Part 1: Framework
⎯ Part 2: Finger minutiae data
⎯ Part 3: Finger pattern spectral data
⎯ Part 4: Finger image data
⎯ Part 5: Face image data
⎯ Part 6: Iris image data
⎯ Part 7: Signature/sign time series data
⎯ Part 8: Finger pattern skeletal data
⎯ Part 9: Vascular image data
⎯ Part 10: Hand geometry silhouette data
⎯ Part 11: Signature/sign processed dynamic data
The following parts are under preparation:
⎯ Part 13: Voice data
⎯ Part 14: DNA data
© ISO/IEC 2011 – All rights reserved v
Introduction
With the interest of implementing interoperable personal biometric recognition systems, this part of
ISO/IEC 19794 establishes a data interchange format for pattern-based skeletal fingerprint recognition
algorithms. Pattern-based algorithms process sections of biometric images. Pattern-based algorithms have
been shown to work well with the demanding, but commercially driven, fingerprint sensor formats such as
small-area and swipe sensors.
The exchange format defined in this part of ISO/IEC 19794 describes all characteristics of a fingerprint in a
small data record. Thus it allows for the extraction of both spectral information (orientation, frequency, phase,
etc.) and features (minutiae, core, ridge count, etc.). Transformations like translation and rotation can also be
accommodated by the format defined in this part of ISO/IEC 19794.
With this part of ISO/IEC 19794 for pattern-based skeletal representation of fingerprints:
⎯ interoperability among fingerprint recognition vendors based on a small data record is allowed;
⎯ proliferation of low-cost commercial fingerprint sensors with limited coverage, dynamic range, or
resolution is supported;
⎯ a data record that can be used to store biometric information on a variety of storage mediums (including,
but not limited to, portable devices and smart cards) is defined;
⎯ adoption of biometrics in applications requiring interoperability is encouraged.
Note that it is recommended that biometric data protection techniques in ANSI X9.84 or ISO/IEC 15408 be
used to safeguard the biometric data defined in this part of ISO/IEC 19794 for confidentiality, integrity and
availability.
vi © ISO/IEC 2011 – All rights reserved
INTERNATIONAL STANDARD ISO/IEC 19794-8:2011(E)
Information technology — Biometric data interchange
formats —
Part 8:
Finger pattern skeletal data
1 Scope
This part of ISO/IEC 19794 specifies the interchange format for the exchange of pattern-based skeletal
fingerprint recognition data. The data format is generic in that it can be applied and used in a wide range of
application areas where automated fingerprint recognition is involved.
This part of ISO/IEC 19794 also specifies elements of conformance testing methodology, test assertions, and
test procedures as applicable to the interchange format for the exchange of pattern-based skeletal fingerprint
recognition data.
This part of ISO/IEC 19794 establishes
⎯ test assertions of the structure of the finger pattern skeletal data format as specified in this part of
ISO/IEC 19794 (Type A Level 1 as will be defined in ISO/IEC 19794-1:2011/Amd.2),
⎯ test asssertions of internal consistency by checking the types of values that may be contained within each
field (Type A Level 2 as will be defined in ISO/IEC 19794-1:2011/Amd.2).
This part of ISO/IEC 19794 does not establish
⎯ test of conformance of CBEFF structures required by this part of ISO/IEC 19794,
⎯ test of consistency with input biometric data record (Level 3),
⎯ test of other characteristics of biometric products or other types of testing of biometric products
(e.g. acceptance, performance, robustness, security),
⎯ test of conformance of systems that do not produce ISO/IEC 19794-8 records.
2 Conformance
A biometric data record conforms to this part of ISO/IEC 19794 if it satisfies all of the normative requirements
related to:
a) its data structure, data values, and the relationships between its data elements, as specified throughout
Clause 7 for the finger pattern skeletal data record format and Clause 8 for the finger pattern skeletal data
card format of this part of ISO/IEC 19794;
b) the relationship between its data values and the input biometric data from which the biometric data record
was generated, as specified throughout Clause 7 for the finger pattern skeletal data record format and
Clause 8 for the finger pattern skeletal data card format of this part of ISO/IEC 19794.
© ISO/IEC 2011 – All rights reserved 1
A system that produces biometric data records is conformant to this part of ISO/IEC 19794 if all biometric data
records that it outputs conform to this part of ISO/IEC 19794 (as defined above) as claimed in the
Implementation Conformance Statement (ICS) associated with that system. A system does not need to be
capable of producing biometric data records that cover all possible aspects of this part of ISO/IEC 19794, but
only those that are claimed to be supported by the system in the ICS.
A system that uses biometric data records is conformant to this part of ISO/IEC 19794 if it can read, and use
for the purpose intended by that system, all biometric data records that conform to this part of ISO/IEC 19794
(as defined above) as claimed in the ICS associated with that system. A system does not need to be capable
of using biometric data records that cover all possible aspects of this part of ISO/IEC 19794, but only those
that are claimed to be supported by the system in an ICS.
3 Normative references
The following referenced documents are indispensable for the application of this document. For dated
references, only the edition cited applies. For undated references, the latest edition of the referenced
document (including any amendments) applies.
ISO/IEC 19794-1:2011, Information technology — Biometric data interchange formats — Part 1: Framework
ISO/IEC 7816-6:2004, Identification cards — Integrated circuit cards — Part 6: Interindustry data elements for
interchange
ISO/IEC 7816-11:2004, Identification cards — Integrated circuit cards — Part 11: Personal verification through
biometric methods
4 Terms and definitions
For the purposes of this document, the terms and definitions given in ISO/IEC 19794-1 and the following apply.
4.1
sweat pore
minute opening in the dermis, allowing loss of fluid as a part of the temperature control of the body
5 Abbreviated terms
For the purposes of this document, the following abbreviated terms apply.
BER Basic Encoding Rules
BIT Biometric Information Template
CBEFF Common Biometric Exchange Formats Framework
DO Data Object
ppcm pixels per centimetre
6 Determination of finger pattern skeletal data
This part of ISO/IEC 19794 for finger pattern interchange data is based on the skeleton representation of
friction ridges. Since the result of different skeleton generation algorithms will differ at a maximum of about a
quarter of the ridge width this will have no impact on interoperability. In order to get a robust skeleton of the
ridges a noise reduction and regularization may take place on the raw image. The direction encoding of the
skeleton line elements is included in the interchange data record. The start and endpoints of the skeleton
ridgelines are included as real or virtual minutiae, and the line from start to endpoint is encoded by successive
direction changes. In the following, first the minutiae characteristics and then the encoding definition for one
skeleton line is described.
2 © ISO/IEC 2011 – All rights reserved
6.1 Minutia
Minutiae are points located at the places in the fingerprint image where friction ridges end or split into two
ridges.
6.1.1 Minutia type
Each minutia point has a “type” associated with it. There are two major types of minutia: a “ridge ending”
represented by the 2-bit value 01 and a “ridge bifurcation” or split point represented by 2-bit value 10. Points
with three or more intersecting ridges (trifurcations, etc.) will be treated as a “ridge bifurcation” type.
Ridge skeletons require the use of both real and "virtual" minutiae. Virtual minutiae are points on the
fingerprint image where a real ridge ending or a bifurcation does not exist, but a point is required to finish, or
continue, a skeleton ridgeline. Virtual minutiae have thus two types: virtual endings and virtual continuations.
⎯ Virtual endings are necessary to describe skeleton lines ending at the image boundary or at border lines
to those areas where there is insufficient image quality to determine ridges and real minutiae points (see
Figure C.3). They are also needed to finish the encoding of a closed loop (Table C.1). Virtual endings
have been assigned the 2-bit value 00.
⎯ In rare cases a skeleton line description will require the insertion of a virtual minutia point on a ridgeline.
For example, such points will be required to begin an encoding of a closed loop for which no real minutiae
exist, as well as to describe ridges with high curvature at a sufficient accuracy (see note about maximal
curvature in 6.2.4). These are called “virtual continuation” and have been assigned the 2-bitvalue 11
(Table C.1).
6.1.2 Minutia location and coordinate system
The coordinate system used to express the position of the minutiae points of a fingerprint shall be a Cartesian
coordinate system. Points shall be represented by their x and y coordinates, where x increases to the right
and y increases downward (opposite of the pointing direction of the finger), when viewing on a latent print of
the finger (see Figure 1). Note that this is in agreement with most imaging and image processing use. When
viewing on the finger, x increases from right to left as shown in Figure 1. All x and y values are non-negative.
For the skeletal pattern record format, the resolution is specified in the representation header, see.7.4. For the
skeletal pattern card format, the resolution of the x and y coordinates of the minutia shall be in metric units.
The granularity is one bit per five hundredth of a millimetre in the normal format and one tenth of a millimetre
in the compact format:
1 unit = 0,05 mm (normal format) or 0,1 mm (compact format).
© ISO/IEC 2011 – All rights reserved 3
x x
y y
finger
latent print
Figure 1 — Coordinate system
The position of the minutia for a ridge ending shall be defined as the coordinates of the skeleton point with
only one neighbour pixel belonging to the skeleton.
NOTE In some format types of ISO/IEC 19794-2 a ridge ending refers to the point of bifurcation of the valley in front
of the ridge.
The position of the minutia for a ridge bifurcation shall be defined as the point of forking of the skeleton of the
ridge. In other words, the point where three or more ridges intersect is the location of the minutia.
The position of a virtual ending shall be defined like the position of a real ridge ending.
The position for the minutiae type “virtual continuation” is not evaluated by comparison algorithms, that
analyse minutiae points and angles only. Minutiae of this type are only used for reconstructing the skeleton
but may support subsequent classifications of the reconstructed pattern. One may assign any point on the
skeleton necessary to increase the accuracy of the ridge line description (Table C.1).
6.1.3 Angle conventions
The minutiae angle is measured increasing counter clockwise starting from the horizontal axis to the right. The
angle of a minutia is scaled to fit the bit width of the data field defined in the representation header.
The direction of a ridge skeleton endpoint is defined as the angle between the tangent to the ending ridge and
the horizontal axis extending to the right of the ridge ending point.
A ridge skeleton bifurcation point has three intersection ridges. The two ridges enclosing the ending valley
encompass an acute angle. The direction of a ridge bifurcation is defined as the mean direction of their
tangents. Where each direction is measured as the angle the tangent forms with the horizontal axis to the right.
The direction of the lines starting or ending at a points with more than three arms (trifurcation, etc.) shall be
defined like the direction of a real ridge ending.
The direction of a virtual ending shall be defined like the direction of a real ridge ending.
4 © ISO/IEC 2011 – All rights reserved
The direction for the minutia type “virtual continuation” is not evaluated by comparison algorithms, that analyse
minutiae points and angles only. Minutiae of this type are only used for reconstructing the skeleton but may
support subsequent classifications of the reconstructed pattern. One may assign the mean of the incoming
and outgoing direction or the outgoing direction (Table C.1).
6.1.4 Differences to minutia data in ISO/IEC 19794-2 – Finger minutia data
The definition of the minutia position and direction is identical with ISO/IEC 19794-2:2005 card format (Format
type ‘0006’) with
⎯ minutia placement on a ridge bifurcation encoded as a ridge skeleton bifurcation point and
⎯ minutia placement on a ridge endpoint encoded as a ridge skeleton endpoint.
To compare minutiae with any other definition, a position and direction correction may be necessary. There
may be performance interoperability differences with the other format types of ISO/IEC 19794-2.
The angular resolution of minutiae in the finger pattern skeletal data record is defined in the header. The
minimal resolution allowed is 16 directions, that is 22,5° per least significant bit. A resolution below the
recommended 64 directions (5,625°)(Table 1: Bit-depth of direction code start and stop direction) may cause a
decrease in match quality for purely minutiae based comparison algorithms. This recommendation
corresponds to the angular resolution of the compact card format in finger minutiae data.
There are no virtual minutiae (type ID 00 and 11) in the finger minutiae data format.
There is no minutia type “other” (type ID 00) in the skeletal pattern data format.
Point with more than three arms (trifurcation, etc.) are not mentioned in the finger minutiae data, so they may
be omitted or encoded as “other”. In the finger pattern skeletal data these structures get the type “bifurcation”.
6.2 Encoding the skeleton ridge line by a direction code
6.2.1 Direction code
Each line in the skeleton image is encoded as a polygon. Therefore, each polygon element is taken from a
fixed set of line elements (defined in Clause 6.2.4). The line starts at an offset coordinate with a starting
direction and the following minutia characteristics:
⎯ minutia type (2 bits: 00 virtual ending, 01 ridge ending, 10 ridge bifurcation, 11 virtual continuation);
⎯ minutia direction (bit-depth defined in the representation header, range: 0-360 degrees scaled according
to bit-depth);
⎯ x-coordinate (bit-depth defined in the representation header);
⎯ y-coordinate (bit-depth defined in the representation header);
⎯ number of direction elements following (8 bits).
The successive polygonal elements are defined by their direction change relative to the previous element or
for the first element relative to the minutia direction, scaled and rounded to the direction code range and
resolution (6.2.4). The length of each element is a function of the direction change (6.2.4):
⎯ direction change (bit-depth and resolution defined in the representation header, data type is a signed
integer - the smallest negative number 10…0 is not used for direction change); (e.g. for bit-depth of 4 and
32 directions on 180° the signed integer range from –7 to 7 is scaled to the angle range from
–39,375° to +39,375°;
© ISO/IEC 2011 – All rights reserved 5
⎯ or in situations of high ridge line curvature one may wish to store direction elements at higher spatial
resolution. Therefore one can switch between two different resolution levels. With the smallest
negative number 10…0 the resolution level is switched between normal or high. A line encoding will
always start at normal resolution. On the first occurrence of 10…0 in a line code switch to high
resolution level in using half the step length, on the second occurrence switch back normal resolution
and full step length etc. (Table C.2).
⎯ the direction change is repeated until the line end is reached;
⎯ minutia type of line end (2 bits: 00 virtual ending, 01 ridge end, 10 ridge bifurcation, 11 virtual
continuation).
If the skeleton line ends at a virtual ending (type number 00), the relative position of the minutia on the line
element follows:
⎯ the relative minutia position l/S is scaled to the range 0-3 via min(3, floor(4l/S )) and stored as unsigned
n n
integer of length 2 bits, where l is the distance between the start of the last line element and the minutia,
and S the step length of the last line element (Figure 2).
n
⎯ If the skeleton line ends at a true minutia (type number 01 or 10) or is interrupted by a virtual continuation
(type number 11) a byte-aligned minutia description follows. In order to keep the alignment overhead
small it is done in the following manner: If the previously stored minutia type of the line end is already
starting byte aligned, the minutia data is completed by appending its direction and position. On unaligned
ending type, it is repeated at the start of the next byte followed by direction and position.
Thus the encoding continues with the following:
⎯ If the previously stored minutia type of the line end is not starting byte aligned, it is repeated at the start of
the next byte. Any unused bits caused by this alignment are filled with zeros.
⎯ minutia direction (bit-depth defined in the representation header, range 0-360 degrees scaled according
to bit-depth);
⎯ x-coordinate (bit-depth defined in the representation header).
⎯ y-coordinate (bit-depth defined in the representation header).
If the ending minutia is of type virtual continuation (type number 11) the line description continues with:
⎯ the number of direction elements following (8 bits) and direction elements as described above.
Any unused bits of the last byte for each encoded line is filled with zeroes to get a byte aligned beginning for
the next line encoding.
M
S
n
l
a
n
S
n-1
Figure 2 — The relative minutia position on a polygon line element is the ratio l/S , where S is the
n n
length of the line element passing the minutia M and l is the distance between the start of S and
n
minutia M. α is the angle of S .
n n
6 © ISO/IEC 2011 – All rights reserved
6.2.2 General skeleton line encoding rules
To keep the encoding size small a line shall start with a real minutia (type 01 or 10) if possible.
There are no restrictions about the use of virtual continuation minutiae or high resolution mode.
NOTE 1 Virtual continuation minutia and the high resolution mode are “tools” to describe the ridges. One may prefer
one method to describe high curvature and use the other to mark a line passing a bifurcation, a core or delta or extreme
values in curvature. But these additional interpretations will increase the encoding size and can only be used in a non
interoperable manner.
No assumption shall be made about the order of the line encodings in the record.
The skeleton shall be encoded only for image areas where the ridge lines are displayed with a sufficient
quality (Figure C.3).
NOTE 2 A one bit quality map is implicitly defined: At image areas with no encoded ridge line nearby the quality is 0 or
not sufficient and at a image area with an encoded ridge line nearby the quality is 1 or sufficient. With the zonal quality
data in the extended data area a multi-bit quality map may be defined in addition.
To judge the descriptive quality of the skeleton line encodings, one has to compare its reconstructed ridge
lines with the fingerprint image the encoding comes from. The reconstructed ridge lines shall describe the
fingerprint image in ridge position and structure, thus the following rules apply:
⎯ The reconstructed skeleton line polygon element shall be inside the area of the ridge it is describing for
most part of its length, i.e. at least 50%. A threshold in the range of 5% may be appropriate (best practice).
This value depends on the reconstruction and comparison quality requirements of the application.
⎯ The reconstructed skeleton line shall never be inside the area of any other ridge but the one it is
describing.
⎯ The reconstructed skeleton line shall preserve the topology of the ridges (see the definition of skeleton).
6.2.3 Constructing direction elements
For constructing the direction change α between two successive polygonal elements see Figure 3 and
i
Figure 4. First, draw a circle, of radius equal to the polygon element length, around the current point. Obtain
the intersection point between the circle and the skeleton line the in forward direction. The direction towards
this point is scaled according to the bit-depth of the direction code. The difference between this direction and
the previous line element is stored. The end point of this new polygon element with the fixed length and its
digitised direction serves as the next starting point.
The previous construction is done with direction independent step size. For the general direction dependent
step size replace the circle in the description above by the step size dependency defined in Clause 6.2.4.
In order to minimize integration of digitalisation error, each starting point must be computed with relatively high
accuracy, i.e. its resolution shall be at least 100 times finger than the spatial resolution of the minutiae.
If the skeleton line ends during a step it is linearly extended to fill the polygon element length. The line
encoding is completed with the minutiae type. For a true minutiae ending, its direction and the endpoint
coordinates are stored. For a virtual ending, the relative minutia position on the current step is stored.
If the direction change of the skeleton line cannot be described by a direction element, the line encoding shall
be interrupted by a “virtual continuation” and a new line encoding shall begin with the same point without
repeating the minutia data.
A bifurcation (trifurcation, etc.) (Figure 4 and Figure C.2) is represented by two (or more) skeleton line
encodings. One skeleton line passes the bifurcation without a real minutia at its position (Figure 4). All other
© ISO/IEC 2011 – All rights reserved 7
lines end or start here and are assigned the type “bifurcation”. It is recommended to use the straightest ridge
line passing the bifurcation without encoding a real minutia.
NOTE The most straight line is probably the dominant line, for which repetitive encodings with this part of ISO/IEC
19794 will not result in different line encodings - while the branching off line may swap from bifurcation to a ridge ending.
i.e. depending from the sensor conditions in some images a bifurcation seems to be a ending with the dominant line
passing through.
ridge skeleton
α
α
α : starting direction 6 (ridge end direction)
m
α
m
st
α : 1 direction change 0
nd
α : 2 direction change -3
Figure 3 — The direction encoding starting from a skeleton end point. A bit-depth of 4 is used for
direction change
ridge skeleton
valley
α
α
α
m
α : starting direction 3 (valley end direction)
m
st
α : 1 direction change +3
nd
α : 2 direction change -3
Figure 4 — The direction encoding starting from a skeleton bifurcation point. A bit-depth of 4 is used
for direction change
6.2.4 Direction element length
At most steps the direction change will be straight or nearly straight. With an increase step length on small
direction changes and reduced angular range the number of direction elements are reduced.
The direction change dependant step size (Figure 5) and resolution is characterised by 4 parameters:
⎯ The number of directions, N , on π or 180°. This gives the angular resolution, e. g. with N = 32 the
π π
resolution is 5,625°.
8 © ISO/IEC 2011 – All rights reserved
⎯ With the bit-depth for one direction code element one gets the number of possible directions at each step.
Since the change is symmetric to 0, the angular range is
bit-depth –1
α = ±(180° / N ) (2 –1) (1)
max π
NOTE 1 With a resolution of 5,625° and at a bit-depth of 4, this gives a maximal bending of α = ±39,375°
max
⎯ The step length for going straight, S .
s
⎯ The maximal displacement perpendicular to the current direction, S . In the representation header this
p
value is stored relative to the straight step size, S, as 256 × S /S. If 256 × S /S is set to 0 in the
s p s p s
representation header a constant step length of S for all direction elements is used.
s
The design characteristics for the direction dependant step size are
⎯ constant angular resolution, i. e. the distance between subsequent bending angles, α , is constant:
n
α −α = constant for all i ∈ {., -2, -1, 0, 1, 2, . }.
i i±1
G
⎯ constant spatial accuracy for all direction changes, i. e. the distance between subsequent steps, r is
,
i
G G
constant: r − r = constant for all i ∈ {., -2, -1, 0, 1, 2, . }.
i i±1
G
With these conditions the endings of all of possible directions, r for one step are located on two circlular
,
i
G
arches as shown in Figure 5. Thus the direction dependant step size, r is defined by:
,
i
2 2
⎧
(S + 4S )
s p
G sin(2ϕ − α ) for S > 0
⎪
i p
r = (2)
4S
⎨
i
p
⎪
S for S = 0
s p
⎩
G
with the angle α between current direction and step r defined as:
i
i
α = 180° i / N (3)
i π
and where:
⎯ ϕ = arctan(2S / S ),
p s
⎯ i ∈ {., -2, -1, 0, 1, 2, . } is the number of the direction change,
⎯ S is the step length for going straight,
s
⎯ S is the maximal displacement perpendicular to the current direction, and
p
⎯ N is the number of directions on π or 180°.
π
An example for the angle dependant step size is given in Annex C.
NOTE 2 The maximal curvature of the polygon is achieved with the minimal step size r = r(α ) from (2) at the
min max
maximal bending angle α from (1). A polygon with constant bending angle α and constant element length r has a
max max min
radius R = 180° r / (π α ). With S = 16, S = 3,75, and α = 39,375°, a minimal step length r = 3,9 and a radius of
min max s p max min
5,7 pixel at a resolution of 100 ppcm is attained. At high resolution level the step length is cut in half, r = 1,95, thereby
min
getting a radius of 2,85 pixels. With these settings a u-turn down to 0,6mm Sdiameter may be represented by a polygon
without interruption by a virtual continuation minutia.
© ISO/IEC 2011 – All rights reserved 9
r
r
r
r
α
α
current current
r
r
0 0
S direction
direction
s
S
s
ϕ
S
p
r
-7
r
-7
- a - -b -
Figure 5 — Step length dependency of direction change
(a) with S = 0 a constant step length is used, here at a angular resolution of 11,25°
p
(b) with S > 0 the steps at small bending angles are increased while steps at large bending angles are
p
short. Here again 15 directions are encoded at higher angular example resolution of 5,625°
6.3 Skeleton line neighbourhood index
The skeleton line gives the spatial connectivity in one dimension along the line. The direction perpendicular to
the line is given by the neighbouring lines. Thus to help any comparison algorithm to analyse and compare a
local two dimensional image area a link to the adjacent lines is very usefull. This link is given by list of
neighbours for each encoded line. (see C.5)
6.3.1 Adjacent lines
Two encoded ridge lines are neighbours to each other
a) if they are surrounding the same part of a valley
1) for a not interupted distance of least the width of the valley
2) or for the whole line length of one of the lines (i.e. one of the lines is too short to comply with the
condition 1)
b) and if the image has sufficient not interupted quality to support this ridge-valley-ridge-structure over the
whole area needed to comply the condition a).
6.3.2 Recording the neighbour indices
The line index is the sequencial number of the encoded lines. A new line is starting with a starting minutia of
any type (including continuation minutiae).
For each line with index number L one gets a list of neighbouring lines with indices A . If line 1 is a neighbour
i
of line 2 also line 2 is a neighbour of line 1. So to get each neighbour relation only once, only lines with an
index number A ≤ L are listed as neighbour of line L. This neighbourhood index list, including the line index L,
i
is sorted by decreasing line index:
L, A , …, A where L≥A , A >A , …, A >A ,
1 n 1 1 2 n-1 n
10 © ISO/IEC 2011 – All rights reserved
where n is the number of neighbourhood entries for Line L. Since a line may be a neighbour to itself (e.g. at a
u-turn), the first number in this list A may be equal L. But since it is not usefull to list a neighourhood relation
twice, any of the other indices shall be different i.e. A >A .
i-1 i
Then the subsequent differences between the line index L and the neighbour indices A are calculated:
i
L-A , A -A , …, A -A , (4)
1 1 2 n-1 n
The following data is recorded for one line:
⎯ The number of neighbourhood entries for this line
⎯ followed by the list of index differences.
Concatenating the neighbour index data for all encoded lines in the same order as the line encodings in the
record gives the skeleton line neighbouring index list.
The skeleton line neighbourhood index data starts with the bit-depth necessary to store the elements in the
index list. The bit-depth is recorded in one byte followed by the neighbourhood index list, packed to bytes with
a bit-depth given.
7 Finger pattern skeletal data record format
7.1 Introduction
The record format contains fields for both public and extended (proprietary) finger pattern skeletal interchange
data. With the exception of the format identifier and the version number for this part of ISO/IEC 19794, which
are null-terminated ASCII character strings, all data is represented in binary format. There are no record
separators or field tags; fields are parsed by byte count.
7.1.1 Pattern record format summary
Table 1 is a reference for the fields present in the finger pattern skeletal data record format. Optional extended
data formats for ridge counts, core and delta data, zonal quality information and sweat pore position data are
not represented here.
© ISO/IEC 2011 – All rights reserved 11
Table 1 — Finger pattern skeletal data record format summary
Field Size Values Notes
Format Identifier 4 bytes 46534b00 “FSK ” – finger pattern skeletal record
HEX
(‘FSK’ 0 )
HEX
Version of this part of ISO/IEC 19794 4 bytes 30323000 This number indicates the second
HEX
('0''2''0'00 ) version of this part of ISO/IEC 19794
HEX
used for constructing the iris image
data record and shall be placed in four
bytes. This version number shall
consist of three ASCII numerals
followed by a zero byte as a NULL
string terminator.
Length of total record in bytes 4 bytes
Number of finger representations in 2 bytes 1 to 255
record
Certification flag 1 bytes 00 no representation contains a
HEX
certification record
01 all representations contain a
HEX
certification record
Representation length 4 bytes The representation-length field
denotes the length in bytes of the
representation including the
representation header fields.
Capture date and time 9 bytes
...








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...