Patent ID: 7392472

Claim:
A computer-implemented layout analyzer that is recorded on computer storage media and capable of execution by a computer, comprising the following computer-executable components: a connected component organizer that organizes connected components by color, vertical position and horizontal position; a connected component joiner that joins connected components into words, based on statistics from groups comprising connected components and at least one of color, vertical position, horizontal position, height of connected components, or width of connected components; a word organizer that organizes words by at least one of color, vertical position, horizontal position, or length, or combinations thereof; and a word joiner that joins words into lines, based on statistics from groups comprising words and at least one of color, vertical position, horizontal position, height, width, angle, or length of words; wherein after each joining operation, the statistics from groups comprising the connected components and from groups comprising words are re-computed and output as revised statistics, each joining operation comprises joining components into words and joining words into lines and producing a respective list of potential connected components and words to be revisited for further joining by the component joiner and word joiner utilizing the revised statistics; wherein the word joiner provides the output to the connected component joiner to initiate further attempted joining of connected components based in part upon the list of potential connected components and upon the revised statistics from previously joined connected components and words; wherein the layout analyzer outputs layout information to be used by an encoder to enable data compression and to enable reflow of connected components on an output device; and wherein the output from the encoder is then stored for use by a user.