ISO/IEC 2004 ­ All rights reserved Document type: International Standard Document subtype: Document stage: (40) Enquiry Document language: E ISO/IEC JTC 1/SC 37 N 464 Date: 2004-04-05 ISO/IEC FCD 19794-2 ISO/IEC JTC 1/SC 37 Secretariat: ANSI Biometrics -- Biometric Data Interchange Formats -- Part 2: Finger Minutiae Data Biométrie -- Formats ďéchanges de données biométriques -- Partie 2: Dates des minuties du doigt Warning This document is not an ISO International Standard. It is distributed for review and comment. It is subject to change without notice and may not be referred to as an International Standard. Recipients of this draft are invited to submit, with their comments, notification of any relevant patent rights of which they are aware and to provide supporting documentation. FINAL COMMITTEE DRAFT ISO/IEC FCD 19794-2 ISO/IEC 2004 ­ All rights reserved 1 Copyright notice This ISO document is a Draft International Standard and is copyright-protected by ISO. Except as permitted under the applicable laws of the user's country, neither this ISO draft nor any extract from it may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, photocopying, recording or otherwise, without prior written permission being secured. Requests for permission to reproduce should be addressed to 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 Reproduction may be subject to royalty payments or a licensing agreement. Violators may be prosecuted. 2 ISO/IEC 2004 ­ All rights reserved Contents Page 1 Scope...................................................................................................................................................6 2 Conformance.......................................................................................................................................6 3 Normative references .........................................................................................................................6 4 Terms and definitions.........................................................................................................................6 5 Symbols (and abbreviated terms)....................................................................................................10 6 Minutiae Extraction...........................................................................................................................10 6.1 Principle.............................................................................................................................................10 6.2 Minutia Type......................................................................................................................................10 6.3 Minutia Location................................................................................................................................10 6.3.1 Coordinate System ...........................................................................................................................11 6.3.2 Minutia Placement on a Ridge Ending (encoded as Valley Skeleton Bifurcation Point).............11 6.3.3 Minutiae Placement on a Ridge Bifurcation (encoded as a Ridge Skeleton Bifurcation Point)..................................................................................................................................................12 6.3.4 Minutiae Placement on a Ridge Skeleton Endpoint .......................................................................12 6.3.5 Minutiae Placement on Other Minutiae Types ................................................................................13 6.4 Minutia Direction...............................................................................................................................13 6.4.1 Angle Conventions ...........................................................................................................................13 6.4.2 Minutia Direction of a Ridge Ending (encoded as Valley Skeleton Bifurcation Point) ................14 6.4.3 Minutia Direction of a Ridge Bifurcation (encoded as Ridge Skeleton Bifurcation Point) ..........14 6.4.4 Minutia Direction of a Ridge Skeleton End Point ...........................................................................14 6.5 Minutia Type Matching .....................................................................................................................14 7 Finger Minutiae Record Format .......................................................................................................14 7.1 Introduction.......................................................................................................................................14 7.2 Record Organization.........................................................................................................................14 7.3 Record Header ..................................................................................................................................15 7.3.1 Format Identifier................................................................................................................................15 7.3.2 Version Number ................................................................................................................................15 7.3.3 Length of Record ..............................................................................................................................15 7.3.4 Capture Equipment Certifications ...................................................................................................15 7.4 Single Finger Record Format...........................................................................................................16 7.4.1 Finger Header....................................................................................................................................16 7.4.2 Finger Minutiae Data.........................................................................................................................17 7.5 Extended Data ...................................................................................................................................18 7.5.1 Common Extended Data Fields .......................................................................................................18 7.5.2 Ridge Count Data Format.................................................................................................................19 7.5.3 Core and Delta Data Format.............................................................................................................21 7.5.4 Zonal Quality Data .............................................................................................................................23 7.6 Minutiae Record Format Summary..................................................................................................25 8 Finger Minutiae Card Format ...........................................................................................................26 8.1 Normal Size Finger Minutiae Format ...............................................................................................26 8.2 Compact Size Finger Minutiae Format ............................................................................................26 8.3 Number of Minutiae, Minutiae Ordering Sequence and Truncation..............................................27 8.3.1 General Aspects................................................................................................................................27 8.3.2 Biometric matching algorithm parameters .....................................................................................27 8.3.3 Number of Minutiae...........................................................................................................................27 8.3.4 Minutiae Order...................................................................................................................................28 9 CBEFF Format Owner and Format Types .......................................................................................29 Annex A (normative) Record Format Diagrams .........................................................................................31 A.1 Overall Record Format .....................................................................................................................31 A.2 Record Header ..................................................................................................................................31 A.3 Single Finger View Minutiae Record................................................................................................31 A.4 Finger Minutiae Data.........................................................................................................................32 ISO/IEC 2004 ­ All rights reserved 3 A.5 Extended Data...................................................................................................................................32 Annex B (informative) Example Data Record .............................................................................................33 B.1 Data....................................................................................................................................................33 B.2 Example Data Format Diagrams ......................................................................................................34 B.3 Raw Data for the Resulting Minutiae Record..................................................................................35 Annex C (informative) Handling of Finger Minutiae Card Formats...........................................................36 C.1 Enrollment .........................................................................................................................................36 C.1.1 Number of minutiae ..........................................................................................................................36 C.1.2 Number of required finger presentations........................................................................................36 C.2 Matching ............................................................................................................................................36 C.2.1 Matching conditions .........................................................................................................................37 C.2.2 Threshold Value................................................................................................................................37 C.2.3 Retry Counter....................................................................................................................................38 C.3 Security Aspects of Finger Minutiae Presentation to the Card .....................................................38 Annex D (normative) Fingerprint Image Quality Specifications.................................................................41 4 ISO/IEC 2004 ­ 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-2 was prepared by Joint Technical Committee ISO/IEC JTC 1, Subcommittee SC 37, . This second/third/... edition cancels and replaces the first/second/... edition (), [clause(s) / subclause(s) / table(s) / figure(s) / annex(es)] of which [has / have] been technically revised. ISO/IEC 19794 consists of the following parts, under the general title Biometrics -- 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 Behavioural Data Part 8: Finger Pattern Skeletal Data ISO/IEC 2004 ­ All rights reserved 5 Introduction In the interest of implementing interoperable biometric recognition systems, this ISO/IEC Standard establishes a data interchange format for minutiae-based fingerprint capture and recognition equipment. Representation of fingerprint data using minutiae is a widely used technique in many application areas. This Standard defines specifics of the extraction of key points (called minutiae) from fingerprint ridge patterns. Two types of data formats are then defined: one for general storage and transport, one for use in card-based systems; the card format has a standard and a compact expression. 6 ISO/IEC 2004 ­ All rights reserved Biometrics -- Biometric Data Interchange Formats -- Part 2: Finger Minutiae Data 1 Scope This Standard specifies a concept and data formats for representation of fingerprints using the fundamental notion of minutiae. The standard is generic, in that it may be applied and used in a wide range of application areas where automated fingerprint recognition is involved. The Standard contains definitions of relevant terms, a description of how minutiae points shall be determined, data formats for containing the data for both general use and for use with cards, and conformance information. Guidelines and values for matching and decision parameters are provided in an informative Annex. 2 Conformance A system conforms to this standard if it satisfies the mandatory requirements herein for extraction of minutiae points from a fingerprint image as described in Section 6 and the generation of a minutiae data format as described in Section 7 (for general data interchange use) or Section 8 (for use with cards). 3 Normative references The following referenced documents are indispensable for the application of this document. For dated references, subsequent amendments to or revisions of any of these publications apply to this standard only when incorporated in it by amendment or revision. For undated references the latest edition of the publication referred to applies (including amendments). ISO/IEC CD3 19785-1:2003 ­ Biometrics ­ Common Biometric Exchange Formats Framework (CBEFF) ­ Part 1: Data Element Specification ISO/IEC WD 19785-2:2003 ­ Biometrics ­ Common Biometric Exchange Formats Framework (CBEFF) ­ Part 2: Procedures of the Operation of the Biometric Registration Authority ISO/IEC FCD 19784:2003­ Information technology ­ BioAPI Specification ANSI/NIST-ITL 1-2000 ­ Standard Data Format for the Interchange of Fingerprint, Facial & Scar. Mark & Tattoo (SMT) Information ISO/IEC 7816-11 Identification Cards ­ Integrated circuits cards, Part 11: Personal verification through biometric methods 4 Terms and definitions For the purposes of this document, the following terms and definitions apply. 4.1 Algorithm A sequence of instructions that tell a biometric system how to solve a particular problem. An algorithm will have a finite number of steps and is typically used by the biometric engine (i.e., the biometric system software) to compute whether a biometric sample and template are a match. ISO/IEC 2004 ­ All rights reserved 7 4.3 Biometrics [harmonized] [automated] recognition of [living] persons based on observation of behavioral and biological (anatomical and physiological) characteristics. 4.3 Biometric [harmonized] Pertaining to the field of biometrics.. 4.4 Biometric Data Data encoding a feature or features used in biometric verification. 4.5 Biometric Information Template A constructed data object in a card containing information needed by the outside world for a verification process, see ISO/IEC 7816-11 4.6 Biometric Sample [harmonized] Information obtained from a biometric device, either directly or after further processing. 4.7 Biometric System An automated system capable of: 1. capturing a biometric sample from an end user; 2. extracting biometric data from that sample; 3. comparing the biometric data with that contained in one or more reference templates; 4. deciding how well they match; and 5. indicating whether or not an identification or verification of identity has been achieved. 4.8 Capture The process of taking a biometric sample from an end user. 4.9 Cell A rectangular region defined by a uniform and non-overlapping division of the image. 4.10 Comparison The process of comparing a biometric sample with a previously stored reference template or templates. 4.11 Claimant A person submitting a biometric sample for verification or identification while claiming a legitimate or false identity. 4.12 Core A core is the topmost point on the innermost recurving ridgeline of a fingerprint. Generally, the core is placed upon or within the innermost recurve of a loop. 4.13 Database Any storage of biometric templates and related end user information. 8 ISO/IEC 2004 ­ All rights reserved 4.14 Delta A Delta is that point on a ridge at or nearest to the point of divergence of two type lines, and located at or directly in front of the point of divergence. 4.15 End User A person who interacts with a biometric system to enroll or have his/her identity checked. Contrast with "User". 4.16 Enrollment The process of collecting biometric samples from a person and the subsequent preparation and storage of biometric reference templates representing that person's identity. 4.17 Extraction The process of converting a captured biometric sample into biometric data so that it can be compared to a reference template; sometimes called "characterization". 4.18 Friction Ridge The ridges present on the skin of the fingers and toes, the palms and soles of the feet, which makes contact with an incident surface under normal touch. On the fingers, the unique patterns formed by the friction ridges make up fingerprints. 4.19 Identification / Identify The one-to-many process of comparing a submitted biometric sample against all of the biometric reference templates on file to determine whether it matches any of the templates and, if so, the identity of the enrollee whose template was matched. The biometric system using the one-to-many approach is seeking to find an identity amongst a database rather than verify a claimed identity. Contrast with `Verification'. 4.20 Live Capture The process of capturing a biometric sample by an interaction between an end user and a biometric system. 4.21 Live-Scan Print A fingerprint image that is produced by scanning or imaging a live finger to generate an image of the friction ridges. 4.22 Match / Matching The process of comparing a biometric sample against a previously stored template and scoring the level of similarity. 4.23 Minutia (single) Minutiae (pl) Friction ridge characteristics that are used to individualize a fingerprint. Minutiae occur at points where a single friction ridge deviates from an uninterrupted flow. Deviation may take the form of ending, division, or a more complicated "composite" type. 4.24 Population The set of end-users for the application. 4.25 Record The template and other information about the end-user (e.g. access permissions). ISO/IEC 2004 ­ All rights reserved 9 4.26 Resolution The number of pixels (picture elements) per unit distance in the image of the fingerprint. 4.27 Ridge Bifurcation The minutiae point assigned to the location at which a friction ridge splits into two ridges or, alternatively, where two separate friction ridges combine into one. 4.28 Ridge Ending The minutiae point assigned to the location at which a friction ridge terminates or, alternatively, begins. A ridge ending is defined as the bifurcation of the adjacent valley - the location at which a valley splits into two valleys or, alternatively, at which two separate valleys combine into one. 4.29 Ridge Skeleton Endpoint The minutiae point assigned to the location at which a ridge skeleton ends. A ridge skeleton endpoint is defined as the ending of the skeleton of a ridge. 4.30 Skeleton The single-pixel-wide representation of a ridge or valley obtained by successive symmetric thinning operations. The skeleton is also known as the medial axis. 4.31 Template / Reference Template Data, which represents the biometric measurement of an enrollee, used by a biometric system for comparison against subsequently submitted biometric samples. NOTE - this term is not restricted to mean only data used in any particular recognition method, such as template matching. 4.32 Typeline Type Lines are the two innermost ridges that start parallel, diverge, and surround or tend to surround the pattern area. 4.33 User The client to any biometric vendor. The user must be differentiated from the end user and is responsible for managing and implementing the biometric application rather than actually interacting with the biometric system. 4.34 Valley The area surrounding a friction ridge, which does not make contact with an incident surface under normal touch; the area of the finger between two friction ridges. 4.35 Valley Bifurcation The point at which a valley splits into two valleys or, alternatively, where two separate valleys combine into one. 4.36 Verification / Verify The process of comparing a submitted biometric sample against the biometric reference template of a single enrollee whose identity is being claimed, to determine whether it matches the enrollee's template. Contrast with `Identification'. 10 ISO/IEC 2004 ­ All rights reserved 5 Symbols (and abbreviated terms) The following abbreviations apply for the document: BER Basic Encoding Rules BIT Biometric Information Template CBEFF Common Biometric Exchange Formats Framework DO Data Object FAR False Acceptance Rate FRR False Rejection Rate ICC Integrated Circuit Card RCE Ridge Count Extraction RFU Reserved for Future Use TLV Tag-Length-Value 6 Minutiae Extraction This section defines the placement of minutiae on the fingerprint. Compatible minutiae extraction is required for interoperability between different finger matchers for the purposes of matching an individual against a previously collected and stored finger record. The interoperability is based on defining the finger minutiae extraction rules, record formats and card formats that are common to many finger matchers for acceptable matching accuracy, while allowing for extended data to be attached for use with equipment that is compatible with it. 6.1 Principle Establishment of a common feature-based representation must rest on agreement on the fundamental notion for representing a fingerprint. Minutiae are points located at the places in the fingerprint image where friction ridges end or split into two ridges. Describing a fingerprint in terms of the location and direction of these ridge endings and bifurcations provides sufficient information to reliably determine whether two fingerprint records are from the same finger. The specifications of minutia location and minutia direction described below accomplish this. See Figure 1 for an illustration of the definitions below. 6.2 Minutia Type Each minutia point has a "type" associated with it. There are two major types of minutia: a "ridge skeleton end point" and a "ridge skeleton bifurcation point" or split point. There are other types of "points of interest" in the friction ridges that occur much less frequently and are more difficult to define precisely. More complex types of minutiae are usually a combination of the basic types defined above. Some points are neither a ridge ending nor a bifurcation. This standard therefore defines additionally a type named "other", which shall be used in such a way that that the matching conditions specified in clause 6.5 apply. Therefore, the following types are distinguished: - ridge ending (also identifiable as a valley skeleton bifurcation point); - ridge bifurcation - other. A ridge ending may -- alternatively -- be regarded as a valley bifurcation depending on the method to determine its position (see below). The format type of the biometric information template indicates the use of ridge endings or valley bifurcations. 6.3 Minutia Location The minutia location is represented by its horizontal and vertical position. The minutiae determination strategy considered in this document relies on skeletons derived from a digital fingerprint image. The ridge skeleton is ISO/IEC 2004 ­ All rights reserved 11 computed by thinning down the ridge area to single pixel wide lines. The valley skeleton is computed by thinning down the valley area to single pixel wide lines. If other methods are applied, they should approximate the skeleton method, i.e. location and angle of the minutiae should be equivalent to the skeleton method. 6.3.1 Coordinate System The coordinate system used to express the minutia points of a fingerprint shall be a Cartesian coordinate system. Points shall be represented by their X and Y coordinates. The origin of the coordinate system shall be the upper left corner of the original image with X increasing to the right and Y increasing downward. Note that this is in agreement with most imaging and image processing use. When viewed on the finger, X increases from right to left as shown in Figure 1. All X and Y values are non-negative. The X and Y coordinates of the minutia points shall be in pixel units, with the spatial resolution of a pixel given in the "X Resolution" and "Y Resolution" fields of the format. X and Y resolutions are stated separately. finger y xx y latent print finger y xx y latent print Figure 1 ­ Coordinate system For the finger minutiae record format, the resolution of the coordinate system is specified in the record header, see 7.3.8 and 7.3.9. For the finger minutiae card format, the resolution of the X and Y coordinates of the minutia points shall be in metric units. The granularity is one bit per one hundredth of a millimeter in the normal format and one tenth of a millimeter in the compact format: 1 unit = 10-2 mm (normal format) or 10-1 mm (compact format). 6.3.2 Minutia Placement on a Ridge Ending (encoded as Valley Skeleton Bifurcation Point) The minutia point for a ridge ending shall be defined as the point of forking of the medial skeleton of the valley area immediately in front of the ridge ending. If the valley area were thinned down to a single-pixel-wide skeleton, the point where the three legs intersect is the location of the minutia. In simpler terms, the point where the valley "Y"'s, or (equivalently) where the three legs of the thinned valley area intersect (see Fig. 2). 12 ISO/IEC 2004 ­ All rights reserved valley ridge Figure 2 - Location and direction of a ridge ending (encoded as valley skeleton bifurcation point) 6.3.3 Minutiae Placement on a Ridge Bifurcation (encoded as a Ridge Skeleton Bifurcation Point) The minutia point for a ridge bifurcation shall be defined as the point of forking of the medial skeleton of the ridge. If the ridges were thinned down to a single-pixel-wide skeleton, the point where the three legs intersect is the location of the minutia. In simpler terms, the point where the ridge "Y"'s, or (equivalently) where the three legs of the thinned ridge intersect (see Figure 3). Figure 3 - Location and direction of a ridge bifurcation (encoded as ridge skeleton bifurcation point) 6.3.4 Minutiae Placement on a Ridge Skeleton Endpoint The minutia point for a ridge skeleton endpoint shall be defined as the center point of the ending ridge. If the ridges in the digital fingerprint image were thinned down to a single-pixel-wide skeleton, the position of the minutia would be the coordinates of the skeleton point with only one neighbor pixel belonging to the skeleton (see Figure 4). valley ridge ISO/IEC 2004 ­ All rights reserved 13 Figure 4 - Location and direction of a ridge skeleton endpoint 6.3.5 Minutiae Placement on Other Minutiae Types For minutiae other than a bifurcation or ridge ending the position and angle calculations shall be done in such a way that the matching conditions in clause 6.5 apply. 6.3.6 Usage of the Minutiae Placement by the Record Formats and the Card Formats The record formats use - ridge ending and ridge bifurcation points. The card formats use - ridge ending and ridge bifurcation points, or - ridge skeleton end points and ridge bifurcation points depending on the specific algorithms implemented. In case of on-card matching, a card will request from the card usage system biometric verification data in the format compliant to its algorithm. The requested format is either implicitly known to the card usage system or can be retrieved in the Biometric Information Template, which contain the CBEFF data elements format owner and format type ­ see ISO/IEC 19785-1 and ISO/IEC 7816-11. 6.4 Minutia Direction 6.4.1 Angle Conventions The minutiae angle is measured increasing counter-clockwise starting from the horizontal axis to the right. In the record formats, the angle of a minutia is scaled to fit the granularity of 1.40625 (360/256) degrees per least significant bit. The angle coding for the card formats differ for the normal size and the compact size formats; refer to section 8.1 and 8.2. valley ridge 14 ISO/IEC 2004 ­ All rights reserved 6.4.2 Minutia Direction of a Ridge Ending (encoded as Valley Skeleton Bifurcation Point) A ridge ending (encoded as valley skeleton bifurcation point) has three arms of valleys meeting in one point. Two valleys encompass an acute angle. The tangent to the third valley lying opposite of the enclosed ridge defines the direction of a valley bifurcation. The direction is again measured as the angle the tangent forms with the horizontal axis to the right (see Figure 2). 6.4.3 Minutia Direction of a Ridge Bifurcation (encoded as Ridge Skeleton Bifurcation Point) A ridge bifurcation (encoded as ridge skeleton bifurcation point) has three arms of ridges meeting in one point. Two ridges encompass an acute angle. The tangent to the third ridge lying opposite of the enclosed valley defines the direction of a ridge bifurcation. The direction is again measured as the angle the tangent forms with the horizontal axis to the right (see Figure 3). 6.4.4 Minutia Direction of a Ridge Skeleton End Point The direction of a ridge skeleton endpoint is defined as the angle that the tangent to the ending ridge encompasses with the horizontal axis to the right (see Figure 4). Ridge skeleton end points are only used in one type of the card formats, whereas in the other type ridge ending and ridge birfurcation is used as in the record format. 6.5 Minutia Type Matching In a matching process, the different minutiae types shall be matched according to the following Table 1. Matchers may choose to assign lower weights (or importance) to a match of type 00 to 01 or 10, than to a match of type 00 to 00, 01 to 01, or 10 to 10. Table 1 - Minutiae Type Matching Type of verification minutiae Match with type of reference minutiae 00 00, 01, 10 01 00, 01 10 00, 10 00 = other 01 = ridge ending (encoded as valley skeleton bifurcation point), or ridge skeleton end point, see note 10 = ridge bifurcation (encoded as ridge skeleton bifurcation point) 7 Finger Minutiae Record Format 7.1 Introduction The minutiae record format shall be used to achieve interoperability between finger matchers providing a oneto-one verification. The minutia data shall be represented in a common format, containing both basic and extended data. With the exception of the Format Identifier and the Version number for the standard, 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.2 Record Organization The organization of the record is as follows: ISO/IEC 2004 ­ All rights reserved 15 * A fixed-length (24-byte) record header containing information about the overall record, including the number of fingers represented and the overall record length in bytes; * A Single Finger record for each finger, consisting of: * A fixed-length (4-byte) header containing information about the data for a single finger, including the number of minutiae; * A series of fixed-length(6-byte) minutia point descriptions, including the position, type, angle and quality of the minutia point; * One or more "extended" data areas for each finger, containing optional or vendor-specific information. All multibyte quantities are represented in Big-Endian format; that is, the more significant bytes of any multibyte quantity are stored at lower addresses in memory than (and are transmitted before) less significant bytes. All numeric values are fixed-length integer quantities, and are unsigned quantities. 7.3 Record Header There shall be one and only one record header for the minutiae record, to hold information describing the identity and characteristics of device that generated the minutiae data 7.3.1 Format Identifier The Finger Minutiae Record shall begin with the three ASCII characters "FMR". followed by a zero byte as a NULL string terminator. 7.3.2 Version Number The version number for the version of this standard used in constructing the minutiae record 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. The first and second character will represent the major revision number and the third character will represent the minor revision number. Upon approval of this specification, the version number shall be " 20" (an ASCII space followed by an ASCII `2' and an ASCII `0'). 7.3.3 Length of Record The length of the entire record shall be recorded in four bytes. 7.3.4 Capture Equipment Certifications This field contains four bits used to indicate that the capture equipment used to capture the original fingerprint image was compliant with a standard certification method for such equipment. Currently, only two bits are defined. If the most significant bit is `1', the original capture equipment was certified to be compliant with the specifications in Annex D, copied from the US Federal Bureau of Investigation's Image Quality Specifications, Appendix F. The least significant of the four bits is reserved for a future ISO finger image capture equipment certification. The two additional bits are reserved for future image quality certifications. 7.3.5 Capture Device Type ID The capture device type ID shall be recorded in twelve bits. This ID is used to identify the type or model of capture device used to acquire the original biometric sample. A value of all zeros will be acceptable and will indicate that the capture device type ID is unreported. The vendor determines the value for this field. Applications developers may obtain the values for these codes from the vendor. Reporting the capture device type ID is optional but recommended. The value "unreported" may not be allowable in some applications. 7.3.6 Size of Scanned Image in X direction The size of the original image in pixels in the X direction shall be contained in two bytes. 16 ISO/IEC 2004 ­ All rights reserved 7.3.7 Size of Scanned Image in Y direction The size of the original image in pixels in the Y direction shall be contained in two bytes. 7.3.8 X (horizontal) resolution The resolution of the minutiae coordinate system shall be recorded in two bytes having the units of pixels per centimeter. The value of the sensor X resolution shall not be zero. 7.3.9 Y (vertical) resolution The resolution of the minutiae coordinate system shall be recorded in two bytes having the units of pixels per centimeter. The value of the sensor Y resolution shall not be zero. 7.3.10 Number Of Finger Views The total number of finger views contained in the minutiae record shall be recorded in one byte. In cases where there is more than one view of any finger, this number will be greater than the number of fingers. 7.3.11 Reserved Byte This field is reserved for future use, and to align the end of the record header on a long-word (four byte) boundary. For the current version of the standard, this field shall be set to zero. 7.4 Single Finger Record Format 7.4.1 Finger Header A finger header shall start each section of finger data providing information for that finger. There shall be one finger header for each finger contained in the finger minutiae record. The finger header will occupy a total of four bytes as described below. Note that it is permissible for more than one finger record to represent the same finger, with (presumably) different data, perhaps in the private area. 7.4.1.1 Finger Position The finger position shall be recorded in one byte. The codes for this byte shall be as defined in Table 5 of ANSI/NIST-ITL 1-2000, "Data Format for the Interchange of Fingerprint Information". This table is reproduced here in Table 2 for convenience. Only codes 0 through 10 shall be used; the "plain" codes are not relevant for this standard. 7.4.1.2 View Number The view number shall be recorded in four bits. If more than one finger minutiae record in a general record is from the same finger, each minutiae record shall have a unique view number. The combination of finger location and view number shall uniquely identify a particular minutiae record within a general record. Multiple finger minutiae records from the same finger shall be numbered with increasing view numbers, beginning with zero. Where only one finger minutiae record is taken from each finger, this field shall be set to 0. ISO/IEC 2004 ­ All rights reserved 17 Table 2 - Finger Position Codes Finger position Code Unknown finger 0 Right thumb 1 Right index finger 2 Right middle finger 3 Right ring finger 4 Right little finger 5 Left thumb 6 Left index finger 7 Left middle finger 8 Left ring finger 9 Left little finger 10 Plain right thumb 11 Plain left thumb 12 Plain right four fingers 13 Plain left four fingers 14 7.4.1.3 Impression Type The impression type of the finger images that the minutiae data was derived from shall be recorded in four bits. The codes for this byte are shown in Table 3. These codes are compatible with Table 4 of ANSI/NIST-ITL 12000, "Data Format for the Interchange of Fingerprint Information", with the addition of the "swipe" type. The "swipe" type identifies data records derived from image streams generated by sliding the finger across a small sensor. Only codes 0 through 3 and 8 shall be used; the "latent" codes are not relevant for this standard. Table 3 - Impression Type Codes Description Code Live-scan plain 0 Live-scan rolled 1 Nonlive-scan plain 2 Nonlive-scan rolled 3 Latent impression 4 Latent tracing 5 Latent photo 6 Latent lift 7 Swipe 8 7.4.1.4 Finger Quality The quality of the overall finger minutiae data shall be between 0 and 100 and recorded in one byte. This quality number is an overall expression of the quality of the finger record, and represents quality of the original image, of the minutia extraction and any additional operations that may affect the minutia record. A value of 0 shall represent the lowest possible quality and the value 100 shall represent the higher possible quality. The numeric values in this field will be set in accordance with the general guidelines contained in Section 2.1.42 of ANSI/INCITS 358-2002, "BioAPI H-Level Specification Version 1.1". The matcher may use this value to determine its certainty of verification. 7.4.1.5 Number of Minutiae The number of minutiae recorded for the finger shall be recorded in one byte. 7.4.2 Finger Minutiae Data The finger minutiae data for a single finger shall be recorded in blocks of six bytes per minutia point. The order of the minutiae is not specified. 18 ISO/IEC 2004 ­ All rights reserved 7.4.2.1 Minutiae Type The type of minutiae will be recorded in the first two bits of the upper byte of the X coordinate. There will be two bits reserved at the beginning of the upper byte of the Y coordinate for future use. The bits "00" will represent a minutia of "other" type, "01" will represent a ridge ending and "10" will represent a ridge bifurcation. 7.4.2.2 Minutiae Position The X coordinate of the minutia shall be recorded in the rest of the first two bytes (fourteen bits). The Y coordinate shall be placed in the lower fourteen bits of the following two bytes. The coordinates shall be expressed in pixels at the resolution indicated in the record header. Note that position information shall be present for each minutia point, regardless of type, although position for minutiae of type "other" is vendor defined. 7.4.2.3 Minutiae Angle The angle of the minutia shall be recorded in one byte in units of 1.40625 (360/256) degrees. The value shall be a non-negative value between 0 and 255, inclusive. For example, an angle value of 16 represents 22.5 degrees. Note that angle information shall be present for each minutia point, regardless of type, although angle for minutiae of type "other" is vendor defined. 7.4.2.4 Minutiae Quality The quality of each minutia shall be recorded in one byte. The quality figure shall range from 100 as a maximum to 1 as a minimum. In interoperable use, only the relative values of minutiae quality values is meaningful; there is no guaranteed relationship between minutiae quality values assigned by different equipment suppliers. Any equipment that does not supply quality information for individual minutia points shall set all quality values to 0. 7.5 Extended Data The extended data section of the finger minutiae record is open to placing additional data that may be used by the matching equipment. The size of this section shall be kept as small as possible, augmenting the data stored in the standard minutiae section. The extended data for each finger view shall immediately follow the standard minutiae data for that finger view and shall begin with the Extended Data Block Length field. More than one extended data area may be present for each finger and the extended data block length field will be the summation of the lengths of each extended data segment. The data block length is used as a signal for the existence of the extended data while the individual extended data length fields are used as indices to parse the extended data. Note that the extended data area cannot be used alone, without the standard portion of the minutiae record. While the extended data area allows for inclusion of proprietary data within the minutiae format, this is not intended to allow for alternate representations of data that can be represented in open manner as defined in this standard. In particular, ridge count data, core and delta data or zonal quality information shall not be represented in proprietary manner to the exclusion of the publicly defined formats in this standard. Additional ridge count, core and delta or zonal quality information may be placed in a proprietary extended data area if the standard fields defined below are also populated. The intention of this standard is to provide inter- operability. 7.5.1 Common Extended Data Fields 7.5.1.1 Extended Data Block Length All minutiae records shall contain the extended data block length. This field will signify the existence of extended data. A value of all zeros (0x0000 hexadecimal) will indicate that there is no extended data and that the file will end or continue with the next finger view. A nonzero value will indicate the length of all extended data starting with the next byte. The block length (7.5.1.1) will then be followed by the type identification code (7.5.1.2), length of data field (7.5.1.3) and the data area (7.5.1.4). ISO/IEC 2004 ­ All rights reserved 19 7.5.1.2 Extended Data Area Type Code The type identification code shall be recorded in two bytes, and shall distinguish the format of the extended data area (as defined by the Vendor specified by the PID code in the CBEFF header). A value of zero in both bytes is a reserved value and shall not be used. A value of zero in the first byte, followed by a non-zero value in the second byte, shall indicate that the extended data section has a format defined in this standard. A nonzero value in the first byte shall indicate a vendor specified format, with a code maintained by the vendor. Refer to Table 3 for a summary of the type identification codes. If the Extended Data Block Length (7.5.1.1) for the finger view is zero, indicating no extended data, this field shall not be present. Table 4 - Extended Data Area Type Codes First byte Second byte Identification 0x00 0x00 reserved 0x00 0x01 ridge count data (Section 7.5.2) 0x00 0x02 core and delta data (Section 7.5.3) 0x00 0x03 zonal quality data (Section 7.5.4) 0x00 0x04-0xFF reserved 0x01-0xFF 0x00 reserved 0x01-0xFF 0x01-0xFF vendor-defined extended data 7.5.1.3 Extended Data Area Length The length of the extended data section shall be recorded in two bytes. This value is used to skip to the next extended data if the matcher cannot decode and use this data. If the Extended Data Block Length (7.5.1.1) for the finger view is zero, indicating no extended data, this field shall not be present. 7.5.1.4 Data Section The data field of the extended data is defined by the equipment that is generating the finger minutiae record, or by common extended data formats contained in this standard; see section 7.5.2, 7.5.3 and 7.5.4. If the Extended Data Block Length (7.5.1.1) for the finger view is zero, indicating no extended data, this field shall not be present. 7.5.2 Ridge Count Data Format If the extended data area type code is 0x0001, the extended data area contains ridge count information. This format is provided to contain optional information about the number of fingerprint ridges between pairs of minutiae points. Each ridge count is associated with a pair of minutiae points contained in the minutiae data area defined in section 7.4.2; no ridge information may be contained that is associated with minutiae not included in the corresponding minutiae area. Ridge counts shall not include the ridges represented by either of the associated minutiae points. Refer to Figure 5 for clarification; the ridge count between minutiae A and B is 1, while the ridge count between minutiae B and C is 2. 20 ISO/IEC 2004 ­ All rights reserved Figure 5 - Example Ridge Count data 7.5.2.1 Ridge Count Extraction Method The ridge count data area shall begin with a single byte indicating the ridge count extraction method. Ridge counts associated with a particular center minutiae point are frequently extracted in one of two ways: by extracting the ridge count to the nearest neighboring minutiae in each of four angular regions (or quadrants), or by extracting the ridge count to the nearest neighboring minutiae in each of eight angular regions (or octants). The ridge count extraction method field shall indicate the extraction method used, as shown in Table 5. Table 5 - Ridge Count Extraction Method Codes RCE method field value Extraction method Comments 0x00 Non-specific No assumption shall be made about the method used to extract ridge counts, nor their order in the record; in particular, the counts may not be between nearest-neighbor minutiae 0x01 Four-neighbor (quadrants) For each center minutiae used, ridge count data was extracted to the nearest neighboring minutiae in four quadrants, and ridge counts for each center minutiae are listed together 0x02 Eight-neighbor (octants) For each center minutiae used, ridge count data was extracted to the nearest neighboring minutiae in eight octants, and ridge counts for each center minutiae are listed together If either of these specific extraction methods are used, the ridge counts shall be listed in the following way: * all ridge counts for a particular center minutiae point shall be listed together; * the center minutiae point shall be the first minutiae point references in the three-byte ridge count data; * if a given quadrant or octant has no neighboring minutiae in it, a ridge count field shall be recorded with both the minutiae index and the ridge count fields set to zero (so that, for each center minutiae, there shall always be four ridge counts recorded for the quadrant method and eight ridge counts recorded for the octant method); * no assumption shall be made regarding the order of the neighboring minutiae. A B C ridge count = 1 ridge count = 2 ISO/IEC 2004 ­ All rights reserved 21 Example - (Informative) If the extraction method code is 0x01, and ridge counts were extracted for minutiae numbers 5 and 22, the four ridge counts for minutiae number 22 could be listed first, followed by all four ridge counts for minutiae number 5. 7.5.2.2 Ridge Count Data The ridge count data shall be represented by a list of three-byte elements. The first and second bytes are an index number, indicating which minutiae points in the corresponding minutiae area are being considered. The third byte is a count of the ridges intersected by a direct line between these two minutiae points. The ridge count data shall be listed in increasing order of the index numbers, as shown in Table 6. There is no requirement that the ridge counts be listed with the lowest index number first. Since the minutiae points are not listed in any specified geometric order, no assumption shall be made about the geometric relationships of the various ridge count items. Table 6 - Example Ridge Count Data (non-specific extraction method, RCE method = 0x00) Minutiae index #1 Minutiae index #2 Ridge count 0x01 0x02 0x05 0x01 0x06 0x09 0x01 0x07 0x02 0x02 0x04 0x13 0x02 0x09 0x0D 0x05 0x03 0x03 0x09 0x15 0x08 7.5.2.3 Ridge Count Format Summary The ridge count data format shall be as follows: 7.5.2.1 7.5.2.2 7.5.2.2 7.5.2.2 7.5.2.2 7.5.2.2 7.5.2.2 Extraction type index #1 index #2 ridge count index #1 index #2 ridge count method index index count ... index index count 1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 3 bytes 3 bytes 7.5.3 Core and Delta Data Format If the extended data area type code is 0x0002, the extended data area contains core and delta information. This format is provided to contain optional information about the placement and characteristics of the cores and deltas on the original fingerprint image. Core and delta points are determined by the overall pattern of ridges in the fingerprint. There may be zero or more core points and zero or more delta points for any fingerprint. Core and delta points may or may not include angular information. Core and delta point placement is illustrated in Figure 6. The core and delta information shall be represented as follows. The first byte shall contain the core information type and the number of core points included; legal values are 0 or greater. This length byte shall be followed by the position and angular information for the cores. The next byte shall contain the delta information type and the number of delta points included; legal values are 0 or greater. This length byte shall be followed by the position and angular information for the deltas. 22 ISO/IEC 2004 ­ All rights reserved Figure 6 - Example Core and Delta placement 7.5.3.1 Core Information Type The core information type shall be recorded in the first two bits of the upper byte of the number of cores. The bits "01" will indicate that the core has angular information while "00" will indicate that no angular information is relevant for the core type. If this field is "00", then the angle fields shall not be present for the cores. 7.5.3.2 Number of Cores The number of core points represented shall be recorded in the least significant four bits of this byte. Valid values are from 0 to 15. 7.5.3.3 Core Position The X coordinate of the core shall be recorded in the lower fourteen bits of the first two bytes (fourteen bits). The Y coordinate shall be placed in the lower fourteen bits of the following two bytes. The coordinates shall be expressed in pixels at the resolution indicated in the record header. 7.5.3.4 Core Angle The angle of the core shall be recorded in one byte in units of 1.40625 (360/256) degrees. The core angle is measured increasing counter-clockwise starting from the horizontal axis to the right. The value shall be a nonnegative value between 0 and 255, inclusive. For example, an angle value of 16 represents 22.5 degrees. If the core information type is zero (see Section 7.5.3.1), then this field shall not be present. 7.5.3.5 Delta Information Type The delta information type shall be recorded in the first two bits of the upper byte of the number of deltas. The bits "01" will indicate that the delta has angular information while "00" will indicate that no angular information is relevant for the delta type. If this field is "00", then the angle fields shall not be present for the deltas. ISO/IEC 2004 ­ All rights reserved 23 7.5.3.6 Number of Deltas The number of delta points represented shall be recorded in the least significant four bits of this byte. Valid values are from 0 to 15. 7.5.3.7 Delta Position The X coordinate of the delta shall be recorded in the lower fourteen bits of the first two bytes (fourteen bits). The Y coordinate shall be placed in the lower fourteen bits of the following two bytes. The coordinates shall be expressed in pixels at the resolution indicated in the record header. 7.5.3.8 Delta Angles The three angle attributes of the delta shall each be recorded in one byte in units of 1.40625 (360/256) degrees. The delta angle is measured increasing counter-clockwise starting from the horizontal axis to the right. The value shall be a non-negative value between 0 and 255, inclusive. For example, an angle value of 16 represents 22.5 degrees. If the delta information type is zero (see Section 7.5.3.5), then this field shall not be present. 7.5.3.9 Core and Delta Format Summary The core and delta format shall be as follows: 7.5.3.1 7.5.3.2 7.5.3.3 7.5.3.3 7.5.3.4 7.5.3.3 & 7.5.3.4 Core info type # of cores Reserved X location Reserved Y location Core Angle ... ... ... type # cores reserved x coordinate reserved y coordinate angle ... ... ... 2 bits 6 bits 2 bits 14 bits 2 bits 14 bits 1 byte 5 bytes 1 byte 2 bytes 2 bytes only present if core info type not zero zero or more additional cores 7.5.3.5 7.5.3.6 7.5.3.7 7.5.3.7 7.5.3.8 7.5.3.3 & 7.5.3.4 Delta info type # of deltas Reserved X location Reserved Y location Delta Angles ... ... ... type # deltas reserved x coordinate reserved y coordinate ang1 ang2 ang3 ... ... ... 2 bits 6 bits 2 bits 14 bits 2 bits 14 bits 3 bytes 5 bytes 1 byte 2 bytes 2 bytes only present if delta info type not zero zero or more additional deltas 7.5.4 Zonal Quality Data If the extended data area type code is 0x0003, the extended data area contains zonal quality data. This format is provided to contain optional information about the quality of the fingerprint image within each cell in a grid defined on the original fingerprint image. Within each cell, the quality may depend on the presence and clarity of ridges, spatial distortions and other characteristics. The zonal quality data shall be represented as follows. The first two bytes shall contain the horizontal and vertical cell sizes in pixels. These size bytes shall be followed by the quality indications for each cell, with one or more bits for each cell. The cell quality bits shall be packed into bytes, padded with zeroes on the right to complete the final byte. All cells are the same size, with the exception of the final cells in each row and in each 24 ISO/IEC 2004 ­ All rights reserved column. The final cell in each row and in each column may be less than the stated cell size, if the cell width and height are not factors of the image width and height respectively. 7.5.4.1 Cell Width and Height The number of pixels in cells in the x-direction (horizontal) shall be stored in one byte. Permissible values are 1 to 255. The number of pixels in cells in the y-direction (vertical) shall be stored in one byte. Permissible values are 1 to 255. 7.5.4.2 Cell Data Length The number of bytes containing the cell quality data shall be recorded in two bytes. The contents of this field shall be equal to the pixel width in the original image divided by the cell width, rounded up, multiplied by the pixel height of the original image divided by the cell height, rounded up, multiplied by the cell information depth, then divided by eight and rounded up. { } { } { } { } { } 7.3.6 7.3.7 7.5.4.3 7.5.4.1 7.5.4.1 (7.5.4.2) 8 XSizeofScannedImage YSizeofScannedImage CellInfoDepth ceil ceil CellWidth a CellHeight b CellDataLength ceil= where the function ceil() indicates the smallest integer greater or equal to the inner quantity. This field is included for convenience in reading the data record. 7.5.4.3 Cell Quality Information Depth The bit depth of the cell quality information shall be contained in one byte. This value will indicate the number of bits per cell used to indicate the quality. 7.5.4.4 Cell Quality Data The quality of the fingerprint image in each cell shall be represented by one or more bits, as indicated in 7.5.4.3. Quality data for cells shall be stored in usual "raster" order ­ left to right, then top to bottom. If the finger image within this cell is of good clarity and significant ridge data is present, the cell quality shall be represented by higher values (by the bit value `1' if the information depth is 1). If the cell does not contain significant ridge data, or the ridge pattern within the cell is blurred, broken or otherwise of poor quality, the cell quality shall be represented by lower values (the bit value `0' if the information depth is 1). The cell quality shall be packed into bytes. The final byte in the cell quality data may be packed with bit values of zero (`0') on the right as required to complete the last byte. 7.5.4.4 Zonal Quality Data Format Summary The zonal quality data format shall be as follows: 7.5.4.1 7.5.4.1 7.5.4.2 7.5.4.3 7.5.4.4 Cell Width Cell Height Cell Data Len Information Depth x cell size y cell size datalen depth Cell quality bits 00...0 1 byte 1 byte 1 byte 1 byte data bits padding bits "Cell Data Length" bytes ISO/IEC 2004 ­ All rights reserved 25 7.6 Minutiae Record Format Summary Table 7 is a reference for the fields present in the Finger Minutia Record format. Optional extended data formats for ridge counts, core and delta data and zonal quality information are not represented here. For more specific information, please refer to the text and to the Record Format Diagrams in Annex A. Table 7 - Minutiae Record Format Summary Field Size Valid Values Notes Format Identifier 4 bytes 0x464D5200 (`F' `M' `R' 0x0) "FMR " ­ finger minutiae record Version of this standard 4 bytes n n n 0x0 " XX" Length of total record in bytes 4 bytes 24 - 4294967295 either 0x0018 to 0x0000FFFFFFFF Capture Equipment Certification 4 bits Capture Device Type ID 12 bits Vendor specified Image Size in X 2 bytes in pixels Image Size in Y 2 bytes in pixels X (horizontal) Resolution 2 bytes in pixels per cm Y (vertical) Resolution 2 bytes in pixels per cm Number of Finger Views 1 byte 0 to 255 Reserved byte 1 byte 00 0 for this version of the standard (reserved for future use) OneperRecord Finger Position 1 byte 0 to 10 See Table 2 View Number 4 bits 0 to 15 Impression Type 4 bits 0 to 3 or 8 See Table 3 Finger Quality 1 byte 0 to 100 0 to 100 Number of Minutiae 1 byte Oneper View X (minutia type in upper 2 bits) 2 byte Expressed in image pixels Y (upper 2 bits reserved) 2 byte Expressed in image pixels 1 byte 0 to 255 Resolution is 1.40625 degrees Quality 1 byte 0 to 100 1 to 100 (0 indicates "quality not reported") Oneper minutiae Extended Data Block Length 2 bytes 0x0000 = no private area One per view Extended Data Area Type Code 2 bytes only present if Extended Data Block Length 0 Extended Data Area Length 2 bytes only present if Extended Data Block Length 0 0+ per view Extended Data In prev. field only present if Extended Data Block Length 0 Each extended data area may contain vendor-specific data, or one or more of the following (in any order): Ridge count extraction method 1 byte 0 to 2 Ridge count data ­ idx #1 1 byte 1 to # of minutiae Ridge count data ­ idx #2 1 byte 1 to # of minutiae Ridge count data ­ count 1 byte additional ridge counts... 0+perview Ridgecount data Core information type 2 bits 0 to 1 Number of cores 4 bits 0 to 15 X location 2 bytes Y location 2 bytes Angle (if core info type 0) 1 byte 0 to 255 Delta information type 2 bits 0 to 1 Number of deltas 4 bits 0 to 15 X location 2 bytes Y location 2 bytes 0+perview Coreanddeltadata Angles (if delta info type 0) 3 bytes 0 to 255 Cell Width 1 byte 1 to 255 Cell Height 1 byte 1 to 255 Cell Data Length 2 bytes 1 to 65536 0+per view Zone quality Cell Information Bit Depth 1 byte 1 to 255 Cell Quality Data CellDataLen 26 ISO/IEC 2004 ­ All rights reserved 8 Finger Minutiae Card Format This standard defines two card related encoding formats for finger minutiae, the normal size format and the compact size format. Such a format may be used e.g. as part of a Biometric Information Template as specified in ISO/IEC 7816-11 with incorporated CBEFF data objects, if off-card matching is applied, or in the command data field of a VERIFY command, if match-on-card (MOC) is applied (see ISO/IEC 7816-4 and -11). NOTE ­ The term "card" is used for smartcards as well as for other kind of tokens. 8.1 Normal Size Finger Minutiae Format With the normal size format, a minutia is encoded in 5 bytes (see Table 8): - minutia type t (2 bits): 00 = other, 01 = ridge ending (encoded as valley skeleton bifurcation point), or ridge skeleton end point 10 = ridge bifurcation (encoded as ridge skeleton bifurcation point) 11 = reserved for future use - coordinate x (14 bits), unit = 10 -2 mm - reserved (2 bits), default value: 00 - coordinate y (14 bits), unit = 10-2 mm - angle (8 bits), unit = 2/256 Table 8 -- Normal size finger minutiae format type t x-coordinate reserved y-coordinate angle 2 bytes 2 bytes 1 byte 8.2 Compact Size Finger Minutiae Format With the compact size format, only 3 bytes are used per minutia (see Table 9). This reduction of memory space is only possible at the cost of a reduction in resolution of coordinates and angle. - coordinate x (8 bits), unit = 10-1 mm - coordinate y (8 bits), unit = 10-1 mm - minutia type t (2 bits): same coding as with the normal size format - angle (6 bits), unit = 2/64 Table 9 -- Compact size finger minutiae format x-coordinate y-coordinate type t angle 1 byte 1 byte 1 byte ISO/IEC 2004 ­ All rights reserved 27 NOTE - The maximum value for the x and y coordinate is 25.5mm with the compact format. 8.3 Number of Minutiae, Minutiae Ordering Sequence and Truncation 8.3.1 General Aspects The minutiae data of a finger consist of n minutia encoding shown in Table 8 (or alternatively Table 9). The number n depends on - the minimum number of minutiae required according to the security level (see Annex C) - the maximum number of minutiae accepted by a specific card e.g. due to buffer restrictions and computing capabilities. The maximum number of minutiae accepted is therefore an implementation dependent value and shall be indicated in the Biometric Information Template, if the default value is not used (see Annex C). A card may also require a special ordering of the minutiae presented in the biometric verification data. The ordering scheme shall be indicated in the Biometric Information Template (see ISO/IEC 19785 and ISO/IEC 7816-11), if the default value is not used. If the number of minutiae exceeds the maximum number processible by a card, truncation is necessary. The truncation is a 2 step process. At first, finger minutiae of poor quality are eliminated. If still too many minutiae are there, then truncation shall be made by peeling off minutiae from the convex hull of the minutiae set and before sorting into the order required by the card. 8.3.2 Biometric matching algorithm parameters Biometric matching algorithm parameters are used to indicate implementation specific values to be observed by the outside world when computing and structuring the biometric verification data. They can be encoded as DOs embedded in a biometric matching parameter template as defined in ISO/IEC 19785 (see Annex related to smartcards, Table 1). 8.3.3 Number of Minutiae For the indication of the minimum and maximum value of minutiae expected by the card the DO Number of minutiae as shown in Table 10 shall be used. Table 10 ­ Data Object for Number of Minutiae Tag L Value ´81´ 2 min (1 byte, binary coding) || max (1 byte, binary coding) If this DO is not present in the BIT, the default values apply (see Annex C). 28 ISO/IEC 2004 ­ All rights reserved 8.3.4 Minutiae Order For the indication of the ordering scheme for minutiae, the DO Minutiae order as shown in Table 11 shall be used. Table 11 ­ Data Object for Minutiae Order Tag L Value ´82´ 1 see Table 12 Table 12 ­ Values for Minutiae Order Indication b8 b7 b6 b5 b4 b3 b2 b1 Meaning 0 0 0 0 0 0 0 0 no ordering required (default value) 0 1 ordered ascending 1 0 ordered descending 0 0 1 Cartesian x-y, see note 1 0 1 0 Cartesian y-x 0 1 1 Angle, see note 2 1 0 0 Polar, root = center of mass x x x 000, other values are RFU NOTES ­ 1. Ordered by ascending/descending x-coordinate, if equal by ascending/descending y-coordinate (first x, then y) 2. The angle represents the orientation of the minutia. The following description defines the ordering procedure in detail to avoid misunderstandings or misinterpre- tations. Ordered ascending Ordered ascending means, that the ordered sequence begins with the minutia from the original minutiae set, that has the smallest value of the indicated item. The value of this item increases with every successive minutia to the maximum value in the last minutia of the ordered sequence. Ordered descending Ordered descending means, that the ordered sequence begins with the minutia from the original minutiae set, that has the largest value of the indicated item. The value of this item decreases with every successive minutia to the minimum value in the last minutia of the ordered sequence. Cartesian x-y Cartesian x-y stands for an ordering scheme, where first the x-coordinate is compared and used for ordering. When ordering by ascending Cartesian x-y coordinates, the minutia with minimum x-coordinate becomes the first minutia in the ordered sequence. The minutia with the second smallest x-coordinate becomes the second minutia in the ordered sequence. This process continues until the minutia with maximum x-value becomes the last minutia in the ordered sequence. If the x-coordinates in two or more minutiae are equal, the y-coordinate is compared for ordering. Cartesian y-x Cartesian y-x stand for an ordering scheme, where first the y-coordinate is compared and used for ordering. If the y-coordinates in two or more minutiae are equal, the x-coordinate is compared for ordering. ISO/IEC 2004 ­ All rights reserved 29 Angle Sorting a minutiae list by angle is done as follows. As defined in a previous section the angle of a minutia begins with value 0 to the right horizontal axis and increases counter-clockwise. When ordering by increasing angle, the minutia with the minimum angle value in the ordered sequence becomes the first minutia in the ordered sequence. The minutia with the second smallest angle value becomes the second minutia in the ordered sequence. This process continues until the last minutia in the ordered sequence is defined as the minutia with maximum angle value. No rules for subordering are defined, if the angle values in two or more minutiae are equal. Any possible ordering sequence of the minutiae with the same angle value is legal in this case. Polar Polar is an ordering sequence by ascending or descending polar coordinates. First of all, a virtual coordinate root is defined as the center of mass of all minutiae. The polar coordinates of every minutiae are computed as the relative distance and angle to this root coordinate. Without loss of generality, the process of ascending ordering with polar coordinates is described. The minutia with minimum distance to the root becomes the first minutia in the ordered sequence. The minutia with the second smallest distance to the root becomes the second minutia in the ordered sequence. This process continues until the minutia with maximum distance to the root becomes the last minutia in the ordered sequence. If the root-distance of two minutiae or more is equal, the angle of these minutiae is compared. The minutia with the smallest relative angle value becomes the next minutia in the ordered sequence. The position of the centre of mass of the minutiae shall be computed as the point specified by the means of the coordinates in X and Y. xcm = (x1 + x2 + .... + xn) / n ycm = (y1 + y2 + .... + yn) / n where cm is the centre of mass and n is the number of minutiae. 9 CBEFF Format Owner and Format Types Format owner and format type are encoded according to CBEFF. The format owner is ISO/IEC JTC 1/SC 37. The IBIA registered format owner id is '0101'. The format type denotes one of the finger minutiae formats according to this standard, see Table 13. 30 ISO/IEC 2004 ­ All rights reserved Table 13 -- Format types Format Type Meaning ´0201´ Finger minutiae record format ­ no extended data, with - ridge endings (valley skeleton bifurcation points) - ridge bifurcations (ridge skeleton bifurcation points) ´0202´ Finger minutiae record format ­ extended data, with - ridge endings (valley skeleton bifurcation points) - ridge bifurcations (ridge skeleton bifurcation points) ´0203´ Finger minutiae card format - normal size, with - ridge endings (valley skeleton bifurcation points) - ridge bifurcations (ridge skeleton bifurcation points) ´0204´ Finger minutiae card format - normal size, with - ridge skeleton end points - ridge bifurcations (ridge skeleton bifurcation points) ´0205´ Finger minutiae card format - compact size, with - ridge endings (valley skeleton bifurcation points) - ridge bifurcations (ridge skeleton bifurcation points) ´0206´ Finger minutiae card format - compact size, with - ridge skeleton end points - ridge bifurcations (ridge skeleton bifurcation points) ISO/IEC 2004 ­ All rights reserved 31 Annex A (normative) Record Format Diagrams A.1 Overall Record Format 7.5.2.1 7.5.2.2 7.5.2.2 7.5.2.2 7.5.2.2 Record Header Finger View Record Extended Data Finger View #2 Record Extended Data see A.2 below see A.3 below see A.5 below ... see A.3 below see A.5 below one header per record 24 bytes One finger minutia per record One or more extended data areas per finger (Extended Data Block length = 0 if no extended data) A.2 Record Header 7.3.1 7.3.2 7.3.3 7.3.4 7.3.5 Format ID Spec Version Record Length Capture Equipment Compliance Capture Equipment ID 0x464D5200 ' '`X'`X'0 length Appendix F reserved reserved reserved capt. eqpt. ID 4 bytes 4 bytes 4 bytes 4 bits 12 bits 7.3.6 7.3.7 7.3.8 7.3.9 7.3.10 7.3.11 X image size Y image size X resolution Y resolution # of finger views Reserved byte X image size Y image size X resolution Y resolution # of views 0x00 2 bytes 2 bytes 2 bytes 2 bytes 1 byte 1 byte A.3 Single Finger View Minutiae Record 7.4.1.1 7.4.1.2 7.4.1.3 7.4.1.4 7.4.1.5 7.4.2 7.4.2 Finger position View number Impression type Finger quality Number of minutiae Finger minutiae data Finger minutiae data finger # view # 0-3, 8 quality 0-100 # of minutiae see A.4 below ... see A.4 below 1 byte 4 bits 4 bits 1 byte 1 byte 6 bytes 6 bytes 32 ISO/IEC 2004 ­ All rights reserved A.4 Finger Minutiae Data 7.4.2.1 7.4.2.2 7.4.2.2 7.4.2.3 7.4.2.4 Minutia Type X location Reserved Y location Minutia Angle Minutia Quality type x coordinate RFU y coordinate angle, 0-255 quality, 0-100 2 bits 14 bits 2 bits 14 bits 1 byte 1 byte 2 bytes 2 bytes A.5 Extended Data 7.5.1.1 7.5.1.2 7.5.1.3 7.5.1.4 7.5.1.2 7.5.1.3 7.5.1.4 ... Extended Data Block Length Extended Data Type Code Extended Data Length Extended Data ... ... ... Block Length Type ID code Length data ... ... ... ... 2 bytes 2 bytes 2 bytes ("Length"-4) bytes `Block Length' bytes ISO/IEC 2004 ­ All rights reserved 33 Annex B (informative) Example Data Record This example minutiae record demonstrates the format for a given set of data. B.1 Data Scanner ID = 0x00B5 (these values are determined by the IBIA - for the Vendor ID - and by the vendor) Sensor Resolution: 500 dpi in both X and Y axes; 196.85 pixels per cm, Image was 512 by 512 pixels Plain live-scan prints of the left and right index fingers Left Index: Finger quality is 90% of the maximum possible; 27 minutia, listed in table below; no private feature data Right Index: Finger quality is 70% of the maximum possible; 22 minutia, listed in table below. Private feature data area (Type 0x0221) consisting of six bytes: 0x01, 0x44, 0xBC, 0x36, 0x21, 0x43 Record length = 340 = 24 (record header) + 2 * 4 (finger headers) + 27 * 6 (minutia for 1st finger) + 22 * 6 (minutia for 2nd finger) + 2 (null private area for 1st finger) + 12 (private area for 2nd finger) Left Index Finger Right Index FingerMinutia # Type X Y Angle quality Type X Y Angle quality 0 Ending 100 14 112 90 ending 40 93 0 90 1 Ending 164 17 85 80 bifurcation 116 100 0 80 2 Bifurcation 55 18 22 90 ending 82 95 12 70 3 Bifurcation 74 22 76 60 bifurcation 140 113 15 70 4 Ending 112 22 90 80 ending 122 135 18 80 5 Bifurcation 42 31 44 90 bifurcation 55 72 21 50 6 Bifurcation 147 35 51 90 ending 94 74 24 60 7 Ending 88 38 165 40 ending 155 62 42 80 8 Bifurcation 43 42 4 80 bifurcation 42 64 55 70 9 Ending 56 48 33 70 ending 155 85 59 80 10 Ending 132 49 72 90 bifurcation 96 192 62 80 11 Bifurcation 71 50 66 80 ending 114 86 85 80 12 Other 95 51 81 90 bifurcation 142 90 90 70 13 Ending 112 53 132 50 ending 57 137 100 90 14 Bifurcation 135 58 32 80 ending 131 75 110 80 15 Other 41 60 59 70 ending 45 113 120 80 16 Bifurcation 67 62 145 90 bifurcation 111 171 130 50 17 Ending 91 63 132 80 ending 95 62 150 60 18 Ending 112 65 33 60 bifurcation 61 114 200 80 19 Ending 53 71 45 90 bifurcation 143 72 250 80 20 Bifurcation 104 74 12 80 ending 63 104 300 70 21 Ending 75 79 21 90 bifurcation 125 73 350 40 22 Bifurcation 48 80 92 90 23 Ending 130 89 45 80 24 Bifurcation 63 95 126 80 25 Ending 47 108 164 90 26 Bifurcation 126 115 172 30 34 ISO/IEC 2004 ­ All rights reserved B.2 Example Data Format Diagrams 7.3.1 7.3.2 7.3.3 7.3.4 7.3.5 Format ID Spec Version Record Length Capture Eqpt Compliance Capture Equipment ID 0x464D5200 ' '`2'`0'0 0x00000154 0x00B5 7.3.6 7.3.7 7.3.8 7.3.9 7.3.10 7.3.11 X image size Y image size X resolution Y resolution # of finger views Reserved byte 0x0200 0x0200 0x00C5 0x00C5 0x02 0x00 7.4.1.1 7.4.1.2 7.4.1.3 7.4.1.4 7.4.1.5 Finger position View number Impression type Finger quality Number of minutiae 0x07 0x00 0x5A 0x1B 7.4.2.1 7.4.2.2 7.4.2.2 7.4.2.3 7.4.2.4 7.5.1.1 Minutia Type X location Reserved Y location Minutia Angle Minutia Quality Extended data Block Length 0x4064 0x000E 0x70 0x5A . . . 0x0000 7.4.1.1 7.4.1.2 7.4.1.3 7.4.1.4 7.4.1.5 Finger position View number Impression type Finger quality Number of minutiae 0x02 0x00 0x46 0x16 7.4.2.1 7.4.2.2 7.4.2.2 7.4.2.3 7.4.2.4 Minutia Type X location Reserved Y location Minutia Angle Minutia Quality 0x4028 0x005D 0x70 0x5A . . . 7.5.1.1 7.5.1.2 7.5.1.3 7.5.1.4 Extended Data Block Length Extended Data Type Code Extended Data Length Extended Data 0x000A 0x0221 0x0006 0x0144BC362143 ISO/IEC 2004 ­ All rights reserved 35 B.3 Raw Data for the Resulting Minutiae Record Record Header: 0x464D5200203220000000015400B50200020000C500C50200 1st Finger Header: 0x07005A1B 1st Finger Minutiae data: 0x4064000E505A 0x40A400113C50 0x80370012105A 0x804A0016363C 0x407000164050 0x802A001F1F5A 0x80930023245A 0x405800267528 0x802B002A0350 0x403800301746 0x40840031335A 0x804700322F50 0x005F00333A5A 0x407000355E32 0x8087003A1750 0x0029003C2A46 0x8043003E675A 0x405B003F5E50 0x40700041173C 0x40350047205A 0x8068004A0950 0x404B004F0F5A 0x80300050415A 0x408200592050 0x803F005F5A50 0x402F006C755A 0x807E00737A1E 1st Private Data Area: 0x0000 2nd Finger Header: 0x02004616 2nd Finger Minutiae data: 0x4028005D005A 0x807400640050 0x4052005F0946 0x808C00710B46 0x407A00870D50 0x803700480F32 0x405E004A113C 0x409B003E1E50 0x802A00402746 0x409B00552A50 0x806000C02C50 0x407200563C50 0x808E005A4046 0x40390089475A 0x4083004B4E50 0x402D00715550 0x806F00AB5C32 0x405F003E6B3C 0x803D00728E50 0x808F0048B250 0x403F0068D546 0x807D0049F928 2nd Private Data Area: 0x000A022100060144BC362143 36 ISO/IEC 2004 ­ All rights reserved Annex C (informative) Handling of Finger Minutiae Card Formats C.1 Enrollment C.1.1 Number of minutiae The number of minutiae is a security sensitive parameter and depending on the security policy of the application. Persons who do not meet the minimum required number for enrolment cannot be enrolled. The maximum number of minutiae for the reference data is implementation dependent. The recommended minimum number of minutiae required for enrollment is 16 and for verification is 12. The strength of function (see note at the end of this clause) may have impact on these values. The maximum number of minutiae to be sent to a card is implementation dependent and related to: * transmission time * memory resources * execution time * security aspects The recommended maximum value for enrollment and verification is 60. It is up to the extraction device to limit the number of minutiae sent to the card to 60 or the indicated value (see CBEFF Annex G, Table G.1). NOTE - In the Common Criteria, the following definitions are given: Strength of Function (SOF) -- A qualification of a Target of Evaluation (TOE) security function expressing the minimum efforts assumed to defeat its expected security behaviour by directly attacking its underlying security mechanisms. SOF-basic -- A level of TOE strength of function where analysis shows that the function provides adequate protection against casual breach of TOE security by attackers possessing a low attack potential. SOF-medium -- A level of TOE strength of function where analysis shows that the function provides adequate protection against straightforward or intentional breach of TOE security by attackers possessing a moderate attack potential. SOF-high -- A level of TOE strength of function where analysis shows that the function provides adequate protection against deliberately planned or organised breach of TOE security by attackers possessing a high attack potential. C.1.2 Number of required finger presentations The number of required finger presentations during an enrollment process is enrollment system dependent. C.2 Matching The verification data is subject to translation (in x- and y-direction), rotation (deviation of the orientation) and distortion. Matching also has to take into account components or factors like FAR/FRR. ISO/IEC 2004 ­ All rights reserved 37 C.2.1 Matching conditions The result of the matching process is a score, which may denote the number of matching minutiae or any other appropriate value. In interoperability tests, it may be verified whether different implementations of the matching algorithm meet a required FAR/FRR e.g. in relation to the strength of function for the respective application. If minutia types are taken into account in the matching process, the different types match according to Table 1. C.2.2 Threshold Value A verification decision result is positive (i.e. the user verification is successful), if the score S as matching result is greater or equal than the required threshold value T: S T The threshold value depends on several factors or components such as * Required False Acceptance Rate FAR * Required False Rejection Rate FRR * Matching conditions, see C.2.1 * The amount of minutiae enrolled * The amount of minutiae presented * Strength of function. The treatment of the threshold value is dependent on the implemented matching strategy. In the following an example of the calculation of a threshold value is presented. The threshold value T considered in this example is a dynamic value to be calculated for each verification process and depends on: * Ar: amount of minutiae in the reference data * Av: amount of minutiae in the verification data * Avmin: minimum amount of minutiae required in the verification data * Avmax: maximum amount of minutiae in the verification data relevant for threshold computation * Tmin: minimum threshold value, which denotes the minimum amount of minutiae to be matched for positive verification * Tmax: maximum threshold value, which denotes the maximum required amount of minutiae to be matched for positive verification. T is computed as follows: T = Tmin + (Ac ­ Avmin) * (Tmax ­ Tmin)/(Avmax ­ Avmin) with Ac = qAr + (1 ­ q)Av, whereby Ac is the calculated amount of minutiae and the qualifier q the weight for Ar and Av 38 ISO/IEC 2004 ­ All rights reserved and Avmin = min. amount of minutiae to be presented in a verification process Avmax = max. amount of minutiae considered relevant in a verification process. The values of Tmax, Tmin, Avmax, Avmin and q chosen for this example are shown in . Table C.2 - Values for threshold computation (example) Qualifier q Tmin Tmax Avmin Avmax 0.66 6 12 12 60 The values in Table C.2 together with the above formula have the following meaning: * the amount of the reference minutiae have more significance than the amount of the verification minutiae (2/3 to 1/3) * a score of 4 matching minutiae is generally rejected and leads to a negative verification result (S < T, Tmin required = 6) * a score of 5 matching minutiae leads to positive verification (S T), if the respective person has a minimum of verification minutiae (12) * a score of 12 matching minutiae leads in any case to a positive verification (Tmax required = 12). NOTE: At court, some countries require 12 matching minutiae. However, the application area, the environment conditions and security requirements are different at court and for on-card-matching. C.2.3 Retry Counter For on-card matching, a retry counter (which is decremented by subsequent negative verifications and set to its initial value by positive verification) has to be implemented in order to limit the number of trials. The following aspects have impact on the initial value: * experience of the user * environmental conditions (e.g. construction of sensor embedding and finger placement) * quality of verification data * strength of function. If the retry counter has reached the value 0, then the respective biometric verification method is blocked. Resetting the retry counter to its initial value is possible, if supported, e.g. by using the RESET RETRY COUNTER command (see ISO/IEC 7816-4) with a resetting code (8 digits). The recommended initial value of the retry counter lies in the range of 5 and 15. The security policy of the application provider and the required strength of function have impact on the possible range and the value applied. C.3 Security Aspects of Finger Minutiae Presentation to the Card Fingerprints are left everywhere and therefore this kind of biometric data are considered to be public. An attacker may succeed in getting a good fingerprint of a person, derive from them the biometric verification data and present it to the stolen card of the respective person. To avoid this kind of attack and also replay attacks of data used in a previous verification process, a trusted path between card and service system is required. Such a trusted path is achieved by cryptographic means, e.g. using secure messaging according to ISO/IEC ISO/IEC 2004 ­ All rights reserved 39 7816-4. The specification of those secure messaging functions is usually application dependent and outside the scope of this standard. 40 ISO/IEC 2004 ­ All rights reserved ISO/IEC 2004 ­ All rights reserved 41 Annex D (normative) Fingerprint Image Quality Specifications The following pages are included as-is from the source document, the FBI EFTS (Electronic Fingerprint Transmission Specification). D.1 SCOPE AND PURPOSE These specifications apply to fingerprint scanner systems and printers that will supply fingerprint data to the Integrated Automated Fingerprint Identification System (IAFIS), and to printers and displays within the IAFIS. They provide objective criteria for insuring image quality. Electronic images must be of sufficient quality to allow for: (1) conclusive fingerprint comparisons (identification or non-identification decision); (2) fingerprint classification; (3) automatic feature detection; and (4) overall Automated Fingerprint Identification System (AFIS) search reliability. The fingerprint comparison process requires a high fidelity image without any banding, streaking or other visual defects. Finer detail such as pores and incipient ridges are needed since they can play an important role in the comparison. Additionally, the gray-scale dynamic range must be captured with sufficient depth to support image enhancement and restoration algorithms. The image quality requirements have associated test procedures, which are described in the document Test Procedures for Verifying IAFIS Scanner Image Quality Requirements. These procedures will be used by the Government in acceptance testing to ensure compliance with the requirements, and in performance capability demonstrations as an indication of capability to perform. Equipment shall be tested to meet the requirements in normal operating modes, e.g., scanners shall not be tested at slower than normal operating speeds to meet modulation transfer function specifications. A vendor may recommend alternate testing methods. D.2 FINGERPRINT SCANNERS The following subsections describe the image quality performance characteristics required for a fingerprint scanner (live scan and card scan). These specifications require that the scanner shall capture fingerprints at a minimum resolution in both the detector row and detector column directions (also known as 'along-scan' and 'cross-scan' directions) of 500 pixels/inch, plus or minus 5 pixels per inch. The final output delivered image from the scanner system shall have a resolution of 500 pixels/inch, plus or minus 5 pixels per inch, and each pixel shall be gray level quantized to 8 bits. [Requirement described in the ANSI standard: Data Format for the Interchange of Fingerprint Information, ANSI/NIST-CSL 1-1993.] D.2.1 Geometric Image Accuracy The absolute value of the difference "D", between the actual distance "X" between any two points on a target and the distance "Y" between those same two points as measured on the output scanned image of that target, shall meet the following requirements for the value D: D 0.0007, for 0 X 0.07 D 0.01X, for 0.07 X 1.50 where: D, X, Y are in inches and D = Y ­ X The requirement corresponds to a positional accuracy of 1% for distances between 0.07 and 1.5 inches, and a constant 0.0007 inches (1/3 pixel) for distances less than or equal to 0.07 inches. The geometric image accuracy shall be measured using precision 1 cycle per millimeter Ronchi targets on white Mylar reflective base manufactured by Applied Image, Inc.1 1 Applied Image, 1653 East Main Street, Rochester, NY 14526, Phone (716) 482-0300 42 ISO/IEC 2004 ­ All rights reserved D.2.2 Modulation Transfer Function The measured modulation transfer function (MTF) of the scanner, in both the detector row and detector column directions, and over any region of the scanner's field of view, shall have modulation values which fall within the ranges given in the following MTF table, at the given spatial frequencies: cyc/mm MTF 1 .905 to 1.00 2 .797 to 1.00 3 .694 to 1.00 4 .598 to 1.00 5 .513 to 1.00 6 .437 to 1.00 8 .312 to 1.00 10 .200 to 1.00 The MTF shall be measured using test chart number M-13-60-1X manufactured by Sine Patterns, Inc.2. The single, representative sine wave modulation in each imaged sine wave frequency pattern is determined from the sample modulation values collected from within that pattern. The sample modulation values are computed from the maximum and minimum levels corresponding to the 'peak' and adjacent 'valley' in each sine wave period. These maximum and minimum levels represent the corresponding locally averaged image gray levels mapped through a calibration curve into target reflectance space, where the local average of gray levels is computed in a direction orthogonal to the sinusoidal variation direction. Sample image modulation is then defined as: (maximum - minimum) / (maximum + minimum) The calibration curve is constructed by performing a least squares linear regression curve fit between the image gray levels of the 14 density patches in the test target and the corresponding target reflectance values. The scanner MTF at each frequency is then defined as: MTF = representative image modulation / target modulation [Target modulations and target density patch values are supplied with the test target by the manufacturer.] D.2.3 Signal-to-Noise Ratio Both the ratio of signal to white noise standard deviation and the ratio of signal to black noise standard deviation of the digital scanner shall be greater than or equal to 125 using the following procedure: 1) A random 0.25 inch x 0.25 inch test field within the image area is chosen and the white reference target, Munsell3 N9-white matte, is placed in the test field. 2) A white test population of 8-bit reflectance values from at least 1000 samples within the test field are collected. The average value and standard deviation are computed from this test population. 3) Steps 1 and 2 are repeated for the black reference target, Munsell N3 - black matte. 4) The signal to noise ratio (SNR) is computed as the difference between average white and average black values, alternately divided by the white noise standard deviation ('white SNR') and the black noise standard deviation ('black SNR'). Note: The scanner shall be set up such that the white reference target is below scanner saturation level, and the black reference target is above scanner dark current level. Also, care should be taken, via direct visual or visual display observation, to avoid areas of dust, pinholes, scratches, or other imperfections on the target when selecting the sub-area for the 1000 samples. 2 Sine Patterns, 236 Henderson Drive, Penfield, NY 14526, Phone (716) 248-5338 3 Munsell-Macbeth, P.O. Box 230, Newburgh, NY 12551, Phone (914) 565-7660 ISO/IEC 2004 ­ All rights reserved 43 D.2.4 Gray-Scale Range of Image Data At least 80% of the captured individual fingerprint images shall have a gray-scale dynamic range of at least 200 gray levels and at least 99% shall have a dynamic range of at least 128 gray levels. For this requirements section, 'dynamic range' is defined as the total number of gray levels that have signal content from the fingerprint image. Fingerprint card format lines, boxes, and text shall be excluded from the dynamic range computation and white surround in the immediate vicinity of a given fingerprint shall be included in the dynamic range computation (dashed box at right). Compliance with these dynamic range requirements shall be verified using a stratified sample of fingerprint cards assembled by the Government. The intent is to avoid excessively low contrast images. Live-scan systems and card scanners at a booking station can control dynamic range by rolling the prints properly. However, with central site or file conversion systems, where a variety of card types and image qualities are encountered, adaptive processing may be necessary. The 8-bit quantization of the gray-scale values for very low contrast fingerprints needs to more optimally represent the reduced gray-scale range of such fingerprints. In the example histogram accompanying this section, the gray-scale values divide up the range from A to B. The parameters A and B are stored with the image to provide an audit trail. D.2.5 Gray-scale Linearity Using the 14 gray patches in the Sine Patterns, Inc. test target M-13-60-1X as the scanner input (independent variable), with their manufacture-supplied reflectance values, none of the corresponding 14 scanner output gray levels (dependent variable) shall deviate by more than 7.65 gray levels from a linear, least squares regression line fitted between the two variables. The output sample values within an area of at least 0.25 x 0.25 inches shall be utilized to compute the average output gray level for each patch. D.2.6 Output Gray Level Uniformity Output gray level uniformity shall be determined by scanning both a white reference target, Munsell N9 - white matte, and a black reference target, Munsell N3 - black matte. The scanner shall be set up such that the white reference target is below scanner saturation level, and the black reference target is above scanner dark current level in the respective tests. Using the white target as the scanner input, the following three requirements shall be met: (1) The outputs of any two adjacent rows or columns of length 9 pixels or greater shall not have mean gray levels that differ by more than 2.5 gray levels. (2) For all pixels within a 0.25 inch x 0.25 inch area ('quarter inch area') located in any region of the total scanner field of view, no individual pixeľs gray level shall vary from the mean gray level by more than 22.0 gray levels. (3) For any two non-contiguous quarter inch areas located anywhere in the total scanner field of view, the mean gray levels of the two quarter inch areas shall not differ by more than 12.0 gray levels. And, using the black target as the scanner input, the following three requirements shall be met: (1) The outputs of any two adjacent rows or columns of length 9 pixels or greater shall not have mean gray levels that differ by more than 1.0 gray levels. (2) For all pixels within a 0.25 inch x 0.25 inch area ('quarter inch area') located in any region of the total scanner field of view, no individual pixeľs gray level shall vary from the mean gray level by more than 8.0 gray levels. 44 ISO/IEC 2004 ­ All rights reserved (3) For any two non-contiguous quarter inch areas located anywhere in the total scanner field of view, the mean gray levels of the two quarter inch areas shall not differ by more than 3.0 gray levels. D.3 LATENT PRINT SCANNERS The following subsections describe the image quality performance characteristics required for a latent print scanner operating in a 1000 pixels/inch mode. These specifications require that the scanner shall capture fingerprints at a minimum resolution in both the detector row and detector column directions (also known as 'along-scan' and 'cross-scan' directions) of 1000 pixels/inch. The final output delivered image from the scanner system (at the 1000 ppi setting) shall have a resolution of 1000 pixels/inch, plus or minus 10 pixels per inch, and each pixel shall be gray level quantized to a minimum of 8 bits. The complete latent print specification consists of all requirements given in this Section, plus all non-conflicting requirements given in Section 2.0 Fingerprint Scanners. D.3.1 Geometric Image Accuracy The absolute value of the difference "D", between the actual distance "X" between any two points on a target and the distance "Y" between those same two points as measured on the output scanned image of that target, shall meet the following requirements for the value D: D 0.0005, for 0 X 0.07 D 0.0071X, for 0.07 X 1.50 where: D, X, Y are in inches and D = Y ­ X The requirement corresponds to a positional accuracy of .71% for distances between 0.07 and 1.5 inches, and a constant 0.0005 inches ( pixel) for distances less than or equal to 0.07 inches. The geometric image accuracy shall be measured using precision 1 cycle per millimeter Ronchi targets on white Mylar reflective base manufactured by Applied Image, Inc.4 D.3.2 Modulation Transfer Function The measured modulation transfer function (MTF) of the scanner, in both the detector row and detector column directions, and over any region of the scanner's field of view, shall have modulation values which fall within the ranges given in the following MTF table, at the given spatial frequencies: cyc/mm MTF 1 0.925 to 1.00 2 0.856 to 1.00 3 0.791 to 1.00 4 0.732 to 1.00 5 0.677 to 1.00 6 0.626 to 1.00 8 0.536 to 1.00 10 0.458 to 1.00 12 0.392 to 1.00 14 0.336 to 1.00 16 0.287 to 1.00 18 0.246 to 1.00 20 0.210 to 1.00 The MTF shall be measured using test chart number M-13-60-1X manufactured by Sine Patterns, Inc.5. The single, representative sine wave modulation in each imaged sine wave frequency pattern is determined from the sample modulation values collected from within that pattern. The sample modulation values are computed from the maximum and minimum levels corresponding to the 'peak' and adjacent 'valley' in each sine wave period. These maximum and minimum levels represent the corresponding locally averaged image gray levels mapped through a calibration curve into target reflectance space, where the local average of gray levels is 4 Applied Image, 1653 East Main Street, Rochester, NY 14526, Phone (716) 482-0300 5 Sine Patterns, 236 Henderson Drive, Penfield, NY 14526, Phone (716) 248-5338 ISO/IEC 2004 ­ All rights reserved 45 computed in a direction orthogonal to the sinusoidal variation direction. Sample image modulation is then defined as: (maximum - minimum) / (maximum + minimum) The calibration curve is constructed by performing a least squares linear regression curve fit between the image gray levels of the 14 density patches in the test target and the corresponding target reflectance values. The scanner MTF at each frequency is then defined as: MTF = representative image modulation / target modulation [Target modulations and target density patch values are supplied with the test target by the manufacturer.] D.4 IAFIS DISPLAY SPECIFICATIONS Two types of displays are required. One is for the ten-print examiner and document processing. The other is for the latent examiner. D.4.1 Ten-print / Document Processing Display The ten-print/document processing display shall meet the following performance levels: Parameter Value Comments Colors 256 8 bits/pixel Number of addressable pixels 1280 x 1024 Pixel size 0.28 mm (max) width at 50% amplitude at center of display Active display area 14" x 10.5" (min) Landscape mode Display refresh rate at least 72 Hz noninterlaced Minimizes flicker Video bandwidth at least 100 MHz Luminance 33 fL (min) of white area Video pulse rise & fall time 3 nanosec. (max) ensures no visible smearing Geometric pixel location error 1.5% (max) No point varies more then 1.5% from its correct position Operator controls brightness, contrast on front panel Brightness Uniformity 15% of mean deviation (max) over entire display at low, medium and high brightness D.4.2 Latent Print Comparison Display The other display is for use by the FBI's latent fingerprint examiners. Because this display will be used to support latent fingerprint comparisons, the resolution and brightness (luminance) requirements are higher. The display shall be a monochrome cathode ray tube display, which shall meet the following performance levels: 46 ISO/IEC 2004 ­ All rights reserved Parameter Value Comments Colors 8 bits/pixel @ CRT video input Number of addressable pixels 1600 x 1200 Pixel size 0.19 mm (max) width at 50% amplitude at center of display Active display area 14" x 10.5" (min) Landscape mode Display refresh rate at least 72 Hz noninterlaced Minimizes flicker Video bandwidth at least 100 MHz Luminance 50 fL (min) of white area Video pulse rise & fall time 3 nanosec. (max) ensures no visible smearing Geometric pixel location error 1.5% (max) No point varies more then 1.5% from its correct position Operator controls brightness, contrast on front panel Brightness Uniformity 15% of mean deviation (max) over entire display at low, medium and high brightness The ambient lighting in the work area is expected to be a combination of natural and fluorescent lighting. D.5 PRINTER SPECIFICATIONS The fingerprint examiners in the IAFIS environment will depend upon softcopy images to make comparisons and will require hardcopy images in certain instances. Some contributors will print cards from live scan or card scan devices for submission to the FBI. In all such cases the images will be mapped from their digital form to high resolution printing devices. The printed images must be of sufficient quality to support all phases of identification, including conclusive fingerprint comparisons (identification or non-identification decision). Two classes of printing devices are required. The first is intended to support fingerprint card reproduction. These printers will be used within the IAFIS environment and by submitters who choose to print and mail their live scan results. The printers should provide high throughput, low-cost-per-copy, non-fading output. This monochrome printer shall perform at the following minimum levels: Gray levels 16 Paper size 8" x 8" (min) Resolution 500 dots/inch (min.), where each pixel is capable of producing 16 gray levels A second class of printer is required to support the investigative fingerprint comparison function. Continuous tone monochrome output is required. This printer shall perform at the following minimum levels: Gray levels 8-bit continuous-tone gray-scale Paper Production of output paper print shall not require liquid processing Paper size 8" x 11" Resolution Resolution At least 500 pixels per inch, where each pixel is capable of producing 256 gray levels from an 8 bits/pixel input ISO/IEC 2004 ­ All rights reserved 47 48 ISO/IEC 2004 ­ All rights reserved Bibliography [1] ANSI/NIST ITL 1-2000 ,,Data Format for the Interchange of Fingerprint, Facial, & Scar Mark & Tattoo (SMT) Information" (NIST Special Publication 500-245) [2] A. Jain, S. Pankanti: "Fingerprint Classification and Matching", Michigan State University, 1999 [3] S. Pankanti, S. Prabhakar, A. Jain: ,,On the Individuality of Fingerprints", in IEEE Transactions on PAMI, Vol. 24, No. 8, pp. 1010-1025, 2002 [4] AAMVA Driver License Standard 20000630 -- Annex C: Finger Imaging, 2000 [5] ISO/IEC FDIS 7816-4:2003, Identification cards -- Integrated circuit cards -- Part 4: Organization, security and commands for interchange. [6] ISO/IEC FDIS 7816-6:2003, Identification cards -- Integrated circuit cards -- Part 6: Interindustry data elements for interchange. [7] ISO/IEC 8825-1:2002, Information technology -- ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER); Technical Corrigendum 2