Fast efficient window region coalescing in a two-pass auto-windowing environment
First Claim
1. A method of processing content of an image, comprising the steps of:
- automatically determining window regions in the image without user assistance by performing a first-pass processing of the image in a selected direction on a line by line basis, wherein the image content is organized in parallel lines of content, the first-pass processing comprising the steps of;
identifying a plurality of line segments of the image content, wherein said plurality of line segments are parallel to a first axis;
allocating line segment identifiers to the plurality of line segments, the allocating comprising;
determining a first segment tag for a first line segment of the plurality of line segments of the image content on a first line parallel to said first axis;
writing a first identifier into a first memory location of an equivalence table and assigning said first identifier to said first line segment;
determining a second segment tag for a second line segment of the plurality of line segments of the image content on a second line parallel and proximate to said first line when said second line segment overlaps a position of said first line segment along said first axis;
if said first segment tag equals said second segment tag, writing said first identifier to a second memory location of said equivalence table; and
if said first segment tag does not equal said second segment tag, writing a second identifier into said second memory location of said equivalence table and assigning said second identifier to said second line segment, wherein said second identifier is not equal to a previously used identifier;
updatinq said identifier number equivalence table, the updating comprising;
reading a past memory location of said equivalence table corresponding to a past identifier and having a corresponding past segment tag to determine a past memory location content;
reading a present memory location of said equivalence table corresponding to a present identifier and having a corresponding present segment tag to determine a present memory location content, wherein said past segment tag is equal to said present segment tag and said past identifier is not equal to said present identifier;
searching for a base identifier of said present identifier, the searching comprising;
determining if said present memory location content points to said present memory location and designating said present memory location as said base identifier if said present memory location content points to said present memory location; and
if said present memory location content does not point to said present memory location, utilizing said present memory location content as said present memory location and repeating said searching steps; and
writing said base identifier to said past memory location; and
storing a graphical representation of the image in a page storage buffer;
generating a windowed image by performing a second-pass processing of the stored graphical representation of the image based on the written identifiers of the first-pass processing; and
outputting the windowed image to at least one of a printed image and a digital image displayed on an output device.
8 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus are provided for the processing of an image, such as a document. The invention determines the location of differing content types within the document allowing specialized processing of various content types. The invention performs the identification of pixels having similar content characteristics into windows during the first scanning pass of the document by the use of an identifier equivalence table to update selected memory locations to a base identifier during processing. A second pass processing is available to enhance or alter the image by the use of the information gathered during first pass processing. The present invention benefits from a very low memory requirement while being able to determine windows extending the length or width of the image.
-
Citations
19 Claims
-
1. A method of processing content of an image, comprising the steps of:
-
automatically determining window regions in the image without user assistance by performing a first-pass processing of the image in a selected direction on a line by line basis, wherein the image content is organized in parallel lines of content, the first-pass processing comprising the steps of; identifying a plurality of line segments of the image content, wherein said plurality of line segments are parallel to a first axis; allocating line segment identifiers to the plurality of line segments, the allocating comprising; determining a first segment tag for a first line segment of the plurality of line segments of the image content on a first line parallel to said first axis; writing a first identifier into a first memory location of an equivalence table and assigning said first identifier to said first line segment; determining a second segment tag for a second line segment of the plurality of line segments of the image content on a second line parallel and proximate to said first line when said second line segment overlaps a position of said first line segment along said first axis; if said first segment tag equals said second segment tag, writing said first identifier to a second memory location of said equivalence table; and if said first segment tag does not equal said second segment tag, writing a second identifier into said second memory location of said equivalence table and assigning said second identifier to said second line segment, wherein said second identifier is not equal to a previously used identifier; updatinq said identifier number equivalence table, the updating comprising; reading a past memory location of said equivalence table corresponding to a past identifier and having a corresponding past segment tag to determine a past memory location content; reading a present memory location of said equivalence table corresponding to a present identifier and having a corresponding present segment tag to determine a present memory location content, wherein said past segment tag is equal to said present segment tag and said past identifier is not equal to said present identifier; searching for a base identifier of said present identifier, the searching comprising; determining if said present memory location content points to said present memory location and designating said present memory location as said base identifier if said present memory location content points to said present memory location; and if said present memory location content does not point to said present memory location, utilizing said present memory location content as said present memory location and repeating said searching steps; and writing said base identifier to said past memory location; and storing a graphical representation of the image in a page storage buffer; generating a windowed image by performing a second-pass processing of the stored graphical representation of the image based on the written identifiers of the first-pass processing; and outputting the windowed image to at least one of a printed image and a digital image displayed on an output device. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An apparatus for processing content of an image, comprising:
-
a memory adapted to store at least one of the group of a first identifier of a first line segment of the image content on a first line and a second identifier of a second line segment of the image content on a second line and storing the image in a page storage buffer portion of the memory; a processor coupled to said memory and adapted to automatically determine window regions in the image without user assistance by, in a first-pass processing while the image is being received on a line by line basis, forming and frequently updating an identifier equivalence table by comparing said first identifier to said second identifier, determining a first segment tag for said first line segment, determining that said first line segment is eligible for a base identifier search if said first identifier does not equal said second identifier when said first segment tag equals a second segment tag for said second line segment and when said first line segment and said second line segment are neighboring line segments, and conducting a base identifier search for said first line segment, the processor also adapted to store received portions of the image in a page storage buffer portion of the memory thereby generating a stored graphical representation of the image, and further adapted to perform a second-pass processing to produce a windowed image based on the stored graphical representation of the image and determinations and searches of the first-pass processing; and an output device adapted to receive the windowed image and produce at least one of a printed image and a digital image displayed on the output device; wherein said first line and said second line are parallel to a first axis and said first line segment overlaps said second line segment. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A method for processing content of an image comprising parallel rows of pixels, the method comprising the steps of:
-
automatically determining window regions in the image without user assistance by performing a first-pass processing of the image content in a selected direction on a row by row basis, the first-pass processing comprising the steps of; for each row of the image, allocating pixel identifiers to the pixels, the allocating comprising; determining a pixel tag corresponding to a pixel content type of a pixel of a present row; determining a pixel identifier based on said pixel tag and pixel identifiers and pixel taps of neighboring pixels in said present row and in a previously allocated row, wherein said determined pixel identifier is selected from a neighboring pixel having an equal pixel tag or a new pixel identifier not equal to a previously used pixel identifier; and forming line segments of neighboring pixels of said present row having common pixel identifiers; reviewing said line segments to associate neighboring line segments having common pixel tags but having differing pixel identifiers by associating said differing pixel identifiers; and storing a graphical representation of the image in a page storage buffer; performing a second-pass processing of the stored graphical representation of the image based on identifiers and associations of the first-pass processing to produce an enhanced image; and outputting the enhanced image to at least one of a printed image and a digital image displayed on an output device. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification