An optical character recognition apparatus and a method for selecting an operational mode thereof

Abstract: A method of recognizing the effects of coarse pixel quantization on text represented via raster signals that enables automatic selection between the fax and normal modes of a optical character recognition unit (33), in order to enhance the reading performance of the optical character recognition unit for lower resolution images produced by facsimile machines. A processor (40) executes instructions stored in a memory (41) to trace the contours of connected components (51,90) included within a sample image (32) in a document (31) and to count the number of runs one, two, and three pixels in length along the contour. If the sample image includes few runs of two pixels in length along the contours of its connected components as compared to the number of runs of one and three pixels in length, then the sample image has undergone coarse pixel quantization and the processor selects the fax mode of the optical character recognition unit.

Description: The present invention describes an optical character recognition apparatus and a method for selecting an operational mode, i.e. normal mode or coarse mode. Raster-graphics format is one of a number of data format types used in image processing. All raster-graphics formats represent an image as a group of sampled points in two dimensional space. The sampled points are usually referred to as pixels. In other words, raster-graphics formats describe images using an imaginary grid populated by pixels. Some raster-graphics formats represent chromatic pixels using a group of values for primary chroma, such as red, blue and yellow. Other raster-graphics formats describe achromatic pixels via values indicative of a gray scale varying between black and while. Still other raster-graphics formats describe achromatic pixels using binary values representing only black and white. Different input/output devices use different raster-graphics formats and provide different image resolution. In other words, the size of pixels can vary between raster-graphics data formats and between input/output devices. Some printers are capable of providing 600 dot per inch (dpi) (about 24 dots per mm) resolution. Scanners can provide resolution of 400 dpi (about 16 dots per mm). In contrast, standard resolution for facsimile devices is 100 x 200 dpi (about 4 x 8 dots per mm). Thus, facsimile devices use coarse pixel quantization as compared to other input/output devices. The resolution of images that have been faxed is impaired even if they are rescanned and reprinted subsequent to faxing. Artifacts of having passed through a low-resolution bottleneck remain; that is to say, image quality is not improved merely by using a larger number of smaller pixels. Optical character recognition units transform signals in raster-graphics or bitmap format into character-coded signals such as ASCII. Optical character recognition units do so by recognizing the shape of individual characters, such as letters, numbers, and punctuation, and then generating a signal indicative of a number representing the character recognized. As a result, the deformation of character shape caused by faxing causes difficulties for many optical character recognition units. Some optical character recognition units attempt to deal with this problem by including a coarse mode in addition to the normal mode. Unfortunately, selection of coarse-mode optical character recognition requires human intervention. An apparatus for optical character recognition employing optional pre-processing, i.e. magnification of picture data, dependent on the resolution of said picture data prior to recognition is described in a Patent Abstract of Japan JP-A-6 020 095, vol. 018, no. 232, 27 April 1994. However, sole magnification of said image data does not automatically improve performance of the recognition. It is, therefore, the object of the present invention to improve performance of optical character recognition by providing an apparatus and a method for selecting its operational mode. This object is achieved by a method for selecting its operational mode as claimed in independent claim 1 and an apparatus as claimed in independent claim 9. The present invention will now be described by way of example, with reference to the accompanying drawings, in which like reference numerals indicate like elements, and wherein: Figure 1 is a block diagram of a system that identifies documents that have undergone coarse pixel quantization and automatically selects the appropriate mode for optical character recognition unit; Figure 2A illustrates a group of characters that were scanned at 400 dpi (about 16 dots per mm); Figure 2B illustrates the same group of characters that were faxed, then scanned at 400 dpi; Figure 3A is a magnified view of a portion of a diagonal line generated by scanning an original document at 400 dpi; Figure 3B is a magnified view of a diagonal line generated by first faxing the original document and then scanning in the fax document at 400 dpi; Figure 4 is a flow diagram of a process for determining whether a document has undergone coarse pixel quantization and selecting the appropriate mode for optical character recognition; Figure 5 illustrates a connected component; Figure 6 graphs scaled S values for three versions of a set of documents; and Figure 7 is a flow diagram of a process for tracing the contour of a connected component and determining the number of diagonal runs one, two, and three midpoints in length. A. Optical Character Recognition System Figure 1 illustrates document management system 30, which permits documents to be input in a variety of forms, then stored, edited, and converted from bitmap representations to character-coded representations such as ASCII As used herein, character-coded signals describe any method of coding and representing the symbols of an alphabet or a language. Optical character recognition unit 33 includes resolution detection unit 34 of the present invention, which determines whether a document has been coarsly quantized, i.e. faxed. That determination enables resolution detection unit 34 to select one of two recognition units 36 or 38 to convert the bitmap representation of document 31 into character-coded signals. Processor 40 may use the character-coded signals representing document 31 in a variety of ways Processor 40 may store the character coded representation of document 31 within memory 41 or on machine-readable media input to disk drive 44. Processor 40 may display document 31 on monitor 45, allowing a user to read document 31 or edit document 31 using keyboard 46 or mouse 47. Processor 40 may also generate a hard copy of document 31 by coupling its character-coded representation to printer 48. Other uses of the character-coded representation of document 31 are also possible. Processor 40 performs its analysis of the raster-graphics signals representing document 31 using instructions stored within memory 41. Memory 41 can be realized using solid-state memory devices such as read-only memories (ROM), random-access memories (RAM), dynamic random-access memories (DRAM), programmable read-only memories (PROM), erasable programmable read-only memories (EPROM), and electrically erasable programmable read-only memories (EEPROM), such as flash memories. Alternatively, the instructions for determining whether document 31 has undergone coarse pixel quantization can be stored on machine readable medium input to disk drive 44. B. Artifacts of Coarse Pixel Quantization System 30 identifies documents that have undergone coarse pixel quantization by searching for character features that are the artifacts of faxing. Consider Figure 2A and its companion, Figure 2B, which both include the letters "Ove." The letters of Figure 2A were printed, scanned at 400 dpi, magnified by a processor and then printed. While including some jagged edges, the letters of Figure 2A approximate curves reasonably well. The letters of Figure 2B were printed, faxed, scanned at 400 dpi, magnified by a processor, and then reprinted. In contrast to Figure 2A, the letters of Figure 2B do not approximate curves as well. Note the squareness at the top and bottom of the "O" and the thickness of the "v" in Figure 2B as compared to their counterparts in Figure 2A. These are artifacts of coarse pixel quantization -- abrupt, jagged representations of diagonals. The differences in the representation of diagonals can be seen in more detail in Figures 3A and 3B. Both figures represent connected components composed of a number of black pixels 50, represented by black crosshatched squares. As used herein, a connected component refers to an image, shape, or character, formed by a number of black pixels that are contiguous within the imaginary grid used to represent images in the selected raster format. Connected component 51 of Figure 3A is a reproduction of a diagonal line generated by scanning an original document at 400 dpi. Connected component 52 of Figure 3B is a reproduction of a diagonal line generated by first faxing the original document and then scanning in the fax document at 400 dpi. In other words, connected component 52 has undergone coarse pixel quantization. Connected component 51 is a more satisfactory representation of a diagonal line than connected component 52 because the stair-step change from one row of pixels to the next is more gradual and more consistent. Pixel midpoints 53 along the contours of connected components 51 and 52 aid in the identification of the effects of coarse pixel quantization. Pixel midpoints 53 define many diagonal runs two midpoints in length along the contour of connected component 51. In contrast, along the contour of connected component 52 pixel midpoints 53 define many diagonal runs three midpoints in length, a number of diagonal runs one midpoint in length and a still smaller number of diagonal runs two midpoints in length. Thus, a comparison of the number of diagonal runs two midpoints in length to the number of diagonal runs three midpoints and/or one midpoint in length provides a means for identifying the effects of coarse pixel quantization. C. Recognizing Coarse Pixel Quantization Figure 4 illustrates in flow diagram form process 60 stored in memory 41 (Figure 1) and executed by processor 40 to determine whether document 31 has undergone coarse pixel quantization. Using process 60, processor 40 traces the contours of all connected components within a sample image 32 (Figure 1), which forms part of document 31. While tracing the contours of connected components, processor 40 counts the number of diagonal runs of one two and three midpoints in length. By comparing the number of diagonal runs two midpoints in length to the number of diagonal runs one midpoint and/or three midpoints in length processor 40 determines whether document 31 has undergone coarse pixel quantization and coarse-mode optical character recognition should be selected. Processor 40 begins execution of process 60 in response to receipt of raster-graphics signals representing sample image 32 of document 31. Sample image 32 may contain line art, but sample image 32 preferably includes text. Sample image 32 should contain no halftones. The content of sample image 32 is preferably less than the entire content of document 31 and may be as little as a single paragraph or a few words. In the following description of process 60 it is assumed that the text of document 31 is black on a white background. Process 60 can be modified to handle white text against a black background consistent with the present invention. The location of sample image 32 within document 31 is unimportant. The shape of sample image 32 is unimportant also. Analyzing only sample image 32, as opposed to all of document 31, is preferable because it decreases the total time required to select the appropriate optical character recognition mode and generate character-coded signals representative of the textual content of document 31. Processor 40 advances to step 62 upon receipt of raster-graphics signals representative of sample image 32. During steps 62 and 64 processor 40 prepares to trace the contours of connected components within sample image 32. During subsequent steps processor 40 will track the location within sample image 32 being examined using an auxiliary image, which is created during step 62. The shape of the auxiliary image should be identical in shape to that of sample image 32. Processor 40 selects values representative of white for all of the raster locations of the auxiliary image. Processor 40 tracks which raster locations within sample image 32 have been examined by changing the color of pixels within the auxiliary image associated with the same raster location. Processor 40 stores the representation of the auxiliary image in memory 41. After creating the auxiliary image, processor 40 branches from step 62 to step 64. During step 64, processor 40 initializes the raster location of sample image 32 to be examined to the origin; i.e., (0,0) for a rectangular sub-image. Processor 40 also initializes a runlength histogram to [0,0,0] during step 64. Processor 40 will use the runlength histogram during subsequent steps to track the number of diagonal runs one, two and three midpoints in length defined by the contours of connected components within sample image 32. When preparations for contour tracing are completed, processor 40 branches to step 66 from step 64. During step 66 processor 40 begins searching for an edge of a connected component within sample image 32 by examining in a raster fashion each pixel within sample image 32, starting with the current raster location. Processor 40 examines the value of sample image 32 associated with the current raster location and increments the current raster location in raster fashion until a value indicative of a black pixel is discovered That is not to say processor 40 can examine only one pixel at a time. For efficiency, processor 40 retrieves at one time the pixel values associated with a group of raster locations; i.e., processor 40 may retrieve a byte, a word, or a double-word at a time. By comparing the value of the group of pixels to a value indicative of a group of all white pixels, processor 40 can quickly determine whether any pixel within the group is black. if any pixel within the group is black, processor 40 will examine each pixel of the group individually. Otherwise, processor 40 retrieves the values for another group of pixels. When an edge of a connected component is discovered or every pixel associated with sample image 32 has been examined, processor 40 branches to step 68 from step 66. Processor 40 determines during steps 68 and 70 whether it should trace the edge of the connected component associated with the current raster location. Processor 40 first determines during step 68 whether every pixel within sample image 32 has been examined. If processor 40 has already examined every pixel forming sample image 32, then there is no need to trace the edge of the connected component associated with the current raster location. That is not the current case; therefore, processor 40 responds by branching to step 70 from step 68 Processor 40 determines during step 70 whether the contour associated with the current raster location has already been traced. Processor 40 makes this determination by examining the value associated by the auxiliary image with the current raster location. If that value represents a white pixel, processor 40 has not yet traced the contour associated with the current raster location That is the current case so processor 40 advances to step step 72 from step 70. During step 72 processor 40 traces the contour associated with the current raster location by noting the midpoint between white and black pixels. This varies from previous contour tracing techniques, which identify the centers of pixels defining a contour boundary. The advantage of recording the midpoints between white and black pixels defining a contour is preservation and identification of stair-step changes along a contour, which were previously discussed with respect to connected components 51 and 52 as being indicative of whether characters have undergone coarse pixel quantization. To illustrate, consider Figure 5, an illustration of connected component 90 composed of black pixels 92. White pixels are indicated by the white area surrounding connected component 90. The contour of connected component 90 is indicated by pixel midpoints, which are illustrated by black dots, including 94, 96, 98, 100, 102, 104, 106, 108 and 110. While tracing the contour of connected component 90, processor 40 also measures the lengths of contours of connected component 90 in each of the four diagonal directions and records the number of diagonal runs one, two, or three midpoints in length. In Figure 5 pixel midpoints 94, 96, 98, and 100 define a run 3 midpoints in length, pixel midpoints 102, 104, and 106 define a run two midpoints in length, and midpoints 108 and 110 define a run one midpoint in length. According to process 60, processor 40 recognizes eight directions, or orientations, while tracing a contour: north, south, east, west, northeast, northwest, southeast, and southwest. The dimensions of a contour in north, south, east ana west orientations are not of much interest because these orientations do not define diagonal lines. Consequently, only runs oriented to the northeast, northwest, southeast, and southwest are tracked by process 60. Processor 40 performs one additional task while it traces the contours of a connected component during step 72. Processor 40 changes to black the color associated with the current raster location by the auxiliary image. Processor 40 continues tracing the contour of a connected component within sample image 32 until processor 40 discovers that the pixel location matches the starting location recorded in step 120 (Figure 7). Processor 40 responds to that discovery by branching from step 72 to step 66. Processor 40 repeatedly executes steps 66, 68, 70, and 72 until the contour of every connected component within sample image 32 has been traced. When every contour has been traced, processor 40 branches from step 68 to step 74. During step 74 processor 40 examines the information it gathered previously to determine whether document 31 has undergone coarse pixel quantization. In one embodiment, processor 40 makes this decision simply by taking the values of the runlength histogram and comparing the number of diagonal runs 2 midpoints in length to the number of diagonal runs 1 and/or 3 midpoints in length. If the number of diagonal runs 2 midpoints in length is not greater than the number of diagonal runs 1 and/or 3 midpoints in length, then document 31 has probably undergone coarse pixel quantization. Preferably, processor 40 makes its prediction whether document 31 has undergone coarse pixel quantization by calculating a statistic, denoted S, using the runlength histogram and comparing the value of S to a threshold value, T Preferably, S = 2r 2 - r 1 - r 3 ; where: r 1 represents the number of diagonal runs 1 midpoint in length; r 2 represents the number of diagonal runs 2 midpoints in length; and r 3 represents the number of diagonal runs 3 midpoints in length. Without scaling, S generally will not be a whole number. Scaling S by some factor to ensure that it is a whole number reduces the time required to execute process 60 by eliminating the need to handle floating-point numbers. Ensuring that S is not a floating point number also improves the portability of process 60 by eliminating compatibility problems caused by the different manner in which different platforms handle floating-point operations. After calculating S, processor 40 compares S to T. The value of T is preferably chosen by calculating S for a number of documents, some of which have undergone coarse pixel quantization and some that have not By examining the range of values of S generated for both sets of documents, a user of process 60 will be able to select a value for T that distinguishes between documents that have undergone coarse pixel quantization and documents that have not. For example, Figure 6 graphs S values scaled by 100 for documents designated A through R and U. A value of S was generated for three versions of each document, a high resolution version, a version that undergone fax transmission at high resolution and a third version that underwent fax transmission at standard fax resolution. Figure 6 shows that for each document the scaled S value generated for the unfaxed version of each document is greater than that generated for either faxed version of the same document. According to Figure 6, when scaling S by 100 any value of T between 60 and 75 will enable distinction between documents that have undergone coarse pixel quantization and those that have not. Processor 40 decides that document 31 has undergone coarse pixel quantization if the scaled value of S is less than T. In that case, processor 40 branches to step 76 from step 74. During step 78, processor 40 enables operation of coarse-mode recognition unit 38. Coarse-mode recognition unit 38 compares the characters of document 31 represented by raster-graphics signals to properties representative of characters that have undergone coarse pixel quantization to generate character-recognition signals. On the other hand, if the scaled value of S exceeds T, then processor 40 believes that document 31 has not undergone coarse pixel quantization. In response, processor 40 branches to step 78 from step 74. During step 78, processor 40 enables operation of normal-mode optical character recognition unit 36, which uses character properties appropriate for high-resolution characters to generate character-recognition signals. Whichever recognition unit 36 or 38 generates the character-recognition signals, those signals are coupled to output circuit 39, which generates character-coded signals representative of the characters recognized. Processor 40 performs its last task of process 60 after it receives the character-coded signals representative of the textual content of document 31. During step 80, processor 40 stores in memory 41, or to some machine readable media within disk drive 44, for later use the character-coded signals generated by optical character recognition unit 33. D. Contour Tracing Tracing the contours of connected components within sample image 32 is essential to determining whether or not document 31 has undergone coarse pixel quantization. Thus far, discussion of contour tracing during step 72 has focused on the tasks to be accomplished, not how those tasks may be performed. Figure 7 illustrates in flow diagram form one method of performing the contour tracing tasks of step 72. Processor 40 begins execution of process 72 with some initial preparations for the task to follow. During step 120, processor 40 initializes variables that will be used while tracing the contour of the connected component associated with the current raster location. Three variables are used to determine where processor 40 has been, where it is, and where it should go along a contour. Starting location indicates the raster location of the point at which processor 40 begins tracing a connected component. Current location indicates the current raster location of the sample image being examined. Current orientation indicates the direction in which processor 40 is currently moving along a contour During step 120, processor 40 sets the starting location equal to the current raster location, sets the current location equal to the starting location, and sets the current orientation to south. Processor 40 advances to step 122 from step 120. Processor 40 determines during step 122 where it should move along the contour given the current orientation and current location. The current location and current orientation define a local neighborhood on the contour that includes the next location and defines the next orientation. To illustrate, consider again connected component 90 of Figure 5. Assume that pixel 140 is the starting location. Because pixel 140 was selected as the starting position by scanning in raster fashion until a black pixel was located, processor 40 knows that the left edge of pixel 140 forms part of the contour that is to be traced. That is to say, midpoint 142 represents the location on pixel 140 from which processor 40 needs to move. The next location must be a pixel midpoint between a black pixel and a white pixel. Moving one midpoint length to the south of pixel midpoint 142 would make the next location the midpoint between pixels 146 and 148, both of which are black As a consequence, the next location cannot be pixel 146, nor can the next orientation be south. Moving one midpoint length to the southwest of midpoint 142 would make the next location the pixel midpoint between pixel 148, which is black, and pixel 152, which is white. Thus, pixel midpoint 150 of pixel 148 represents an acceptable next location given that southwest is the next orientation. Accordingly, processor 40 sets the next location to pixel 148 and sets the next orientation to southwest. Afterward, processor 40 advances to step 124 from step 122. Processor 40 determines whether moving to the next location from the current location will end or continue the current run along the contour. The current run ends if the next orientation is not the same as the current orientation. Comparing the two orientations, south to southwest, processor 40 discovers that it has completed the tracing of one run along the contour Processor 40 responds by branching to step 126 from step 124. Having reached the end of a run along the contour of connected component 90, processor 40 now determines whether that run is a type indicative of the type of pixel quantization document 31 has undergone. That determination requires examining two characteristics of the current run. First, during step 126, processor 40 evaluates the current orientation to determine whether the current run is a diagonal run. Only diagonal runs are of interest to process 72. Discovery that the current orientation is north, south, east, or west causes processor 40 to branch from step 126 to step 130. On the other hand, if the current orientation is northeast, northwest, southeast or southwest, the current run may be one of interest, so processor 40 branches to step 126 to continue its evaluation. During step 126, processor 40 determines whether the just ended run was one, two, or three midpoints in length. If so, processor 40 branches to step 128 from step 126 and updates the appropriate variable of the runlength histogram. That done, processor 40 advances to step 130 from step 128. Processor 40 advances directly to step 130 from step 126 when the length of the run just traced along the contour is less than 1 midpoint in length or greater than three midpoints in length, as is the current case. During step 130, processor 40 prepares to trace a new run along the contour by setting the value of the current run length to zero. That done, processor 40 advances to step 132 from step 130. Processor 40 changes the current location to the next location during step 132 by setting the current location equal to the next location. To reflect its examination of that location, during step 134, processor 40 changes to black the color of the auxiliary image associated with the current location. Processor 40 then advances to step 136 from step 134. During step 136, processor 40 determines whether it has completely traced the contour of the connected component by comparing the current location to the starting location. If the two locations are not identical, processor 40 has not yet completely traced the contour. When that is the case, processor 40 returns to step 122 from step 136 to select for examination the next pixel along the contour of connected component 90. The task facing processor 40 upon its return to step 122 is what should the next location and next orientation be given the current location is pixel 148 (Figure 5) and the current orientation is southwest. By continuing to trace in a southwest orientation from the current location, midpoint 150, the next location would be pixel midpoint 153, which is located between black pixel 148 and white pixel 154, as required. Thus, processor 40 sets the next location to pixel 148 and the next orientation to southwest. Processor 40 then branches to step 124 from step 122. As before, during step 124 processor 40 determines whether movement to the next location will end the tracing of a run along the contour of connected component 90. Processor 40 discovers that is not the current case because the next orientation, southwest, is the same as the current orientation. In response, processor 40 advances to step 125 and increments the length of the current run by one. That done, processor 40 advances to step 132 and executes steps 132, 134 and 136 in the manner previously discussed. Processor 40 will continue executing process 72 until it has completely traced the contour of a connected component. When that occurs, processor 40 exits step 136 and advances to step 140, where control of processor 40 returns to process 60.

Claims: A method of selecting one of two operational modes, coarse mode or normal mode, for optical character recognition, that is employed to produce a character-based representation from a raster-graphics-based representation of a document, said raster-graphics-based representation comprising a plurality of connected components (51,52) represented by a plurality of pixels (50) of a first color and surrounded by a plurality of pixels of a second color, said method comprising the following steps: a) obtaining a sample from said raster-graphics-based representation, b) measuring (60) contours of connected components (51,52) contained within said sample to determine whether said raster-graphics-based representation is coarsely quantized by evaluating the lengths of midpoint runs in diagonal directions of connected components (51,52) within said sample, and c) selecting said coarse mode if said raster-graphics-based representation is coarsely quantized and selecting otherwise said normal mode, wherein a midpoint (53) is situated on the borderline between a pixel (50) of said first color and a pixel of said second color. A method as claimed in claim 1, wherein step b) comprises: 1) determining a first number of diagonal midpoint runs of length 1 or 3, and 2) determining a second number of diagonal midpoint runs of length 2. A method as claimed in claim 2, wherein said raster-graphics-based representation is determined to be coarsely quantized if said second number is less than said first number. A method as claimed in claim 1, wherein step b) comprises: 1) determining a first number of diagonal midpoint runs of length 1 2) determining a second number of diagonal midpoint runs of length 2, and 3) determining a third number of diagonal midpoint runs of length 3. A method as claimed in claim 1, wherein step b) comprises: 1) creating (62) an auxiliary image having the shape of said sample, said auxiliary image being associated with raster locations of said sample, each raster location of said auxiliary image being set to said second colour, 2) examining (66) raster locations of said sample until said first color is discovered at a first raster location, 3) if said auxiliary image comprises said second color at said first raster location (70): 3.1) tracing (72) the contour of a connected component (51,52) including said first raster location to count a first number of diagonal midpoint runs of length 1, a second number of diagonal midpoint runs of length 2, and a third number of diagonal midpoint runs of length 3 along said contour, 3.2) changing (72) raster locations of said auxiliary image that correspond to raster locations forming said contour of said connect component (51,52) to said first color, and 4) repeating (68) steps 2) and 3) until each raster location of said sample has been examined. A method as claimed in claim 4 or 5, wherein said raster-graphics-based representation is determined to be coarsely quantized if said second number is less than a sum of said first number and said third number. A method as claimed in claim 4 or 5, wherein said raster-graphics-based representation is determined to be coarsely quantized if twice said second number minus a sum of said first number and said third number is less than a threshold value. A method as claimed in claims 1 to 7, wherein said character-based representation comprises ASCII codes. An optical character recognition device (33), comprising: a) a normal recognition unit (36) for optically recognizing characters included in a raster-graphics-based representation of a document (31) that has not been coarsely quantized, said normal recognition unit (36) generating character recognition signals when a mode signal is in a first state, b) a coarse recognition unit (38) for optically recognizing characters included in a raster-graphics-based representation of a document (31) that has been coarsely quantized, said coarse recognition unit (38) generating character recognition signals when said mode signal is in a second state, c) an output unit (39) for generating character codes in response to said character recognition signals, and d) a mode selector (40,41) for generating said mode signal in response to a sample included in said raster-graphics-based representation of said document (31), said mode selector bringing said mode signal to said first state if analysis of said sample indicates that said sample has been coarsely quantized, and said mode selector bringing said mode signal to said second state if analysis of said sample indicates that said sample has not been coarsely quantized. An optical character recognition device (33) as claimed in claim 9, wherein said mode selector comprises: 1) a processor (40) for executing instructions for determining whether said sample has been coarsely quantized, and 2) a memory (41) coupled to said processor (40) for storing said instructions. An optical character recognition device (33) as claimed in claim 9 or 10, wherein said output unit (39) generates ASCII codes.

Inventors: SAUND ERIC, SAUND, ERIC
Applicants: XEROX CORP, XEROX CORPORATION
Application year: 1995
Main classification: G06K9
IPC codes: G06K9, H04N1