ISO/IEC JTC 1/SC 37 N466 2004-04-05 Secretariat, ISO/IEC JTC 1/SC 37, American National Standards Institute, 25 West 43rd Street, New York, NY 10036; Telephone: 1 212 642 4932; Facsimile: 1 212 840 2298; Email: lrajchel@ansi.org Replaces: ISO/IEC JTC 1/SC 37 Biometrics Document Type: Text for CD ballot or comment Document Title: Text of FCD 19794-4, Biometric Data Interchange Formats: Part 4: Finger Image Data Document Source: Project Editor Project Number: Document Status: As per Sydney resolution 3.6, this document is circulated for FCD letter ballot. Recipients of this document are invited to submit notification of any relevant patent rights of which they are aware and to provide supporting documentation. Action ID: LB Due Date: 2004-08-05 Distribution: Medium: Disk Serial No: No. of Pages: 60 ISO/IEC FCD 19794-4 Date: 2004-04-05 Reference number: ISO/IEC JTC 1/SC 37 N 466 Supersedes document THIS DOCUMENT IS STILL UNDER STUDY AND SUBJECT TO CHANGE. IT SHOULD NOT BE USED FOR REFERENCE PURPOSES. ISO/IEC JTC 1/SC 37 Biometrics Secretariat: USA (ANSI) Circulated to P- and O-members, and to technical committees and organizations in liaison for: - discussion at - comment by - voting by (P-members only) 2004-08-05 Please return all votes and comments in electronic form directly to the SC 37 Secretariat by the due date indicated. ISO/IEC JTC 1/SC 37 Title: Biometric Data Interchange Formats ­ Part 4: Finger Image Data Project: 1.37.19794-4 Introductory note: As per Sydney resolution 3.6, this document is circulated for FCD letter ballot. Recipients of this document are invited to submit notification of any relevant patent rights of which they are aware and to provide supporting documentation. Address Reply to: Secretariat, ISO/IEC JTC 1/SC 37, Address: 25 West 43rd Street, New York, NY 10036 Telephone: +1-212-642-4932; Facsimile: +1 212-840-2298; E-Mail: LRAJCHEL@ANSI.org ISO/IEC 2003 -- All rights reserved Document type: International Standard Document subtype: Document stage: (30) Committee Document language: E STD Version 2.1 ISO/IEC TC JTC 1/SC 37 N 466 Date: 2004-03-30 ISO/IEC FCD 19794-4 ISO/IEC TC JTC 1/SC 37 Secretariat: ANSI Biometric Data Interchange Formats ­ Part 4: Finger Image Data Élément introductif -- Élément central -- Partie 4: Titre de la partie 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. ISO/IEC FCD 19794-4 ii ISO/IEC 2003 -- All rights reserved Copyright notice This ISO document is a working draft or committee draft and is copyright-protected by ISO. While the reproduction of working drafts or committee drafts in any form for use by participants in the ISO standards development process is permitted without prior permission from ISO, neither this document nor any extract from it may be reproduced, stored or transmitted in any form for any other purpose without prior written permission from ISO. Requests for permission to reproduce this document for the purpose of selling it should be addressed as shown below or to ISO's member body in the country of the requester: ISO copyright office Case postale 56 CH-1211 Geneva 20Tel: +41 22 749 01 11 Fax: +41 22 749 09 47 E-mail copyright@iso.org Web www.iso.org Reproduction for sales purposes may be subject to royalty payments or a licensing agreement. Violators may be prosecuted. ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved iii Contents Page 1 Scope...................................................................................................................................................1 2 Conformance.......................................................................................................................................1 3 Normative references .........................................................................................................................1 4 Terms and definitions.........................................................................................................................1 4.1 biometric sample ................................................................................................................................1 4.2 capture.................................................................................................................................................2 4.3 core ......................................................................................................................................................2 4.4 fingerprint image area ........................................................................................................................2 4.5 friction ridge........................................................................................................................................2 4.6 grayscale ................................................................................................................................................2 4.7 image resolution .................................................................................................................................2 4.8 live capture..........................................................................................................................................2 4.9 pixel: ....................................................................................................................................................2 4.10 plain fingerprint image .......................................................................................................................2 4.11 ppcm ....................................................................................................................................................2 4.12 ppi ........................................................................................................................................................2 4.13 ppmm...................................................................................................................................................2 4.14 rolled fingerprint image......................................................................................................................3 4.15 scan resolution ...................................................................................................................................3 4.16 transaction...........................................................................................................................................3 4.17 valley....................................................................................................................................................3 5 Data conventions ................................................................................................................................3 5.1 Byte and bit ordering..........................................................................................................................3 5.2 Scan sequence....................................................................................................................................3 6 Image acquisition requirements ........................................................................................................3 6.1 Pixel aspect ratio ................................................................................................................................4 6.2 Pixel depth...........................................................................................................................................4 6.3 Grayscale data ....................................................................................................................................4 6.4 Dynamic range ....................................................................................................................................5 6.5 Scan resolution...................................................................................................................................5 6.6 Image resolution .................................................................................................................................5 6.7 Fingerprint image location .................................................................................................................5 7 Finger image record format................................................................................................................6 7.1 General record header........................................................................................................................6 7.1.1 Format Identifier..................................................................................................................................6 7.1.2 Version number...................................................................................................................................6 7.1.3 Record length......................................................................................................................................6 7.1.4 Capture device ID................................................................................................................................7 7.1.5 Image acquisition level.......................................................................................................................7 7.1.6 Number of finger/palm images...........................................................................................................7 7.1.7 Scale units...........................................................................................................................................8 7.1.8 Scan resolution (horizontal)...............................................................................................................8 7.1.9 Scan resolution (vertical) ...................................................................................................................8 7.1.10 Image resolution (horizontal).............................................................................................................8 7.1.11 Image resolution (vertical) .................................................................................................................8 7.1.12 Pixel depth...........................................................................................................................................8 7.1.13 Image Compression algorithm...........................................................................................................8 7.1.14 Reserved..............................................................................................................................................9 7.2 Finger record header ..........................................................................................................................9 ISO/IEC FCD 19794-4 iv ISO/IEC 2003 -- All rights reserved 7.2.1 Length of finger/palm data block.......................................................................................................9 7.2.2 Finger/palm position.........................................................................................................................10 7.2.3 Count of views ..................................................................................................................................11 7.2.4 View number......................................................................................................................................11 7.2.5 Finger/palm image quality................................................................................................................11 7.2.6 Impression type ................................................................................................................................11 7.2.7 Horizontal line length........................................................................................................................11 7.2.8 Vertical line length ............................................................................................................................11 7.2.9 Finger/palm image data ....................................................................................................................11 Annex A Annex B Annex C Annex D ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved v 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 the member bodies for voting. Publication as an International Standard requires approval by at least 75 % of the member 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-4 was prepared by Technical Committee ISO/IEC JTC 1, Information Technology, Subcommittee SC 37, Biometrics. ISO (the International Organization for Standardization) is a worldwide federation of national standards bodies (ISO member bodies). The work of preparing International Standards is normally carried out through ISO technical committees. Each member body interested in a subject for which a technical committee has been established has the right to be represented on that committee. International organizations, governmental and non-governmental, in liaison with ISO, also take part in the work. ISO collaborates closely with the International Electrotechnical Commission (IEC) on all matters of electrotechnical standardization. International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2. The main task of technical committees is to prepare International Standards. Draft International Standards adopted by the technical committees are circulated to the member bodies for voting. Publication as an International Standard requires approval by at least 75 % of the member 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 shall not be held responsible for identifying any or all such patent rights. ISO/IEC 19794-4 was prepared by Technical Committee ISO/IEC/TC JTC 1, Information Technology Standards, Subcommittee SC 37, Biometrics. 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 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 ISO/IEC FCD 19794-4 vi ISO/IEC 2003 -- All rights reserved Part 6: Iris Image Data Part 7: Signature/Sign Behavioural Data Part 8: Finger Pattern Skeletal Data ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved vii Introduction In the forensic community, the capture and transmission of fingerprint images has been a common choice for the exchange of fingerprint information used by Automatic Fingerprint Identification Systems (AFIS) for the identification of individuals. However, little to no fingerprint information is being exchanged between equipment from different vendors in the biometric user verification and access community. This has been due in part to the lack of agreement between vendors on the amount and type of information to capture, the method of capture, and the information to be exchanged. This proposed standard is intended for those applications requiring the exchange of raw or processed fingerprint images that may not necessarily be limited by the amount of resources required for data storage or transmitting time. It can be used for the exchange of scanned fingerprints containing detailed image pixel information. The standard can also be used to exchange processed fingerprint image data containing considerably fewer pixels per inch and/or a lesser number of greyscale levels. This is in contrast to the standard formats used for exchanging lists of fingerprint characteristics such as minutiae, patterns, or other variants. These formats require considerably less storage than a fingerprint image. However, by using any of these formats, information recorded in one standard format cannot be used by algorithms designed to operate with another type of information. In other words, minutiae data cannot be used by pattern matching algorithms and pattern data cannot be used by minutiae matching algorithms. Although the minutiae, pattern, or other approaches produce different intermediate outputs, all must initially capture a reasonably high quality fingerprint image before reducing the size of the image (in bytes) or developing a list of characteristic data from the image. Use of the captured or processed image can provide interoperability among vendors relying on minutiae-based, pattern-based or other algorithms. As a result, data from the captured finger image offers the developer more freedom in choosing or combining matching algorithm technology. For example, an enrolment image may be stored on a contactless chip located on an identification document. This will allow future verification of the holder of the document with systems that rely on either minutiae based or pattern based algorithms. Establishment of an image-based representation of fingerprint information will not rely on pre-established definitions of minutiae, patterns or other types. It will provide implementers with the flexibility to accommodate images captured from dissimilar devices, varying image sizes, resolutions, and different grayscale depths. Use of the fingerprint image will allow each vendor to implement their own algorithms to determine whether two fingerprint records are from the same finger. ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved 1 Biometric Data Interchange Formats ­ Part 4: Finger Image Data 1 Scope This specifies a data record interchange format for storing, recording, and transmitting the information from one or more finger or palm image areas within a CBEFF data structure. This standard could be used for the exchange and comparison of finger image data. It defines the content, format, and units of measurement for the exchange of finger image data that may be used in the verification or identification process of a subject. The information consists of a variety of mandatory and optional items, including scanning parameters, compressed or uncompressed images and vendor-specific information. This information is intended for interchange among organizations that rely on automated devices and systems for identification or verification purposes based on the information from finger image areas. Information compiled and formatted in accordance with this standard can be recorded on machine-readable media or may be transmitted by data communication facilities. 2 Conformance Systems claiming conformance with this standard shall be capable of encoding and decoding finger image data and the associated parameter data used in the transmitting and/or receiving of fingerprint images as defined by this standard. At a minimum, conformance shall require the ability to capture, exchange, and compare interoperable fingerprint image information. 3 Normative references The following referenced documents are indispensable for the application of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies. IAFIS-IC-0110 (V3) WSQ Gray-scale Fingerprint Image Compression Specification 1997 ANSI/NIST-ITL 1-2000 Information systems ­ Data Format for the Interchange of Fingerprint, Facial, and & Scar Mark & Tattoo (SMT) Information. ISO International Standard 10918-1, Information Technology - Digital Compression and Coding of Continuous-Tone Still Images Part 1: Requirements and Guidelines. This is commonly referred to as the JPEG (Joint Photographic Experts Group) algorithm. JPEG 2000 ISO International Standard15444, Information Technology - Digital Compression and Coding of Continuous-Tone Still Images Part 1: Requirements and Guidelines ANSI/INCITS 358-2002 ­ Information Technology ­ BioAPI Specification ISO/IEC CD 19785.3 Common Biometric Exchange Formats Framework (CBEFF) - Part 1: Data Element Specification 4 Terms and definitions For the purpose of this document, the following terms and definitions. 4.1 biometric sample Raw data representing a biometric characteristic of an end-user as captured by a biometric system (for example the image of a fingerprint). ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved2 4.2 capture The method of taking a biometric sample from an end user. 4.3 core The approximate center of a fingerprint image area. 4.4 fingerprint image area The area of friction skin on the fleshy surface of a finger located horizontally between the two edges of the fingernail and vertically between the first joint and the tip of a finger. It contains a unique pattern of friction ridge and valley information commonly referred to as a "fingerprint". 4.5 friction ridge The ridges present on the skin of the finger which makes contact with an incident surface under normal touch. 4.6 grayscale The method used to represent a continuous tone image that has only a single component or variable to represent each pixel; also referred to as monochrome or black and white. 4.7 image resolution The number of pixels per unit distance in the interchanged image. This may be the result of processing a captured image. The original captured scanned image may have been subsampled, scaled, interpolated, or otherwise processed to produce a form for representing the ridge and valley structure areas of the fingerprint. 4.8 live capture The process of capturing a biometric sample through an interaction between and end user and a biometric system. 4.9 pixel: A picture element ­ located on an n by m matrix of picture elements, where n is the horizontal component and m is the vertical component. 4.10 plain fingerprint image Image captured from a finger placed on a platen without any rolling movement ­ the center portion of a rolled image. 4.11 ppcm Abbreviation for pixels per centimeter. 4.12 ppi Abbreviation for pixels per inch. 4.13 ppmm Abbreviation for pixels per millimeter. ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved 3 4.14 rolled fingerprint image Image area captured that is located between the two edges of the fingernail. Acquired using a rolling motion from one edge of the fingernail to the other. 4.15 scan resolution The number of pixels per unit distance used by a sensor or scanning device to initially capture a fingerprint or palmprint image 4.16 transaction A command, message, or input record that explicitly or implicitly calls for a processing action. Information contained in a transaction shall be applicable to a single subject. 4.17 valley The area surrounding a friction ridge, which does not make contact with an incident surface under normal touch; the area of the finger image area between two friction ridges. 5 Data conventions 5.1 Byte and bit ordering Each item of information, field, or logical record shall contain one or more bytes of data. Within a record 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 less significant bytes. The order for transmission shall also be the most significant byte first and least significant byte last. Within a byte, the order of transmission shall be the most significant bit first and the least significant bit last. All numeric values are fixed-length unsigned integer quantities. 5.2 Scan sequence It is not the purpose of this standard to specify the orientation of the finger (or palm), the method of scanning, or the order of scanning used to capture the image. However, each image as presented in accordance with this format standard shall appear to have been captured in an upright position and approximately centered horizontally in the field of view. The recorded image data shall appear to be the result of a scanning of a conventional inked impression of a fingerprint. The scanning sequence (and recorded data) shall appear to have been from left-to-right, progressing from top-to-bottom of the fingerprint or palm print. Figure 1 illustrates the recording order for the scanned image. For the purpose of describing the position of each pixel within an image to be exchanged, a pair of reference axes shall be used. The origin of the axes, pixel location (0,0), shall be located at the upper left-hand corner of each image. The x-coordinate (horizontal) position shall increase positively from the origin to the right side of the image. The y-coordinate (vertical) position shall increase positively from the origin to the bottom of the image. 6 Image acquisition requirements Image capture requirements are dependent on various factors including the application, the available amount of raw pixel information to retain or exchange, and targeted performance metrics. As a result of these factors, numeric values for specific image capture parameters will be associated with one of several combinations of image acquisition parameters settings. The choice of the image acquisition settings level should therefore be commensurate with the system and application requirements. ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved4 Figure 1 Order of scanned lines Table 1 lists the minimum requirements for selected image acquisition parameters as a function of the image acquisition settings level desired. A tolerance of plus or minus 1% is applicable to the minimum numeric values stated for the scan resolution and dynamic range parameters. The last column indicates compliance with established certification procedures. Values for setting levels 40 or 41 are intended for applications requiring the greatest amount of detailed information. Scanners capable of level 30 and 31 performance are currently available and are being deployed for law enforcement purposes. Level 30 or 31 applications primarily include law enforcement agencies. Both level 41 and 31 systems should be certified using these and other requirements contained in Appendix F of the FBI's Electronic Fingerprint Transmission Specification (EFTS/F). Annex B lists the requirements from the EFTS/Appendix F that are pertinent to fingerprint image input devices. The remaining levels are designed for commercial access control and verification systems. The overall quality level of a biometric system will be limited to that level at which all of the minimums are met. 6.1 Pixel aspect ratio For all quality levels, the finger image shall be represented using square pixels, in which the horizontal and vertical dimensions of the pixels are equal. Any difference between these two dimensions should be within 1%. That is, the ratio of horizontal to vertical pixel dimensions should be between .99 and 1. 01. 6.2 Pixel depth The grayscale precision of the pixel data shall be specified in terms of the pixel depth or the number of bits used to represent the grayscale value of a pixel. A pixel depth of 3 provides 8 levels of grayscale; a depth of 8 provides up to 256 levels of gray. For grayscale data, the minimum value that can be assigned to a "black" pixel shall be zero. The maximum value that can be assigned to a "white" pixel is shall be the value with all of its bits of precision set to "1". However, the 'blackest" pixel in an image may have a value greater than "0" and the "whitest" pixel may have a value less than its maximum value. This implies that the maximum value for a "white" pixel with 5 bits of precision shall be 31 or less. The maximum value for the "whitest" pixel using 8 bits of precision shall be 255 or less. The pixel depth may range from 1 to 16 bits. 6.3 Grayscale data Grayscale finger image data may be stored, recorded, or transmitted in either compressed or uncompressed form. The image data portion of a record for an uncompressed grayscale image shall contain a set of raw pixel information. Using a pixel depth of 8 bits (256 grayscale levels) each pixel shall be contained in a single byte. Pixel values with a depth of less than eight bits can be stored and transmitted in a packed binary format. Increased precision for pixel values greater than 255 shall use two unsigned bytes to hold up to sixteen-bit pixels with values in the range of 0-65635. The encoding of a compressed grayscale image shall be the output of the appropriate grayscale compression algorithm specified. Upon decompression the grayscale value for each pixel shall be represented in the same manner as pixels in an uncompressed image. ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved 5 Table 1 -- Image acquisition settings levels Setting level Scan resolution pixels/centimeter (ppcm) Scan resolution pixels/inch (ppi) Pixel depth (bits) Dynamic range (gray levels) Certification 10 49 125 1 2 None 20 98 250 3 5 None 30 197 500 8 80 None 31 197 500 8 200 EFTS/F 40 394 1000 8 120 None 41 394 1000 8 200 EFTS/F Note ­ Manufacturers generally express the rated scan resolution of their devices in pixels per inch (ppi). Table 1 also lists the resolutions in pixels per centimetre (ppcm). These are the rounded values of each ppi resolution divided by 2.54. The ppi and ppcm values are therefore consistent with, but not exactly equal to, each other. Either system may be used, but the two should not be intermixed or re-converted. 6.4 Dynamic range The image grayscale shall be encoded using the precision necessary to meet the dynamic range requirement for a specific application. 6.5 Scan resolution Grayscale fingerprint image areas to be captured shall be acquired by an image capture device operating at a specific scanning resolution. As the resolution used in the image capture process is increased, more detailed ridge and structure information for processing becomes available. For minutiae and small feature based algorithms, use of the higher resolution enhances the detection of more closely spaced features that may not be detected using the minimum resolution. 6.6 Image resolution The resolution of the image data formatted and recorded for interchange may be the scan resolution of the image or it may have been subsampled, scaled, interpolated, or otherwise processed to produce a form for representing the ridge and valley structure areas of the fingerprint. 6.7 Fingerprint image location This standard is designed to accommodate both plain (flat) or rolled fingerprint images. Most matching systems perform better if the flat or fleshy part of the finger is centered in the image capture area. Therefore, when capturing a fingerprint image, the center the fingerprint image area should be located in the approximate center of the image capture area. For multiple finger background checking and verification purposes, there are currently fingerprint scanner devices that will acquire images of multiple fingers during a single capture cycle. These devices are capable of capturing the plain impressions from four fingers of either hand during a single scanning. The plain ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved6 impressions from two thumbs can also be captured at one time. Therefore, with three placements of the fingers on a device's scanning surface all ten fingers from an individual can be acquired in three scans ­ right four fingers, left four fingers, and two thumbs. For these multi-finger captures, half of the captured fingers should be located to the left of the image center and the other half of the fingers to the right of the image center. 7 Finger image record format This standard defines the composition of the finger image record. Each record shall pertain to a single subject and shall contain an image record (consisting of one or more views) for each of one or more fingers, single image records for multiple fingers, or palms. The biometric data record specified in this standard shall be embedded in a CBEFF-compliant structure in the CBEFF Biometric Data Block (BDB). The CBEFF BDB_biometric_organization shall be assigned by the International Biometric Industry Association (IBIA) to JTC 1 SC 37 shall be used. This is the sixteen bit value 0x0101 (hexadecimal 101 or decimal 257). There is one CBEFF BDB_format code assigned to this standard. This code shall be included in the CBEFF Header. The associated sixteen-bit CBEFF BDB_format code shall have a value of 0x0401. The BDB_PID recorded shall be defined by CBEFF. The organization of the record format is as follows: A single fixed-length (32-byte) general record header containing information about the overall record, including the number of finger/palm images represented and the overall record length in bytes; A single finger record for each finger, view, multi-finger image, or palm consisting of: A fixed-length (14-byte) finger header containing information pertaining to the data for a single or multi-finger image; Compressed or uncompressed image data view for a single, multi-finger, or palm image. Annex D provides an example of the application of this standard. It illustrates the completion of required data fields for both the general record header and the finger image record. 7.1 General record header Table 2 lists the fields included in the general record header. As this is a fixed-length header, information must be included for each field within the header. 7.1.1 Format Identifier The Format Identifier for the finger image standard record shall consist of the three ASCII characters "FIR" followed by the null character (0x0). 7.1.2 Version number The number for the version of this standard used for constructing the image 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 version number and the third character will represent the minor revision number. Upon approval of this specification, the version number shall be "010" Version 1 revision 0. 7.1.3 Record length The combined length in bytes for the entire record shall be recorded in these six bytes. This count shall be the sum of the lengths of all finger records (including all finger headers), the views for each finger, multiple finger record, and palms. ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved 7 Table 2 -- General record header Field Size Valid values Notes Format identifier 4 bytes 0x464952 (`F' `I' `R' 0x0) "FIR" ­ Finger Image Record Version number 4 bytes 0x30313000 (`0' '1' '0' 0x0) "010" Record length 6 bytes 32+ Number Views * (14 bytes + Data length ) Includes all finger views Capture device ID 2 bytes Vendor specified Image acquisition level 2 bytes See Table 1 Combination of parameters Number of fingers/palms 1 byte >=1 Scale units 1 byte 1-2 Pixels/Inch or pixels/cm Scan resolution (horiz) 2 bytes See Table 1 Up to 1000 ppi Scan resolution (vert) 2 bytes See Table 1 Up to 1000 ppi Image resolution (horiz) 2 bytes <= Scan Resolution (horiz) Quality level dependent Image resolution (vert) 2 bytes <= Scan Resolution (vert) Quality level dependent Pixel depth 1 byte 1 -16 bits 2 ­ 65536 gray levels Image compression Algorithm 1 byte See Table 3 Uncompressed or algorithm used Reserved 2 bytes Bytes set to '0x0' 7.1.4 Capture device ID The capture device ID shall be recorded in the low-order 12 bits of this two-byte field. The high order 4 bits should remain unused so that this two-byte field will agree with the similar field in the minutiae format standard. 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 scanner 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 ID is optional but recommended. The value "unreported'" may not be allowable in some applications. 7.1.5 Image acquisition level This two-byte field shall specify the image acquisition setting level chosen from table 1. The value used shall indicate the level at which all of the minimum acquisition parameters were satisfied during the capture of the image. 7.1.6 Number of finger/palm images The number of finger or palm images included in the record shall be recorded in one byte. Multiple fingers acquired by a single capture and contained in the same image are counted as a single finger image. The number of views is not part of the count for this field. ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved8 7.1.7 Scale units This field shall specify the units used to describe the scanning and image resolutions of the image. A `0x01' in this field indicates pixels per inch, or a `0x02' indicates pixels per centimeter. 7.1.8 Scan resolution (horizontal) This 2-byte field shall specify the rounded scanning resolution used in the horizontal direction. The scale units field will determine whether the value is pixels per inch or pixels per centimeter. 7.1.9 Scan resolution (vertical) This 2-byte field shall specify the rounded scanning resolution used in the vertical direction. The scale units field will determine whether the value is pixels per inch or pixels per centimeter. 7.1.10 Image resolution (horizontal) This 2-byte field shall specify the rounded image resolution used in the horizontal direction. The scale units field will determine whether the value is pixels per inch or pixels per centimeter. It should be noted that certain combinations of scan and image pixel resolution values may result in the overlapping pixels or spaces between pixels in the captured image. 7.1.11 Image resolution (vertical) This 2-byte field shall specify the rounded image resolution used in the vertical direction. The scale units field will determine whether the value is pixels per inch or pixels per centimetre. It should be noted that certain combinations of scan and image pixel resolution values may result in the overlapping pixels or spaces between pixels in the captured image. 7.1.12 Pixel depth This 1-byte field shall contain the number of bits used to represent a pixel. This field shall contain an entry of `0x1' to `0x10'. 7.1.13 Image Compression algorithm This 1-byte field shall specify the method used to record the uncompressed or compressed grayscale images. Table 3 lists the available storage options and compression algorithms that may be used. Uncompressed Table 3 -- Compression algorithm codes Code Compression algorithm 0 Uncompressed ­ no bit packing 1 Uncompressed ­ bit packed 2 Compressed ­ WSQ 3 Compressed ­ JPEG 4 Compressed ­ JPEG2000 5 PNG ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved 9 image data can be recorded in an unpacked or packed form. When using the unpacked option for grayscale pixels greater than eight bits, each pixel shall be recorded in a pair of bytes right justified. A certified version of the Wavelet Scalar Quantization (WSQ) algorithm is generally used for 8-bit, 500 ppi grayscale images and should provide a 15:1 compression ratio. This will result in little visually observable degradation. The original DCT-based JPEG algorithm can also used for compressing 8-bit 500 ppi fingerprint images but the compression ratio should be limited to 5:1 to ensure minimum humanly observable visual degradation of the image. Fingerprint/palmprint images scanned at 1000 ppi, if compressed, shall be compressed using the JPEG 2000 algorithm. The compression ratio limit of 5:1 may be exceeded for these images. When the JPEG 2000 algorithm is used, then the JPEG 2000 Profile Settings as described in normative Annex C are required to be incorporated in the procedure. 7.1.14 Reserved Two bytes are reserved for future revisions of this standard. For this version of the standard this field shall be set to all `0x0'. 7.2 Finger record header A finger header shall start each section of finger data providing information for that view of a single finger image, multi-finger image, or palm. For each such image there shall be one finger header record accompanying the view of the image data. The finger header shall occupy a total of 14 bytes as described below. The compressed or uncompressed image data for that image view shall immediately follow the header portion. Subsequent image views (including the header portion) will be concatenated to the end of the previous image view. Table 4 is a list of the entries contained in the header preceding each set of finger image data. 7.2.1 Length of finger/palm data block This four-byte field shall contain the length in bytes of the finger segment. It will specify the total number of bytes including the length of the header and the size of the compressed or uncompressed image data. Table 4 -- Finger image header record Field Size Valid values Notes Length of finger data block (bytes) 4 bytes Includes header, and largest image data block Finger/palm position 1 byte 0-15; 20-36 See Table 5 and 6 Count of views 1 1-256 View number 1 1-256 Finger/palm image quality 1 byte 1-100 BioAPI specification Impression type 1 byte Table 7 Horizontal line length 2 bytes Number of pixels per horizontal line Vertical line length 2 bytes Number of horizontal lines Reserved 1 byte __________ Byte set to '0x0' Finger/palm image data < 43x10 8 bytes __________ Compressed or uncompressed image data ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved10 7.2.2 Finger/palm position This 1-byte field shall contain the finger position. The codes for this byte as well as the maximum size of the recorded image are defined in Table 6 and Table 19 of the ANSI/NIST-ITL 1-2000 standard, "Data Format for the Interchange of Fingerprint, Facial, & Scar Mark & Tattoo (SMT) Information". The tables are reproduced here as tables 5 and 6 for convenience. Codes 0-10 from table 5 should be used for single fingers. Codes 13 and 14 are used for the images containing four fingers from the right hand and left hand respectively. Code 15 is an additional code for accommodating the simultaneous capture of the two thumbs. Codes 11 and 12 should be avoided. Codes for palm images are found in table 6. For full palms the captured area should extend from the "wrist bracelet" through the second joint of the fingers. Similarly, the captured area of the upper palm should extend from immediately below the interdigital area through the second joint of the fingers. The lower palm will cover the area from the "wrist bracelet" through the interdigital area. Table 5 -- Finger position codes, areas, and maximum dimensions Finger position Finger code Max image area (mm2 ) Width (mm) (in) Length (mm) (in) Unknown 0 1745 40.6 1.6 38.1 1.5 Right thumb 1 1745 40.6 1.6 38.1 1.5 Right index finger 2 1640 40.6 1.6 38.1 1.5 Right middle finger 3 1640 40.6 1.6 38.1 1.5 Right ring finger 4 1640 40.6 1.6 38.1 1.5 Right little finger 5 1640 40.6 1.6 38.1 1.5 Left thumb 6 1745 40.6 1.6 38.1 1.5 Left index finger 7 1640 40.6 1.6 38.1 1.5 Left middle finger 8 1640 40.6 1.6 38.1 1.5 Left ring finger 9 1640 40.6 1.6 38.1 1.5 Left little finger 10 1640 40.6 1.6 38.1 1.5 Plain right four fingers 13 6800 83.8 3.3 76.2 3.0 Plain left four fingers 14 6800 83.8 3.3 76.2 3.0 Plain thumbs (2) 15 4800 50.8 2.0 76.2 3.0 Table 6 -- Palm codes, areas, and maximum dimensions Palm position Palm code Image area (cm 2 ) Width (cm) (in) Height (cm) (in) Unknown palm 20 283.87 13.97 5.5 20.32 8.0 Right full palm 21 283.87 13.97 5.5 20.32 8.0 Right writer's palm 22 58.06 4.57 1.8 12.70 5.0 Left full palm 23 283.87 13.97 5.5 20.32 8.0 Left writer's palm 24 58.06 4.57 1.8 12.70 5.0 Right lower palm 25 195.16 13.97 5.5 13.97 5.5 Right upper palm 26 195.16 13.97 5.5 13.97 5.5 Left lower palm 27 195.16 13.97 5.5 13.97 5.5 Left upper palm 28 195.16 13.97 5.5 13.97 5.5 Right other 29 283.87 13.97 5.5 20.32 8.0 Left other 30 283.87 13.97 5.5 20.32 8.0 Right interdigital 31 106.45 13.97 5.5 7.62 3.0 Right thenar 32 77.42 7.62 3.0 10.16 4.0 Right hypothenar 33 106.45 7.62 3.0 13.97 5.5 Left interdigital 34 106.45 13.97 5.5 7.62 3.0 Left thenar 35 77.42 7.62 3.0 10.16 4.0 Left hypothenar 36 106.45 7.62 3.0 13.97 5.5 ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved 11 7.2.3 Count of views This one byte field shall contain the total number of specific views available for this finger. 7.2.4 View number This one byte field shall contain the specific image view number associated with the finger. 7.2.5 Finger/palm image quality The quality of the overall scanned finger/palm image shall be between 0 and 100 and recorded in one byte. A value of 0 shall represent the lowest possible quality and the value of 100 shall represent the highest 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/NCITS 358-2002, "BioAPI H-Level Specification Version 1.1". A matcher may use this value to determine its certainty of verification. 7.2.6 Impression type The impression type of the finger or palm image shall be recorded in this one byte field. The codes for this byte shall be as defined as contained in Tables 5 & 18 the ANSI/NIST-ITL 1-2000 standard, "Data Format for the Interchange of Fingerprint, Facial, & Scar Mark & Tattoo (SMT) Information". The tables have been shortened and are reproduced here as table 7 for convenience. Nonlive entries refer to images scanned from cards or other media. 7.2.7 Horizontal line length This two-byte binary field shall be used to specify the number of pixels contained on a single horizontal line of the transmitted image. Table 7 -- Finger and palm impression types Description Code Live-scan plain 0 Live-scan rolled 1 Nonlive-scan plain 2 Nonlive-scan rolled 3 Latent 7 Swipe 8 Live-scan Contactless 9 7.2.8 Vertical line length This two-byte binary field shall be used to specify the number of horizontal lines contained in the transmitted image. 7.2.9 Finger/palm image data This field shall contain of the grayscale image data formatted and recorded in accordance with the image compression algorithm. ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved12 Annex A (Informative) Bibliography -- Informative Reference IAFIS-IC-0110 (V3) WSQ Gray-scale Fingerprint Image Compression Specification 1997 ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved 13 Annex B Normative - Image Quality Specifications JANUARY 1999 ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved14 1.0 SCOPE AND PURPOSE These specifications apply to fingerprint scanner systems that supply fingerprint data to the major advanced Automated Fingerprint Identification System (AFIS). Electronic images must be of sufficient quality to allow for: (l) 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 to show compliance. These procedures will be used 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. 2.0 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 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- ITL 1-2000.] 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 millimetre Ronchi targets on white polyethylene terephthalate (mylar) reflective base. ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved 15 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 a test chart containing a single, representative sine wave modulation in each imaged sine wave frequency pattern that 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.] 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 a white reference target 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 a black matte reference target. 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'). ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved16 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.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. 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. 2.5 Gray-scale Linearity Using 14 gray patches in a test target as the scanner input (independent variable), true white true black A B Gray level histogram for a lightly inked card ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved 17 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. 2.6 Output Gray Level Uniformity Output gray level uniformity shall be determined by scanning both a white reference target, white matte, and a black matte reference target. 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 pixel'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 pixel's gray level shall vary from the mean gray level by more than 8.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 3.0 gray levels. 3.0 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. ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved18 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 polyethylene terephthalate (mylar) reflective base 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 ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved 19 The MTF shall be measured using test chart. 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.] ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved20 Annex C (Normative) Profile for 1000ppi Fingerprint Compression Version 1.0 25 March 2003 Contact: Margaret A Lepley, The MITRE Corporation, Bedford, MA mlepley@mitre.org ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reservedii Table of Contents 1 Scope .................................................................................................................................. 1 2 References.......................................................................................................................... 1 3 Definitions........................................................................................................................... 2 4 Abbreviations and Symbols .............................................................................................. 2 4.1 Abbreviations ................................................................................................................. 2 4.2 Symbols.......................................................................................................................... 2 5 Introduction ........................................................................................................................ 3 6 JP2 File Format................................................................................................................... 3 6.1 FP JP2 Profile................................................................................................................. 3 7 JPEG 2000 Codestream ..................................................................................................... 4 7.1 FP JPEG 2000 Profile..................................................................................................... 4 7.1.1 FP COM Marker Segment .............................................................................................. 6 7.2 FP JPEG 2000 Layers (informative) .............................................................................. 6 7.3 FP JPEG 2000 Guidance (informative) ......................................................................... 6 8 Compliance Testing ........................................................................................................... 8 8.1 Syntax Tests................................................................................................................... 8 8.2 Visual Confirmation ....................................................................................................... 9 8.3 Implementation Tests .................................................................................................... 9 8.3.1 Encoder Compliance Tests ..........................................................................................10 8.3.2 Decoder Compliance Tests ..........................................................................................11 8.3.3 Transcoder Compliance Tests .....................................................................................11 8.3.4 Test Data........................................................................................................................13 Appendix A Minimal FP JP2 Example (Informative).............................................................14 A.1 JPEG 2000 Signature Box ............................................................................................14 A.2 File Type Box.................................................................................................................15 A.3 JP2 Header Box.............................................................................................................15 A.4 Image Header Box.........................................................................................................16 A.5 Color Specification Box................................................................................................17 A.6 Resolution Box..............................................................................................................17 A.7 Contiguous Codestream Box.......................................................................................18 Appendix B Quality Metrics..................................................................................................... 1 B.1 Comparative Image Metrics........................................................................................... 1 B.1.1 Root Mean Square Error (RMSE) .................................................................................. 1 B.1.2 Mean Absolute Error...................................................................................................... 1 B.1.3 Absolute Mean Error...................................................................................................... 1 B.2 Single-Image Metrics ..................................................................................................... 2 B.2.1 Image Quality Measure (IQM) ........................................................................................ 2 FP JPEG 2000 Profile iii List of Figures Figure A-1. High-level FP JP2 Mandatory Content......................................................................14 Figure A-2. Organization of the JPEG 2000 Signature Box..........................................................14 Figure A-3. Contents of the JPEG 2000 Signature Box................................................................15 Figure A-4. Organization of the File Type Box .............................................................................15 Figure A-5. Contents of the File Type Box ...................................................................................15 Figure A-6. Organization of the JP2 Header Box .........................................................................16 Figure A-7. Contents of the JP2 Header Box ...............................................................................16 Figure A-8. Organization of the Image Header Box......................................................................16 Figure A-9. Contents of the Image Header Box ...........................................................................17 Figure A-10. Organization of the Color Specification Box.............................................................17 Figure A-11. Contents of the Color Specification Box ..................................................................17 Figure A-12. Organization of the Resolution Box .........................................................................18 Figure A-13. Contents of the Resolution Box ...............................................................................18 Figure A-14. Organization of the Contiguous Codestream Box....................................................18 Figure A-15. Contents of the Contiguous Codestream Box..........................................................19 Figure B-1. Example of IQM Interpretation of the AuxdataFile .................................................... 4 List of Tables Table 1. Codestream Requirements for FP.................................................................................. 4 Table 2. Content of FP specified COM marker.............................................................................. 6 Table 3. JPEG 2000 Parameter Guidance................................................................................... 7 FP JPEG 2000 Profile 1 Scope The 1000ppi fingerprint JPEG 2000 profile and required content of the associated JP2 format are described in this document. The purpose for this profile is to: - insure image quality - insure interoperability including backward compatibility - position criminal justice agencies to leverage commercial investment in open COTS solutions This specification is applicable to 1000ppi continuous-tone gray-scale digital fingerprint images with a bit depth of 8 bits per pixel. This specification - specifies a file format for storing and transmitting compressed 1000ppi fingerprint image data - specifies a class of encoders for converting source 1000ppi fingerprint image data to compressed image data - specifies a class of decoders for converting compressed image data to reconstructed 1000ppi fingerprint image data - specifies two classes of transcoders for converting between this compression specification and WSQ For brevity, elements of this specification will be labeled as FP. For example, references will be made to the FP JPEG 2000 profile and the FP JP2 format. All sections of this document are normative, unless explicitly labeled as informative. References The following Recommendations, Specifications and International Standards contain provisions that, through reference in this text, constitute provisions of this Specification. 1 ISO/IEC 646:1991, ISO 7-bit coded character set for information interchange. 2 ANSI/NIST-ITL 1-2000, NIST Special Publication 500-245, "American National Standard for Information Systems---Data Format for the Interchange of Fingerprint, Facial, & Scar Mark & Tattoo (SMT) Information," 2000. 3 Criminal Justice Information Services (CJIS) WSQ Gray-scale Fingerprint Image Compression Specification, Federal Bureau of Investigation document No. IAFIS-IC- 0110(V3), 19 Dec 1997. 4 ISO/IEC 15444-1:2000, JPEG 2000 Part 1: Image Coding System: Core Coding System. 5 ISO/IEC 15444-1:2000-Amd1, JPEG 2000 Part 1: Image Coding System: Core Coding System, Amendment 1. 6 ISO/IEC 15444-1:2000-Amd2, JPEG 2000 Part 1: Image Coding System: Core Coding System, Amendment 2. 7 ISO/IEC 15444-4:2002, JPEG 2000 Part 4: Image Coding System: Conformance 8 http://www.mitre.org/technology/mtf, Image Quality Measure (IQM) 9 FP JP2 Profile Compliance Testing Bounds, future publication. ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved2 Definitions For the purposes of this Specification, the definitions shown in 15444-1 [4] Section 3 and the following apply. transcoding: A process that converts one compressed format to another. Abbreviations and Symbols Abbreviations For the purposes of this Specification, the following abbreviations apply. bpp: bits per pixel FP: fingerprint IEC: International Electrotechnical Commission IQM: Image Quality Measure [8] ISO: International Organization for Standardization JPEG: Joint Photographic Experts Group. The joint ISO/ITU committee responsible for developing standards for continuous-tone still picture coding. It also refers to the standards produced by this committee. PCRL: Position-Component-Resolution-Layer RLCP: Resolution-Layer-Component-Position RPCL: Resolution-Position-Component-Layer RMSE: Root Mean Square Error WSQ: Wavelet Scalar Quantization [3] Symbols For the purposes of this Specification, the following symbols apply 0x---: Denotes a hexadecimal number : A single carriage return character : A single linefeed character : A single space character (0x20 in hexadecimal) FP JPEG 2000 Profile 3 COM: Comment marker POC: Progression order change marker Introduction This specification for storage of 1000ppi fingerprints (or like imagery such as palm- or footprints) is based upon JPEG 2000 compression. Since JPEG2000 is an extremely broad compression standard, a specific profile for JPEG 2000 in JP2 format has been developed for fingerprint compression. The FP JP2 file can be used as a single file, or encapsulated in an ANSI NIST card file [2]. The FP JPEG 2000 profile and required content of the FP JP2 format are described in this document. In addition to the profile restrictions, there is also a set of compliance tests that ensure a minimal degree of quality for FP JPEG 2000 encoders and decoders. Applications may find it easier to pass the compliance tests if the JPEG 2000 parameter settings used in test development are followed to some extent. Guidelines for JPEG 2000 settings are provided, but are not a requirement. As well as testing JPEG 2000 encode / decode capabilities, the compliance suite tests the ability to convert a 1000ppi FP JPEG 2000 compressed file into a 500ppi WSQ file. This conversion, referred to as transcoding, requires an understanding of the WSQ standard [3]. JP2 File Format JP2 is a file format that allows meta-data to be packaged with the image data, using a convention called `boxes'. Each box begins with an indication of box length and type, followed by the contents, which may be data or other boxes. Boxes contain logical groupings of meta-data or a compressed image codestream. FP JP2 Profile The JP2 specification [4] mentions mandatory, optional and customizable boxes. ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved4 The FP JP2 profile increases the list of mandatory boxes to include the Capture Resolution. A FP JP2 file must include the following: JPEG 2000 Signature box File Type box JP2 Header superbox containing: Image Header box Color Specification box (populated to indicate grayscale) Resolution superbox containing Capture Resolution Contiguous Codestream box (using the FP JPEG 2000 profile) Other optional boxes may appear in a FP JP2 file, but the above list is mandatory. An informative example of a minimal FP JP2 file is given in Appendix A. JPEG 2000 Codestream The JPEG 2000 standard [4] is very flexible, but the number of choices provided can be daunting when attempting to encode an image. To help create a useful interoperable system some additional limitations and guidance are provided. The limitations, called the FP JPEG 2000 Profile, are requirements for any 1000ppi fingerprint compression. The guidance, by contrast, is not a requirement but an aid to achieving parameter settings that are known to produce adequate image quality. FP JPEG 2000 Profile The FP JPEG 2000 fingerprint profile is an additional restriction within JPEG 2000 Profile 1 as defined in ISO 15444-1 Amd 1 [5]. Table 1 below shows the FP JPEG 2000 Profile Requirements (including Profile 1 limitations). Table 3. Codestream Requirements for FP Restrictions 1000ppi Fingerprint Profile Profile 1 Requirements FP JPEG 2000 Profile 5 Table 3. Codestream Requirements for FP Restrictions 1000ppi Fingerprint Profile Profile Indication Rsiz = 2 or 1 (minimal value appropriate) Image Size Xsiz, Ysiz < 231 Tiles Multiple tiles: XTsiz/min(XRsizi , YRsizi ) 1024 XTsiz=YTsiz Or one tile for the whole image: YTsiz+YTOsiz>=Ysiz XTsiz+XTOsiz>=Xsiz Image & tile origin XOsiz, YOsiz, XTOsiz, YTOsiz < 231 Code-block size xcb 6, ycb 6 RGN marker segment SPrgn 37 Additional FP Requirements COM marker Required COM marker indicating compression software version. See Section 0 Filter 9-7 irreversible Levels of Decomposition 6 Number of components 1 for grayscale Number of Layers At least 9 layers for bitrates less than or equal to 0.55 bits per pixel. Suggestion: Include 0.55 bits per pixel to facilitate testing and some very low rates for low-resolution display. Progression Order Resolution based predominating layer order: RPCL, RLCP, or PCRL Parsability If a POC marker is present, the POC marker shall have RSPOC 0 =0 and CSPOC 0 =0. ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved6 FP COM Marker Segment The FP profile number and software implementation must be identified using a 20-byte comment marker segment (COM) as specified in Table 4. The encoder may insert other COM markers at their discretion, but none of the other comments should have a Ccom string that begins `EncID:'. Table 4. Content of FP specified COM marker Parameter Size (bits) Values Notes COM 16 0xFF64 Required for FP profile Lcom 16 18 Rcom 16 1 Ccom is ASCII character string Ccom1 8*6 `EncID:' Fixed string, Identifying this comment. Ccom2 8*2 `1' FP JPEG 2000 profile version number. Ccom3 8*6 Character string indicating software implementation that encoded this image. (Value assigned by the FP compliance testing body.) FP JPEG 2000 Layers (informative) The actual layer bitrates can be adjusted to meet specific program requirements. In order to have sufficient quality to allow transcoding to WSQ, the compression must contain a layer bound of at least 0.55 bpp (under 15:1 compression). Files with higher amounts of compression should not be transcoded to WSQ. To offset the cost of large file sizes, multiple layers (including some very low bitrates) should be included to facilitate progressive transmission at a variety of resolutions. If the total compression contains more than 0.55 bpp, then an encoder should include an intermediate layer at 0.55 bpp to facilitate testing. FP JPEG 2000 Guidance (informative) The FP profile for JPEG 2000 given in Section 0 is very broad and leaves a variety of coding alternatives unspecified. This flexibility is intentionally included to allow for future developments. However, to ensure reasonable image quality, there are compliance tests that levy an additional quality requirement that is not part of the JPEG 2000 standard. Therefore, not all JPEG 2000 codestreams that match this profile will be able to pass the quality based certification tests. The FP JPEG 2000 Profile 7 table below enumerates the JPEG 2000 parameters that are used in the reference encoder, decoder, and transcoder. Implementations using these settings are more likely to pass the certification tests. Table 5. JPEG 2000 Parameter Guidance Parameter Test Development Settings Wavelet filter 9-7 irreversible Levels of Decomposition 6 Progression RPCL Layers 0.55 bpp, plus eight approximate bpp lower layers 0.35, 0.25, 0.15, 0.10, 0.06, 0.04, 0.025, 0.015 Image offset 0,0 Subsampling (X/YRsiz) 1,1 Components 1 Bits per sample 8 Tiles None Tile parts per tile 1 Tile offset 0,0 Precincts Max-size Code blocks 64x64 Coding alternatives Bypass mode No Reset each pass No Terminate each pass No ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved8 Vertical causal contexts No Predictable termination No Segmentation symbols No Optional Markers Present None Guard Bits 2 Quantization Format Expounded Implementation Bit Depth 32 ROI's (use of RGN) None present Reconstruction Bin Position 0.5 Compliance Testing The syntax of FP JP2 files is determined by checking the presence/formatting of specific boxes/marker segments and validating that the file can be decoded with a reference decoder. Encoder, decoder, and transcoder tests are used to ensure that implementations perform coding operations accurately. In addition to the syntax and objective metric tests, visual confirmation is performed. Syntax Tests The presence and content of the mandatory box and marker segments will be checked within FP JP2 files. In addition the FP JPEG 2000 Profile parameter settings will be checked (Profile 1, 9-7 filter, progression order, LL size, etc) Syntax Check Items JPEG 2000 Signature box File Type box Image Header box Color Specification box Capture Resolution box FP COM marker segment FP JPEG 2000 Profile 9 Match Profile 1 9-7 irreversible filter Progression order # components # levels of decomposition # layers POC restrictions The remainder of the syntax checking is achieved by validating that the file can be decoded without warning or error messages. Visual Confirmation FP compressed images must be of sufficient quality to allow for: (l) 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. Compression is not expected to eliminate defects present in the source image, but it should not introduce an abundance of visual defects. Test images shall be inspected for the addition of artifacts or anomalies such as, but not necessarily limited to, the following list. Visually detected anomalies or artifacts may be quantified to further establish their degree of severity. o boundary artifacts between tiles or codeblocks o wavelet artifacts o blurring Implementation Tests Three types of implementations are tested: encoding, decoding, and transcoding. Most of the tests include the computation of a few image metrics to ensure that adequate quality is maintained for each type of processing. Appendix B contains information relating to the computation of these image quality metrics. ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved10 Encoder Compliance Tests The encoding process generates a 1000ppi compressed file from the original 8-bit image. To ensure adequate quality, but still allow implementation flexibility in the future, testing of the encoding process will be based upon reconstructed image metrics rather than encoded wavelet coefficients. The metric thresholds are designed for a 0.55 bpp bitrate (i.e. 14.54:1 compression ratio). For each reference 1000ppi image, the encoder under test will generate a test 1000ppi JP2 file. This test JP2 file will then be decoded using the reference decoder1, to generate both a 1000ppi reconstruction and a 500ppi reconstruction. The test JP2 file and reconstructions will be compared to the corresponding reference JP2 and reference images (produced by a reference encoder) and must satisfy the following conditions. 1) The test JP2 file passes the syntax test. 2) The compressed JPEG 2000 codestream size (excluding any COM marker segments) produced by the implementation under test shall be no more than 0.1% larger than the target codestream size (0.55bpp). There is no lower limit on the codestream size. Only the size of contributions up to the layer closest to 0.55 bpp will be included in this test. 1.0100 55.0 55.08 - N NST where ST is the codestream size for the implementation under test and N is the number of pixels in the image. 3) The quality metrics of the 1000ppi reconstruction (at 0.55 bpp) shall conform to the bounds set out in the appropriate table in [9]. The table below gives a small sample of the content of that table. Original 1000ppi Reconstruction RMSE (orig 1000, test 1000) is less than IQM (test 1000ppi reconstruction) is greater than2,3 A.img A.tst.1000.der 13.11 0.0268 B.img B.tst.1000.der 9.656 0.0810 D.img D.tst.1000.der 6.475 0.0092 4) The quality metrics of the 500ppi reconstruction (using layers up to 0.55 bpp at the original resolution) shall conform to the bounds set out in the appropriate table in [9]. The table below gives a small sample of the content of that table. 1 The reference decoder used for this encoder test is JJ2000 v5.1 Available at http://jj2000.epfl.ch 2 For 1000ppi reconstructions the threshold values in these tables are at least 73% of the original image IQM. The proportion of original image quality maintained varies with image content. 3 See Appendix B for IQM preferences and auxiliary file contents required for these tests. FP JPEG 2000 Profile 11 Ref 500ppi 500ppi Reconstruction RMSE (ref 500, test 500) is less than IQM (test 500ppi reconstruction) is greater than 3,4 A_500.img A.tst.500.der 7.285 0.0117 B_500.img B.tst.500.der 5.658 0.0360 D_500.img D.tst.500.der 3.975 0.0039 5) The test reconstructions are confirmed visually. Decoder Compliance Tests Decoders must not only be able to decode FP JP2 files to sufficient quality, but also demonstrate ability to decode any JPEG 2000 Profile 1 codestream and any grayscale JP2 file. 1) The implementation under test has demonstrated JPEG2000 conformance [7] for Profile 1 Cclass 1 and JP2 grayscale. 2) The implementation under test shall decode each reference JP2 file fully and compare the resultant 8bit image to a reference 1000ppi image. The quality metrics of the 1000ppi reconstruction shall conform to the bounds set out in the appropriate table in [9]. The table below gives a small sample of the content of that table. Original Test Image RMSE (orig 1000, test 1000) is less than IQM (test 1000ppi reconstruction) is greater than 2,3 A.img A.jp2.1000.dec 12.76 0.0258 B.img B.jp2.1000.dec 9.37 0.0786 D.img D.jp2.1000.dec 6.20 0.0090 3) The test reconstructions are confirmed visually. Transcoder Compliance Tests The transcoding process is used to create a 500ppi WSQ file from a FP JP2 file. Various implementation avenues exist, but they will all use some portion of a JPEG2000 decoder along with a WSQ encoder. Two alternative tests are available. 1) If the transcoder is separable into two segments with an 8-bit character image as a result of the JPEG 2000 decoder segment, then transcoder test A is applied. 4 For 500ppi reconstructions the threshold values in this table are at least 95% of the reference 500ppi image IQM. ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved12 2) If the JPEG 2000 decoder section uses a reconstruction factor of 0.5 and passes floatingpoint data to the WSQ encoder, then transcoder test B is applied. Transcoder Test A The 8-bit image that is created by the JPEG 2000 decoder segment must be made available for testing. In addition, it must be possible to test the WSQ encoder implementation with inputs that are not derived from the JPEG 2000 decoder. Transcoder test A is then broken into two segments: a JPEG 2000 transcoder decoding test, and the WSQ encoder compliance test described in [3]. The JPEG 2000 transcoder decoding test is described here. For each reference JP2 file, the implementation under test will generate the 500ppi 8-bit image that would be passed to the WSQ encoder segment. This is called the test reconstruction. The test reconstruction will be compared to a reference 500ppi reconstruction. [The reference reconstruction is created using a reference JP2 decoder.] The difference between the test reconstruction and the reference 500ppi reconstruction at any pixel shall be at most 1 gray level. The absolute value of the mean error and the mean absolute error between the test reconstruction and the reference 500ppi reconstruction shall be no more than the values set out in the appropriate table in [9]. The table below gives a small sample of the content of that table. [The tolerances in this test are unlikely to be met without using a 0.5 reconstruction factor and greater than 16-bit implementation precision.] Reference Test Mean Absolute Error |Mean Error| A.der A.jp2.500.dec 0.01 0.005 B.der B.jp2.500.dec 0.01 0.005 D.der D.jp2.500.dec 0.01 0.005 Transcoder Test B Transcoder compliance test B is nearly identical to the WSQ encoder compliance test, with the transcoder being tested as a single unit. For each reference JP2 file, the transcoder will generate a 500ppi test WSQ file. The test WSQ file will be compared to the corresponding reference WSQ file and must meet the following conditions: FP JPEG 2000 Profile 13 1) It is a correctly formatted WSQ fingerprint file. 2) The compressed file size (excluding comments) produced by the implementation under test shall be within 0.4% of the reference compressed file size. 4.0100 - R RT S SS where ST and SR are the file size for the implementation under test and the reference WSQ file respectively. 3) All quantization bin widths (including the zero bins) shall be within 0.051% of the corresponding bin widths contained in the quantization table within the reference compressed image. 051.0100 , ,, - Rk RkTk Q QQ and 590051.0100 , ,, - k Z ZZ Rk RkTk where Qk,R and Qk,T are the quantization bin widths for the kth subband in the reference and test WSQ files respectively. Zk,R and Zk,T are the corresponding zero bin widths. 4) At least 99.99% of the bin index values, pk(m,n), within the test implementation WSQ file shall be the same as the corresponding values in the reference WSQ file and no bin index value shall differ by more than 1. Test Data Sample test images and codestreams and image metric bounds for compliance testing such as those shown in the tables in Section 8.3.1 through Section 8.3.3 can be obtained at (TBD) by sending at request to (TBD). FP COM marker SoftwareIDs are issued by (TBD). Compliance certification testing, which includes a larger test set than the sample data mentioned above, is performed by (TBD). ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved14 Appendix A Minimal FP JP2 Example (Informative) Although the JP2 format is fully described in ISO 15444-1, this annex provides an informative example of a minimum content FP JP2 file for the sake of clarity. This example is not normative, since additional meta-data may appear in FP JP2 files. A JP2 decoder will be able to interpret data from any valid JP2 file. A JP2 file is constructed of information containers called boxes. Each box begins with an indication of box length and type, followed by the contents, which may be other boxes. Boxes contain logical groupings of meta-data or a compressed image codestream. JPEG 2000 Signature Box File Type Box JP2 Header Box Contiguous Codestream Box Image Header Box Color Specification Box Resolution Box Capture Resolution Box FBI 1000ppi profile JPEG 2000 codestream Figure A-1. High-level FP JP2 Mandatory Content A.1 JPEG 2000 Signature Box The JPEG 2000 Signature box has the following format and contents. Length Type Signature Figure A-2. Organization of the JPEG 2000 Signature Box The Type field is written using ISO 646 (ASCII) and includes the space character, denoted . In hexadecimal, a correctly formed JPEG 2000 signature box will read 0x0000 000C 6A50 2020 0D0A 870A. Field Value Size (bytes) Hexadecimal FP JPEG 2000 Profile 15 Length 12 4 0000 000C Type `jP' 4 6A50 2020 Signature `<0x87>' 4 0D0A 870A Figure A-3. Contents of the JPEG 2000 Signature Box A.2 File Type Box A minimal FP JP2 file type box contains the following contents. More complex versions of this box are possible, but not required for encoders. Decoders shall be able to properly interpret any JP2 file type box. See ISO 15444-1 for a complete description of this box, and what additional options are available. Length Type Brand Version CL Figure A-4. Organization of the File Type Box Field Value Size(bytes) Hexadecimal Length 20 4 0000 0014 Type `ftyp' 4 6674 7970 Brand `jp2' 4 6A70 3220 Minor Version 0 4 0000 0000 CL `jp2' 4 6A70 3220 Figure A-5. Contents of the File Type Box A.3 JP2 Header Box A minimal FP JP2 Header box is a superbox with the following format and contents. More complex versions of this box are possible, but not required for encoders. Decoders shall be able to properly interpret any JP2 file type box. See ISO 15444-1 for a complete description of this box, and what additional options are available. ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved16 Length Type Image Header Box Color Specification Box Resolution Box Figure A-6. Organization of the JP2 Header Box Field Value Size (bytes) Hexadecimal Length 71 4 0000 0047 Type `jp2h' 4 6A70 3268 Figure A-7. Contents of the JP2 Header Box A.4 Image Header Box The Image Header box has the following format and contents. Length Type Height Width NC BPC C IPR UnkC Figure A-8. Organization of the Image Header Box Field Value Size (bytes) Hexadecimal Length 22 4 0000 0016 Type `ihdr' 4 6968 6472 Height Ysiz-YOsiz 4 Width Xsiz-XOsiz 4 NC (# components) 1 2 0001 BPC (bit depth and sign of all components) 7 1 07 FP JPEG 2000 Profile 17 C (compression type) 7 1 07 Unknown Colorspace Flag 0 1 00 IPR 0 1 00 Figure A-9. Contents of the Image Header Box A.5 Color Specification Box The Color Specification box has the following format and contents for a grayscale fingerprint. If color data is allowed in the future, then see ISO 15444-1 for a complete description of alternatives available for color. Length Type Meth Prec Approx EnumCS Figure A-10. Organization of the Color Specification Box 7.2.9.1.1 Field Value Size (bytes) Hexadecimal Length 15 4 0000 000F Type `colr' 4 636F 6C72 Method 1 1 01 Precedence 0 1 00 Approximation 0 1 00 Enumerated Colorspace 17 (= grayscale) 4 0000 0011 Figure A-11. Contents of the Color Specification Box A.6 Resolution Box A minimal FP Resolution box is a superbox with the following format and contents. The presence of this box is mandatory for FP JP2 files. More complex versions of this box are possible, but not required for FP encoders. Decoders shall be able to properly interpret any resolution box. See ISO 15444-1 for a complete description of this box, and what additional options are available. ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved18 Length0 Type0 HRcE LengthC TypeC VRcN VRcD HRcN HRcD VRcE Figure A-12. Organization of the Resolution Box Field Value Size (bytes) Hexadecimal Length0 26 4 0000 001A Type0 `res' 4 7265 7320 Length Capture Res 18 4 0000 0012 Type Capture Res `resc' 4 7265 7363 VRcN (pixels / meter) 39370 2 99CA VRcD 1 2 0001 HRcN (pixels / meter) 39370 2 99CA HRcD 1 2 0001 VRcE 0 1 00 HRcE 0 1 00 Figure A-13. Contents of the Resolution Box (indicating a capture resolution of 1000ppi) A.7 Contiguous Codestream Box The contiguous codestream box consists of the box length and type indications followed by a JPEG 2000 codestream. Length Type JPEG 2000 Codestream Figure A-14. Organization of the Contiguous Codestream Box Field Value Size (bytes) Hexadecimal Length Codestream length +8 4 FP JPEG 2000 Profile 19 Type `jp2c' 4 6A70 3263 Figure A-15. Contents of the Contiguous Codestream Box FINAL COMMITTEE DRAFT ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved 1 Appendix B Quality Metrics There is no single image metric that is known to exactly match human perception of image quality. Instead a variety of metrics are used in the literature to test various aspects of image `quality.' Several of them are used for the purposes of FP compliance testing. B.1 Comparative Image Metrics Many image metrics compare a test image against a fixed reference. RMSE, Mean Absolute Error, and Absolute Mean Error are all of this type. In each of these metrics a difference is computed between the gray values in the two images at each of the N pixel positions, and then the resulting difference image is incorporated into a particular formula. B.1.1 Root Mean Square Error (RMSE) The root mean square error is computed using the following formula: = -= N i ii referencetest N testreferenceRMSE 1 2 )( 1 ),( Where testi and referencei are gray values in the corresponding images at pixel position i. The sum is computed over all (N) pixel positions. B.1.2 Mean Absolute Error The mean absolute error is computed using the following formula: = -= N i ii referencetest N teErrorMeanAbsolu 1 1 When the maximum difference between two images is less than or equal to one, the mean absolute error becomes a measure of the number of image pixels which vary between the test and reference image. B.1.3 Absolute Mean Error The absolute mean error is computed using the following formula: = -= N i ii referencetest N MeanError 1 1 A large absolute mean error is indicative of an overall shift in image brightness, with the test image either brighter or darker than the reference image. ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved2 B.2 Single-Image Metrics In contrast to a comparative image metric, a single-image metric only relies upon data from the test image itself. The goal of this type of metric is to give a sense of image quality without reference to another image. B.2.1 Image Quality Measure (IQM) IQM is a single-image quality metric. The executable code, a user's guide, and a paper describing IQM in more detail, can be found at: http://www.mitre.org/technology/mtf The IQM code requires 3 input files to run: image file auxiliary data pertaining to the image (auxdatafile) preferences file that specifies IQM run parameters (prefsfile) IQM is computed using the following formula (eq.14 in Opt.Eng. paper at above website): IQM = 1 M2 =-1800 1800 S(1) = 0.01 0.707 W()A2 (T)P(,) For the specific application to fingerprints in this document, the parameters in the above formula have the following values: M = pixel width of square image to which IQM is applied (specified in auxdatafile) S(1) = 1.0 when specifying sensor #4 in auxdatafile W() = 1.0 with the noise-related parameter values defined in the default prefsfile, IQM should compute a value of 1.0 for W(); if it computes a different value, signified by "problem code" 5 or 6 appearing in IQM output file, it implies the fingerprint image is far off-the-mark, e.g., very noisy A(T) = visual response modulation transfer function, with peak of MTF set to 0.5 cy/pixelwidth when using prefsfile values: spot=0.6, viewdist=351.3288 (T=internal constant) P(,) = power spectrum of image, normalized by zero frequency power (in prefsfile: psntype=DC) = radial spatial frequency in units of cycles per pixelwidth; lower & upper limits defined in prefsfile (freqmin=0.01, freqmax=0.707107); pmax is bounded by maximum cartesian coordinate values: xmax=ymax=0.50 = angle around the two-dimensional power spectrum FP JPEG 2000 Profile ISO/IEC 2003 -- All rights reserved 3 The above prefsfile values are automatically invoked when the user selects "Default Preferences" at program startup. For 8 bpp images, IQM expects pure white in the image to be gray level 255. The user should always verify that the polarity of his/her images, in combination with the polarity parameter value set in the auxdatafile, either "L" or "B", results in IQM reading a near-white area of the image as near gray level 255, and a nearblack area as near gray level 0. This can be verified for an individual image by noting the gray levels for 4 pixels displayed during IQM runtime, or the gray level for 1 pixel printed to the output file, and comparing to what is known to be correct for the given image, in the given pixel locations. [For more details, see IQM_Guide, section 3-Image Formats.] Due to the nature of the IQM computation, it is only applied to square image areas. The location and size of this square area for each input image is part of the auxdatafile. The auxdatafile used on reconstructed images for encoder and decoder tests of image A is given in the following5 (this file can be generated by IQM via user data input): # AuxDataFile TEMPLATE for IQM run of Fingerprint Images @ 1000ppi & 500ppi # Use with IQM's DefaultPrefsFile # IQM is applied to square subimage in each case; subimage size is dependent on image # Subimage width for 500ppi image is always 1/2 of subimage width for corresponding 1000ppi image # All cases: sensor 4, mag=1.0 for 1000ppi image, mag=0.5 for 500ppi image # User should Always verify polarity (L or B) of actual images, as read by IQM on his/her computer ! A.tst.1000.der.pgm GRAY 1000ppi reference reconstruction for encoder test 5 The auxdatafile is free format, using spaces to separate inputs. Line breaks must occur as shown. ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved4 0 0 0 8 L 0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4 0 1.000 72 56 1024 A.tst.500.der.pgm GRAY 500ppi reference reconstruction for encoder test 0 0 0 8 L 0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4 0 0.500 36 28 512 A.jp2.1000.dec.pgm GRAY 1000ppi reconstruction for decoder test 0 0 0 8 L 0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4 0 1.000 72 56 1024 The B and D images repeat this pattern, with differences only in the final line denoting the horizontal and vertical pixel offset and size of the square subimage to which the IQM is applied. The final lines for B and D are: B 1000ppi: 144 68 900 B 500ppi72 34 450 D 1000ppi: 37 39 800 D 500ppi: 19 20 400 Figure B-1 shows an example of how IQM interprets this auxdatafile. 0 0 0 8 L 0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4 0 1.0 A.txt.1000.der.pgm GRAY 1000ppi reference reconstruction for encoder test image filename commentssignifies monochrome image widthpixels, heightpixels, headerbytes for entire image (actual values not needed for pgm format image) 8 bpp Little-endian polarity 0 (integer) followed by 13 floating points: 0.0 All 14 numbers must be present, even though they are set equal to zero for sensor #4 sensor mode Magnification (0.5 for 500ppi image) Sensor #4 72 56 1024 IQM is applied to square, 1024 pixel width subimage, whose upper left corner is at col=72, row=56, referenced to upper left corner of entire image at col=0, row=0 Figure B-1. Example of IQM Interpretation of the AuxdataFile FP JPEG 2000 Profile ISO/IEC 2003 -- All rights reserved 5 Annex D (Informative) Finger Image Data Record Example The fingerprint image area that appears in Figure 1 will serve as example of the data encoding process and will be formatted according to this standard. Assume it originated from a left index finger and that the image was captured using a live-scan device that conformed to the parameters listed under level '31' in table 1. The image has pixel dimensions of 375x625 and will be formatted as uncompressed for the purpose of illustration. Table D .1 -- Finger image header record example Field Bytes Value Notes Format identifier 1-4 46 49 52 00 "FIR" ­ Finger Image Record Version number 5-8 30 31 30 00 "010" Record length 9-14 00 00 00 03 93 b5 One finger view 32+1*(14+234,375) Device ID 15-16 01 02 Vendor Supplied Image Acquisition Level 17-18 00 1F Level 31 Number of fingers/palms 19 01 Scale units 20 01 Pixels/inch Scan resolution (horiz) 21-22 01 F4 500 pixels/inch Scan resolution (vert) 23-24 01 F4 500 pixels/inch Image resolution (horiz) 25-26 01 F4 500 pixels/inch Image resolution (vert) 27-28 01 F4 500 pixels/inch Pixel depth 29 08 256 gray levels Image compression Algorithm 30 00 Uncompressed (no bit packing) Reserved 31-32 00 00 ISO/IEC FCD 19794-4 ISO/IEC 2003 -- All rights reserved6 Table D.2 -- Finger image header record example Field Bytes Values Notes Length of finger data block (bytes) 1-4 00 03 93 95 Includes header, and largest image data block Finger/palm position 5 07 Left index finger Count of views 6 01 View number 7 01 Finger/palm image quality 7 00 Undefined Impression type 9 00 Live-scan plain Horizontal line length 10-11 01 77 375 pixels per horizontal line Vertical line length 12-13 02 71 625 horizontal lines Reserved 14 00 Byte set to '0x0' Finger/palm image data 15- 234,389 __________ Uncompressed image data