May 12, 2008

How Things Work - Fingerprint Imaging Encoding

Did you wonder what the guidelines are for encoding and decoding fingerprints? it's more abnd more important. The Wavelet Scalar Quantization (WSQ) Gray-scale Fingerprint Image Compression Algorithm is the standard for the exchange of fingerprint images within the criminal justice community.

source link

WSQ Fingerprint Image Compression
Certification Guidelines
January 12, 1999

The Wavelet Scalar Quantization (WSQ) Gray-scale Fingerprint Image Compression Algorithm is the standard for the exchange of fingerprint images within the criminal justice community. This document describes the processes and procedure for obtaining FBI certification of WSQ implementations for compliance with the WSQ Specification. This certification program will facilitate interoperability between agencies and ensure efficient access to FBI criminal justice information services.


The WSQ Specification defines a class of encoders and a single decoder with sufficient generality to decode compressed image data produced by any compliant encoder. This provides an opportunity for future enhancement in key areas while maintaining compatibility with an installed base of equipment. To obtain certification, a WSQ decoder must implement the full range of functionality contained in the WSQ Specification, Part I: Requirements and Guidelines. This includes the ability to reconstruct images using even and odd length filters and imbedded restart codes. Part III of the WSQ specification contains the specific parameter values that must be implemented by encoders for certification.

Compliance with the WSQ Specification is determined by comparing the output from the implementation under test with the output from a double precision reference implementation developed at the National Institute of Standards and Technology (NIST). The comparison criteria and accuracy requirements are contained in the WSQ Specification, Annex AA: Procedures for Determining Compliance.

Certification Procedure

The vendor using the reference test set created from the NIST reference implementation conducts initial certification testing. This self-test procedure enables a vendor to react quickly to technology advancements and market requirements without being constrained by the FBI's limited personnel resources. Once the vendor has determined that the equipment meets all the requirements in the WSQ Specification, an FBI WSQ software implementation number must be obtained from:

Mr. Tom Hopper
FBI, JEH Bldg.
CJIS Div / Rm 11192E
935 PA Ave., NW
Washington, DC 20537-9700
[email protected]

The reference test set can be downloaded from NIST via the Internet.

Details on access procedures using 'ftp' and a directory listing are contained in Attachment A. The test set is based on 19 images; each compressed at two different bit rates, producing 38 separate tests for the encoder. For each test, the encoder under test must match the file size, the parameter values in the header, and the quantized wavelet coefficient bin index values of the reference data within the accuracy requirements contained in the WSQ Specification. The WSQ software implementation number assigned by the FBI must also be contained in the Frame Header of each compressed file.

In addition to the 38 compressions above, the decoder test set also contains 6 images compressed with parameter values other then those given in Part III of the WSQ Specification. These additional tests evaluate the decoder's functionality on the full range of parameter values given in Part I of the WSQ Specification. For each of these 44 tests, the reference-compressed image is reconstructed using the decoder under test and the result compared to the reference reconstruction.

After processing the appropriate files for the encoder and decoder, a certification request containing the test report, test results, and all generated compressed and reconstructed files (cmp000xx with extensions '.wsq' and '.rec') are forwarded to the FBI for review and evaluation. The certification request must also identify the FBI implementation number acquired from Tom Hopper, the implementation platform, including the hardware, operating system, and compiler. The FBI may request additional information or conduct supplemental tests to determine full compliance with the WSQ Specification.

If all the required information is complete and the results are satisfactory, the IAFIS Program Office will issue a letter certifying that the implementation is compliant with the WSQ Specification. That implementation number and description will than be added to the current list of approved implementations maintained by the FBI.

The FBI certification for an implementation will apply only to a specific configuration. A configuration encompasses the software version of the encoder/decoder, hardware platform, operating system, and compiler used. As any of these components change, a recertification will be required.

Attachment A: Reference Test Set

The reference test files are available on the Internet at the NIST ftp site []. The files can be downloaded using the following commands:

- "ftp" to and use "anonymous" as the login name;
- Use your e-mail address as the password (e.g. [email protected]);
- Change to directory pub/cmp_imgs by typing "cd pub/cmp_imgs/cmp_imgs";
- Set non-prompting mode by typing "prompt" on a line by itself;
- Set transfer mode to binary by typing "binary" on a line by itself;
- Transfer all the original image files from this directory by typing "mget *.raw";
- Use similar commands to transfer the rest of the files;
- Disconnect from sequoyah by typing "quit" on a line by itself.

The README file provides additional documentation and the DIRECTRY file, listed below, provides a complete listing of all files.

total 8740
drwxr-xr-x 2 root 4096 Jun 28 08:06 225
drwxr-xr-x 2 root 4096 Jun 28 08:09 75
-rw-r--r-- 1 root 814 May 10 13:38 CHANGES
-rw-r--r-- 1 root 0 Jun 28 08:19 DIRECTRY
-rw-r--r-- 1 root 2698 May 10 13:26 README
-rw-r--r-- 1 root 356345 Apr 4 08:59 cmp0000l.raw
-rw-r--r-- 1 root 638976 Apr 4 08:59 cmp00002.raw
-rw-r--r-- 1 root 638976 Apr 4 08:59 cmp00003.raw
-rw-r--r-- 1 root 612880 Apr 4 08:59 cmp00004.raw
-rw-r--r-- 1 root 638976 Apr 4 08:59 cmp00005.raw
-rw-r--r-- 1 root 638976 Apr 4 08:59 cmp00006.raw
-rw-r--r-- 1 root 347710 Apr 4 08:59 cmp00007.raw
-rw-r--r-- 1 root 600000 Apr 4 08:59 cmp00008.raw
-rw-r--r-- 1 root 347136 Apr 4 08:59 cmp00009.raw
-rw-r--r-- 1 root 197250 Apr 4 08:59 cmp000l0.raw
-rw-r--r-- 1 root 440238 Apr 4 08:59 cmp000ll.raw
-rw-r--r-- 1 root 369456 Apr 4 08:59 cmp000I2.raw
-rw-r--r-- 1 root 350889 Apr 4 08:59 cmp000l3.raw
-rw-r--r-- 1 root 269348 Apr 4 08:59 cmp000l4.raw
-rw-r--r-- 1 root 292120 Apr 4 08:59 cmp000l5.raw
-rw-r--r-- 1 root 504828 Apr 4 08:59 cmp000l6.raw
-rw-r--r-- 1 root 346986 Apr 4 08:59 cmp000l7.raw
-rw-r--r-- 1 root 562500 Apr 4 08:59 cmp000l8.raw
-rw-r--r-- 1 root 562500 Apr 4 08:59 cmp000l9.raw
drwxr-xr-x 2 root 8192 Jun 28 08:l1 not_7_ 9

All reconstructed and compressed files are in subdirectories 75, 225, and not_7_9

Posted by staff at May 12, 2008 09:28 AM