Patent Document ID: 20100275112
Application ID: 12500477
Patent Status: 0

Claim One:
1. A computer-readable medium encoded with a document processing system for processing at least one document image comprising a plurality of text rows and a plurality of characters, each text row having at least one character, the document processing system comprising a plurality of modules executable by at least one processor, the modules comprising: an image labeling system to label the characters in the document image to determine a size of the characters and to determine at least one morphological structuring element based on the size of the characters; a character block creator to: create a plurality of character blocks from the characters in the text rows of the document image by performing a morphological closing on the document image using the at least one structuring element, each text row having at least one character block; and label each character block to determine at least one spatial position of at least one alignment for each character block in each text row, the at least one alignment comprising at least one member of a group consisting of a left alignment and a right alignment, the left alignment comprising a left side, the right alignment comprising a right side; and a classification system comprising: a subsets module to: determine a column for the at least one alignment of each character block in each text row, each text row having a physical structure defined by the at least one spatial position of the at least one alignment of the at least one character block in that text row; and determine an initial subset of rows for each column having more than one character block aligned in that column in the text rows, each initial subset of rows comprising one or more text rows having the at least one alignment of the at least one character block in a selected column, each initial subset of rows having a set of columns comprising the selected column and other columns in the one or more text rows included in that initial subset of rows; an optimum set module to determine a master row for each initial subset of rows comprising: generate a histogram of column frequencies of the set of columns in a corresponding initial subset of rows, each column frequency comprising a number of times each column in the set of columns occurs in the corresponding initial subset of rows; determine a column frequencies threshold for the corresponding initial subset of rows; select particular columns from the corresponding initial subset of rows having a column frequency above the column frequencies threshold to be included in a corresponding master row; and generate the corresponding master row comprising a binary 1 in the particular columns of the corresponding initial subset of rows having the column frequency above the column frequencies threshold and a binary 0 in other particular columns in the set of columns for the corresponding initial subset of rows; a clustering module to: determine a row distance for each text row in each initial subset of rows, each row distance between one of the one or more text rows in the corresponding initial subset of rows and a corresponding master row for the corresponding initial subset of rows; determine a row matches for each text row in each initial subset of rows, each row matches comprising a number of matches between one or more columns of one of the one or more text rows in the corresponding initial subset of rows and binary is in one or more particular columns in the corresponding master row for the corresponding initial subset of rows; determine a row length for each text row in each initial subset of rows; normalize the row distances, row matches, and row lengths for each initial subset of rows; generate a row point for each text row in each initial subset of rows, each row point comprising a normalized row distance, a normalized row match, and a normalized row length for a corresponding text row in the corresponding initial subset of rows; determine one or more clusters of row points for each initial subset of rows using a clustering algorithm, each cluster comprising one or more row points; determine a cluster closeness value for each cluster for each initial subset of rows, each cluster closeness value comprising at least one of: an average row matches subtracted from an average row distances for the one or more row points in a corresponding cluster; and an average normalized row matches subtracted from an average normalized row distances for the one or more row points in the corresponding cluster; select a final cluster for each initial subset of rows, each final cluster having a smallest cluster closeness value from the one or more clusters of the corresponding initial subset of rows; determine a final subset of rows for each initial subset of rows, each final subset of rows comprising at least some of the one or more text rows of the corresponding initial subset of rows that have one or more corresponding row points in a corresponding final cluster; determine a final distances vector for each final subset of rows, each final distances vector comprising one or more of the row distances for the at least some of the one or more text rows in a corresponding final subset of rows; determine a row distances average for each final subset of rows, each row distances average comprising an average of one or more corresponding row distances in a corresponding final distances vector; determine a final matches vector for each final subset of rows, each final matches vector comprising one or more of the row matches for the at least some of the one or more text rows in the corresponding final subset of rows; determine a row matches average for each final subset of rows, each row matches average comprising an average of one or more corresponding row matches in a corresponding final matches vector; determine a normalized rows frequency for each final subset of rows, each normalized rows frequency comprising a first number of text rows in the corresponding final subset of rows divided by a second number of text rows in the document image; determine a confidence factor for each final subset of rows, each confidence factor measuring a similarity of physical structures of each one of the at least some text rows in the corresponding final subset of rows to each other one of the at least some text rows in the corresponding final subset of rows, the confidence factor comprising the normalized rows frequency, the row matches average, and the row distances average for the corresponding final subset of rows; and determine a best confidence factor for each particular text row in the document image, each particular text row having one or more confidence factors corresponding to one or more final subsets of rows in which the particular text row is an element; and a classifier module to create one or more classes of text rows, each class comprising one or more particular text rows having a same best confidence factor.