14. A computer program product comprising a computer usable non-transitory medium having a computer readable program code embedded therein for controlling a data processing apparatus, the computer readable program code configured to cause the data processing apparatus to execute a document authentication process which comprises: (a) obtaining a target grayscale image representing a hardcopy target document, the target grayscale image including one or more halftone text areas and one or more non-halftone text areas, wherein each halftone text area includes a plurality of halftone dots, each halftone dot being formed by a plurality of pixels, each pixel being a smallest unit of the original grayscale image and each pixel having a grayscale pixel value; (b) separating the halftone text areas and the non-halftone text areas of the target grayscale image; (c) separately binarizing the halftone text areas and the non-halftone text areas generated by step (b); (d) down-sampling only the binarized non-halftone text areas generated by step (c) which correspond to the non-halftone text areas of the target grayscale image, without down-sampling the binarized halftone text areas which correspond to the halftone text areas of the same target grayscale image, whereby a binarized target image is generated; and (e) comparing the binarized target image with a binarized image of an original document to determine whether the target document is an authentic copy of the original document.
14. A computer program product comprising a computer usable non-transitory medium having a computer readable program code embedded therein for controlling a data processing apparatus, the computer readable program code configured to cause the data processing apparatus to execute a document authentication process which comprises: (a) obtaining a target grayscale image representing a hardcopy target document, the target grayscale image including one or more halftone text areas and one or more non-halftone text areas, wherein each halftone text area includes a plurality of halftone dots, each halftone dot being formed by a plurality of pixels, each pixel being a smallest unit of the original grayscale image and each pixel having a grayscale pixel value; (b) separating the halftone text areas and the non-halftone text areas of the target grayscale image; (c) separately binarizing the halftone text areas and the non-halftone text areas generated by step (b); (d) down-sampling only the binarized non-halftone text areas generated by step (c) which correspond to the non-halftone text areas of the target grayscale image, without down-sampling the binarized halftone text areas which correspond to the halftone text areas of the same target grayscale image, whereby a binarized target image is generated; and (e) comparing the binarized target image with a binarized image of an original document to determine whether the target document is an authentic copy of the original document. 15. The computer program product of claim 14 , wherein step (b) includes: identifying text characters in the original grayscale image; classifying each identified text character as either a halftone text character or a non-halftone text character based on a topological analysis of the text character; and dividing the original grayscale image into halftone text areas containing only halftone text characters and non-halftone text areas containing non-halftone text characters; where step (c) includes: binarizing each halftone text area using pixel value statistics calculated from pixels in that area only.