Methods are disclosed for recovering or determining logical structure of a document by assessing different combinations of vertical and horizontal cuts across a block of the document. The block is segmented using a scoring function that discards horizontal cuts in favor of vertical cuts shared among neighboring sub-blocks. The order in which the blocks and sub-blocks are segmented is then used to define the logical structure of the document, such as its reading order.
|
1. A method for determining a logical order of a document, comprising:
(a) assigning a page of the document to be a block having a width along a first direction and a length along a second direction perpendicular to the first direction; the block having a plurality of layout objects arranged therein;
(b) identifying a first set of hypothetical cuts, substantially between layout object boundaries, that span the width of the block; the first set of hypothetical cuts defining a set of sub-blocks with each sub-block having a width along the first direction and a length along the second direction;
(c) identifying a second set of hypothetical cuts, substantially between layout object boundaries, that span the length of sub-blocks in the set of sub-blocks;
(d) computing arrangement criteria of layout objects ordered according to the first and the second sets of hypothetical cuts;
(e) modifying cuts in the first and second sets of hypothetical cuts, using the computed arrangement criteria, to merge cuts that span two or more sub-blocks along the second direction by removing one cut in the first set of hypothetical cuts and combining two cuts in the second set of hypothetical cuts; and
(f) determining the logical order of the document using cuts between layout objects in the block remaining in the first and second sets of hypothetical cuts after performing (e).
23. An article of manufacture for determining a logical order of a document, the article of manufacture comprising computer usable media including computer readable instructions embedded therein that causes a computer to perform a method wherein the method comprises:
(a) assigning a page of the document to be a block having a width along a first direction and a length along a second direction perpendicular to the first direction; the block having a plurality of layout objects arranged therein;
(b) identifying a first set of hypothetical cuts, substantially between layout object boundaries, that span the width of the block; the first set of hypothetical cuts defining a set of sub-blocks with each sub-block having a width along the first direction and a length along the second direction;
(c) identifying a second set of hypothetical cuts, substantially between layout object boundaries, that span the length of sub-blocks in the set of sub-blocks;
(d) computing arrangement criteria of layout objects ordered according to the first and the second sets of hypothetical cuts;
(e) modifying cuts in the first and second sets of hypothetical cuts, using the computed arrangement criteria, to merge cuts that span two or more sub-blocks along the second direction by removing one cut in the first set of hypothetical cuts and combining two cuts in the second set of hypothetical cuts; and
(f) determining the logical order of the document using cuts between layout objects in the block remaining in the first and second sets of hypothetical cuts after performing (e).
16. An apparatus for determining a logical order of a document, comprising:
a memory for storing processing instructions of the apparatus; and
a processor coupled to the memory for executing the processing instructions of the apparatus; the processor in executing the processing instructions:
(a) assigning a page of the document to be a block having a width along a first direction and a length along a second direction perpendicular to the first direction; the block having a plurality of layout objects arranged therein;
(b) identifying a first set of hypothetical cuts, substantially between layout object boundaries, that only span the entire width of the block, wherein any hypothetical cut in the first direction that is less than the entire width of the block is excluded; the first set of hypothetical cuts defining a set of sub-blocks with each sub-block having a width along the first direction and a length along the second direction;
(c) identifying a second set of hypothetical cuts, substantially between layout object boundaries, that span the length of sub-blocks in the set of sub-blocks;
(d) computing arrangement criteria of layout objects ordered according to the first and the second sets of hypothetical cuts;
(e) modifying cuts in the first and second sets of hypothetical cuts, using the computed arrangement criteria, to merge cuts that span two or more sub-blocks along the second direction;
(f) determining the logical order of the document using cuts between layout objects in the block remaining in the first and second sets of hypothetical cuts after performing (e).
2. The method according to
(g) segmenting the layout objects in the block using the cuts remaining in the first and second set of hypothetical cuts after performing (e) to define a set of blocks;
(h) repeating (b)-(e) for each block in the set of blocks defined at (g).
3. The method according to
4. The method according to
(i) reducing one of more of the thresholds used at (b) and (c) for assessing whether potential cuts meet a second predefined minimum size; and
(j) repeating (a)-(h).
5. The method according to
6. The method according to
7. The method according to
8. The method according to
9. The method according to
10. The method according to
11. The method according to
12. The method according to
13. The method according to
14. The method according to
15. The method according to
17. The apparatus according to
(g) segmenting the layout objects in the block using the cuts remaining in the first and second set of hypothetical cuts after performing (e) to define a set of blocks;
(h) repeating (b)-(e) for each block in the set of blocks defined at (g).
18. The apparatus according to
19. The apparatus according to
(i) reducing one or more of the thresholds used at (b) and (c) for assessing whether potential cuts meet a second predefined minimum size; and
(j) repeating (a)-(h).
20. The apparatus according to
21. The apparatus according to
22. The apparatus according to
|
The following relates generally to methods, apparatus and articles of manufacture therefor, for determining logical document structure, such as, the reading or viewing order of a document.
While the use of electronically created and recorded documents is prevalent, many such electronic documents are in a form that does not permit that they be used other than for viewing or printing. Reasons for this restriction include, among others, the unavailability of the document in its native format (e.g., only scanned original of a document or lower-level representation exists), or the deprecation or disappearance of the document's original authoring environment (e.g., document editors that are no longer sold or operate on existing software platforms).
The recovery of document content (e.g., characters, words, etc.) and logical structure (e.g., viewing and reading order) form the basis for effective document reuse, beyond applications such as viewing and printing. However, when electronic documents are recovered by scanning a hardcopy representation or by recovering an electronic representation (e.g., PDF or Postscript representation), a loss of logical document structure usually results because the representations of the document is either at a very low level (e.g., bitmap) or an intermediate level (e.g., a document formatted in a page description language or a portable document format).
The logical organization of objects in electronic documents recorded in low-level or intermediate-level representations may lose certain high-level representations (e.g., that permit editing of high-level constructs) because they have been optimized for their particular application, such as printing, display, or storage. For example, the order in which objects forming a document formatted in a print-oriented or storage-oriented file format may be optimized for printing or storage rather than the logical order of the objects in the document. In order to achieve certain print, storage, or display efficiencies, electronic documents recorded in optimized print, storage, or display formats may dispose of high-level constructs or group elements of a document together in an order that appears out of its logical flow.
In contrast, hardcopy documents converted to an electronic form by scanning lose their document structure unless augmented with a high-level description (see for example U.S. Pat. No. 5,486,686, which is incorporated herein in its entirety by reference). Optical Character Recognition (OCR) may be used for recovering and recognizing objects in a document image to identify low-level representations (e.g., at the character or word level) or intermediate-level representations (e.g., formatting, paragraphs and object detection) of a document image. In addition, there exists methods for recovering certain aspects of a document's high-level representation to allow applications that rely on a document's logical structure to operate or automatically process its content, such as, document editors and document readers.
Methods are known for determining a document's logical structure, or the order in which objects are laid out on a document image (i.e., “layout objects”). Such known methods exploit the geometric or typographical features of document image objects, together with or without the use of the content of objects and a priori knowledge for a particular document class. Such known methods are described, for example, in the following publications, which are incorporated herein by reference: R. Cattoni, T. Coianiz, S. Messelodi, C. M. Modena, “Geometric Layout Analysis Techniques for Document Image Understanding: a Review”, ITC-IRST Technical Report #9703-09, 1998; Y. Ishitani, “Document Transformation System from Papers to XML Data Based on Pivot XML Document Method”, International conference on document analysis and recognition (ICDAR), 2003; G. Nagy and S. Seth, “Hierarchical representation of optically scanned documents”, Proceedings of the 7th International Conference On Pattern Recognition, pp. 347-349, 1984; Jaekyu Ha, R. M. Haralick, I. T. Phillips, “Recursive X-Y cut using bounding boxes of connected components”, International Conference on Document Analysis and Recognition (ICDAR), Vol. 2, 1995; and A. K. Jain, M. N. Myrthy, and P. J. Flynn, “Data clustering: A survey”, ACM Computing Survey, 31(3):264-323, 1999.
One such known method for segmenting layout objects of a document image is known as the XY-cut method (see Nagy and Seth cited above). Briefly in one embodiment, the method consists in finding the widest cut or the widest empty rectangle (or valley) that crosses the entire page (or block), either vertically or horizontally. The page is then segmented into blocks, which are sized to fit their content. The method is applied recursively to each block, until no valleys remain. In one embodiment of the XY-cut method, bounding boxes of connected components of black pixels are relied on, in place of, image pixel data.
While the XY-cut strategy illustrated in
There continues to exist, therefore, a need for an improved method for determining the logical ordering of layout objects on a document image, to properly order the content of the layout objects as it would be read by a person when the layout objects of a document image have no ordering (e.g., a scanned bitmap image) or have an incorrect ordering (e.g., are in an order optimized for printing, storing, or display). It would be advantageous if such a method is deterministic and efficient when the method processes a document image with numerous fine-grain layout objects and the layout objects present multiple alternatives in which a page document may be cut along column or row separations.
In accordance with the disclosure herein, there is provided a method for ordering layout objects of a document to determine their logical or semantic (i.e., reading) order. The method is adapted to exploit the geometric features of a document image, thereby advantageously permitting the method to be applied to various classes of documents, such as, documents expressed in various languages. The method may operate with layout objects of document images of various granularities, as the layout objects may contain one or more of letters, words, lines, or paragraphs. The layout objects may, for example, include combinations of textual content and image content.
In accordance with the various embodiments disclosed herein, there is provided a method, apparatus and article of manufacture therefor, for determining a logical order of a document, comprising: (a) assigning a page of the document to be a block having a width along a first direction (e.g., horizontal) and a length along a second direction (e.g., vertical) perpendicular to the first direction; the block having a plurality of layout objects arranged therein; (b) identifying a first set of hypothetical cuts, substantially between layout object boundaries, that span the width of the block; the first set of hypothetical cuts defining a set of sub-blocks with each sub-block having a width along the first direction and a length along the second direction; (c) identifying a second set of hypothetical cuts, substantially between layout object boundaries, that span the length of sub-blocks in the set of sub-blocks; (d) computing arrangement criteria of layout objects ordered according to the first and the second sets of hypothetical cuts; (e) modifying cuts in the first and second sets of hypothetical cuts, using the computed arrangement criteria, to merge cuts that span two or more sub-blocks along the second direction; (f) determining the logical order of the document using cuts between layout objects in the block remaining in the first and second sets of hypothetical cuts after performing (e).
These and other aspects of the disclosure will become apparent from the following description read in conjunction with the accompanying drawings wherein the same reference numerals have been applied to like parts and in which:
A. Context for Determining Logical Document Structure
In the embodiment of the system 202 shown in
The layout computation module 206 processes the bitmap document 204 (or partial-bitmap document) to different degrees depending on the level of structure already present in the document (e.g., a partial-bitmap document may have layout objects in a document image segmented to a character level). The output of the layout computation module is an unstructured document 208 in which layout objects of document pages are identified. Layout objects, as defined herein, identify structural elements of a document. A layout object may include a bounding box defining an area on a document page of a layout object (e.g., its position and dimensions on the page), the type of content forming the layout object (e.g., textual data or image data), and its relationship with respect to other layout objects (e.g., horizontal and vertical distance to its nearest neighboring layout objects). In operation, the layout computation module 206 identifies layout objects and their attributes, which may include performing OCR (Optical Character Recognition) to identify textual content present in the layout objects.
Further in the system shown in
The output of the order computation module 210 is a structured document 212 which defines the logical structure (e.g., logical reading and viewing order) of the unstructured document 208. The structured document 212 may then be used by document application module 214 to perform any number of applications. For example, in one embodiment, the unstructured document 208 may be a document encoded in a portable document format such as Adobe PDF. Once converted to a structured document 212 such as XML (Extensible Markup Language), SGML (Standard Generalized Markup Language), or HTML (Hypertext Markup Language), or the like, or an application specific format, the structured document 212 may be used by, for example, a document editor or a text-to-speech application such as a text reader or a text translator that performs audible playback, or a document viewing application that scales contents depending on the screen size requiring the correct arrangement of content for display, all of which rely on the correct ordering of elements on a document page.
In one embodiment, the structured document 212 may have its content organized into delineated structural nodes, containing text, figures, and tables. The lower levels of the structure of a document may, for example, correspond to words, sentences, text blocks, or the like, while the higher levels may delineate nested, tree-like, or otherwise-organized groupings of nodes. The document structure may be implemented using markup tags interspersed through a document. In some structured document formats such as XML, a DTD (Document Type Definition) or similar dedicated document portion may be used to provide structural information about a document. The contents of the XML document may then be reused by organizations to, for example, modify or maintain legacy documents.
B. Methods for Determining Logical Document Structure
At 304, a first set of hypothetical cuts (substantially) between layout object boundaries is identified (i.e., valleys) to define a set of sub-blocks for each block in the set of blocks. At 306, a second set of hypothetical cuts is identified (substantially) between layout object boundaries (i.e., valleys) for each of set of sub-blocks for each block in the set of blocks. An example of the method for determining logical document structure shown in
More specifically at 304, the first set of hypothetical cuts is selected such that cuts set forth therein span the width of each block in the set of blocks along the horizontal direction (or a first direction). For example, the cuts A, B, and C in the block 402A span the width of the block 402A. After defining the cuts A, B, and C in the block 402A, a set of sub-blocks identified as 1, 2, 3, and 4 are defined from the block 402A. At 306, cuts that span the length of each sub-block 1, 2, 3, and 4 along the vertical (or a second direction) are identified as shown at a, b, and c in the block 402B. Advantageously, by using a global approach to cutting the span of a block in both directions, the method's sensitivity to minimal horizontal cut width (i.e., line space) is relaxed. That is, setting a horizontal cut width to a value that is less than or equal to the line width in a document will not otherwise prevent layout objects of a document to be cut along correct columns. Being substantially insensitive to a minimum horizontal cut width is further advantageous in the event a document has varying line widths on a page.
At 304 and 306, thresholds are used for assessing whether potential hypothetical vertical and horizontal cuts meet a predefined minimum size (i.e., the space between layout objects). The vertical and horizontal thresholds may be the same or they may be different. In one embodiment, the vertical and/or horizontal cut thresholds are negative to permit a vertical and/or horizontal cut, respectively, to exist between layout objects that have a small (or minimally) overlapping area. In another embodiment, there may in addition be a threshold for image noise used for assessing whether proposed hypothetical vertical and/or horizontal cuts should be considered.
As set forth at 304, each block is considered globally (i.e., cuts that span the entire width or length of a block or sub-block) to select cuts among layout objects that lead to the best set of columns. In addition, the layout object cutting strategy is specified such that it favors vertical cuts over horizontal cuts in a portrait oriented document image, as illustrated in the example shown in
At 308, logical reading order criteria (i.e., arrangement criteria) for layout objects are computed according to the first and the second sets of hypothetical cuts. The criteria that are computed are used to compute a score function, which is maximized to cut and order the layout objects forming an image. The score function, in one embodiment, rewards the largest cumulative height of columns that may be created using the first and second sets of hypothetical cuts.
More specifically, the score function computed at 308 favors vertical cuts that span over multiple consecutive blocks. In one embodiment, the score function is based on the sum of the height of the blocks that may be merged. For example, the vertical cuts “a” and “b” (shown in block 402B) of sub-blocks 1 and 2 (shown in block 402A), respectively, may be merged to define vertical cut “d” as shown in the block 402C. In addition, sub-blocks may be merged with any number of neighboring sub-blocks, and the merging of vertical cuts need not be limited to two vertical cuts (as shown in 402B) but may instead extend to any number of vertical cuts between consecutive blocks. While there may exist different options for merging vertical cuts (e.g., vertical cuts “a” and “c” of block 402B), those cuts that are most compatible are selected.
In alternate embodiments, scoring the compatibility of merging one or more options of vertical cuts of sub-blocks may be based on a number of parameters that include one or a combination of: the cumulative height of a block created by merging vertical cuts; the vertical alignment of the merged cuts; the width of columns created if the merge is performed; and the proximity of the sub-blocks to be merged with each other. Sub-block proximity, in one embodiment, is parameterized by computing the inverse of the distance between the sub-blocks to be merged (i.e., sub-blocks that are closer to each other are favored). Column width, in one embodiment, is parameterized by defining a minimum column-width to page-width ratio (e.g., in one embodiment a minimum ratio of 1:5).
At 310, while referring again to
At 312, if no hypothetical cuts have been identified (after being modified at 310) then the logical structure of the page is output at 316; otherwise, the current blocks in the set of blocks are segmented, at 314, according to the cuts remaining in the first and second sets of hypothetical cuts to define the set of blocks and after which 304, 306, 308, 310, and 312 are subsequently repeated. In one embodiment at 314, the segmented blocks are sized (e.g., shrunk) to fit their content (e.g., textual content), which in a further embodiment may be sized using a threshold that is robust to image noise. This aspect is illustrated in
At 316, in one embodiment logical document reading order is induced with a heuristic that defines the reading order by cutting layout objects that are positioned at the top and at the left of a block first. When the cut layout objects are ordered as a tree of blocks, the correct reading order may be obtained by performing a depth-first left-to-right traversal of the tree. When outputting the logical structure of the page at 316, blocks are read top-to-bottom and left-to-right order, or the order in which the blocks operationally appear. For example, at 402C in
In an alternate embodiment, the set of ordered blocks defined at the conclusion of 316 are further processed to induce a total order among page elements (i.e., any element on a page may be related to any other element). During this additional processing step, the elements within each ordered block output at 316 are further ordered. The ordering may, in one embodiment, be carried out by cutting within a block in one direction (e.g., either horizontally or vertically) using a threshold that is less than that previously used at 304 or 306. These cuts would then form lines or columns whose content is then arranged either left-to-right or top-to-bottom depending on whether the cuts were performed horizontally or vertically, respectively. Alternatively, the ordering may be carried out by reducing the thresholds at 304 and/or 306 and repeating the operations 302, 304, 306, 308, 310, 312, 314, and 316 for each ordered block originally output at 316.
Alternatively, the flow diagram detailed in
C. Recursive Method with Dynamic Programming
More specifically,
Referring now to the details of the function BC set forth in
D. Miscellaneous
To recapitulate, the methods described herein for recovering or determining logical structure of a document find (biggest) empty valleys (e.g., rectangles) entirely crossing a block or sub-block being examined, either vertically or horizontally. The block is then segmented into sub-blocks, which are sized to fit their content. The method is, in one embodiment, applied recursively to each segmented sub-block, which stops when no valley large enough may be found in any of the segmented blocks. The method makes use of three parameters: first and second thresholds that define minimum vertical and horizontal valley size and a third threshold that defines minimum vertical width of a block before it may be split. The segmentation selected is based on a scoring function that, for one reading order, discards horizontal cuts in favor of vertical cuts shared among neighboring sub-blocks. The order in which the blocks and sub-blocks are segmented is then used to define the logical structure of the document, such as its reading order.
It will be appreciated that layout objects of a document may take on a number of forms besides purely rectangular forms. In the event a document processed in accordance with the methods described herein contains, for example, an “L” shaped layout object that does not permit it to be cut (or segmented) completely in either direction (i.e., horizontally or vertically), the “L” shape may be temporarily ignored while processing the remaining layout objects in the document. Layout objects that contain lists may be segmented in two layout objects such that the vertical cut segmenting the layout object containing the list identifier (e.g., bullet) and the layout object containing the text block is discarded. The layout object containing the list identifier may then be marked as pertaining to the “prefixed text” class of the layout object containing the text block.
It will be further appreciated that the methods described herein are described for documents that follow a left-to-right and top-to-bottom page reading or viewing order. It will be appreciated by those skilled in the art that the methods described herein may be readily modified to operate with alternate reading or viewing orders of documents, for example, in languages that follow a right-to-left reading order by giving priority to layout objects from right-to-left as opposed from left-to-right as shown in the example in
Those skilled in the art will recognize that a general purpose computer may be used for implementing the system 202 shown in
Further, those skilled in the art will recognize that the forgoing embodiments may be implemented as a machine (or system), process (or method), or article of manufacture by using standard programming and/or engineering techniques to produce programming software, firmware, hardware, or any combination thereof. It will be appreciated by those skilled in the art that the flow diagrams described in the specification are meant to provide an understanding of different possible embodiments. As such, alternative ordering of the steps, performing one or more steps in parallel, and/or performing additional or fewer steps may be done in alternative embodiments.
Any resulting program(s), having computer-readable program code, may be embodied within one or more computer-usable media such as memory devices or transmitting devices, thereby making a computer program product or article of manufacture according to the embodiment described herein. As such, the terms “article of manufacture” and “computer program product” as used herein are intended to encompass a computer program existent (permanently, temporarily, or transitorily) on any computer-usable medium such as on any memory device or in any transmitting device.
Executing program code directly from one medium, storing program code onto a medium, copying the code from one medium to another medium, transmitting the code using a transmitting device, or other equivalent acts may involve the use of a memory or transmitting device which only embodies program code transitorily as a preliminary or final step in making, using, or selling the embodiments as set forth in the claims.
Memory devices include, but are not limited to, fixed (hard) disk drives, floppy disks (or diskettes), optical disks, magnetic tape, semiconductor memories such as RAM, ROM, Proms, etc. Transmitting devices include, but are not limited to, the Internet, intranets, electronic bulletin board and message/note exchanges, telephone/modem based network communication, hard-wired/cabled communication network, cellular communication, radio wave communication, satellite communication, and other stationary or mobile network systems/communication links.
A machine embodying the embodiments may involve one or more processing systems including, but not limited to, CPU, memory/storage devices, communication links, communication/transmitting devices, servers, I/O devices, or any subcomponents or individual parts of one or more processing systems, including software, firmware, hardware, or any combination or subcombination thereof, which embody the disclosure as set forth in the claims.
While particular embodiments have been described, alternatives, modifications, variations, improvements, and substantial equivalents that are or may be presently unforeseen may arise to applicants or others skilled in the art. Accordingly, the appended claims as filed and as they may be amended are intended to embrace all such alternatives, modifications variations, improvements, and substantial equivalents.
Patent | Priority | Assignee | Title |
10885270, | Apr 27 2018 | International Business Machines Corporation | Machine learned document loss recovery |
11176310, | Apr 01 2019 | Adobe Inc.; Adobe Inc | Facilitating dynamic document layout by determining reading order using document content stream cues |
11714953, | Apr 01 2019 | Adobe Inc. | Facilitating dynamic document layout by determining reading order using document content stream cues |
8176414, | Sep 30 2005 | GOOGLE LLC | Document division method and system |
8214733, | Apr 28 2010 | HYLAND SWITZERLAND SÀRL | Automatic forms processing systems and methods |
8260049, | Sep 28 2007 | ABBYY DEVELOPMENT INC | Model-based method of document logical structure recognition in OCR systems |
8261186, | Jan 02 2009 | Apple Inc | Methods for efficient cluster analysis |
8340425, | Aug 10 2010 | Xerox Corporation | Optical character recognition with two-pass zoning |
8352855, | Jan 02 2009 | Apple Inc | Selection of text in an unstructured document |
8365072, | Jan 02 2009 | Apple Inc | Identification of compound graphic elements in an unstructured document |
8380753, | Jan 18 2011 | Apple Inc | Reconstruction of lists in a document |
8438472, | Jan 02 2009 | Apple Inc | Efficient data structures for parsing and analyzing a document |
8442998, | Jan 18 2011 | Apple Inc | Storage of a document using multiple representations |
8443278, | Jan 02 2009 | Apple Inc | Identification of tables in an unstructured document |
8452132, | Sep 23 2008 | ABBYY PRODUCTION LLC | Automatic file name generation in OCR systems |
8473467, | Jan 02 2009 | Apple Inc | Content profiling to dynamically configure content processing |
8478046, | Nov 03 2011 | Conduent Business Services, LLC | Signature mark detection |
8543911, | Jan 18 2011 | Apple Inc. | Ordering document content based on reading flow |
8549399, | Jan 18 2011 | Apple Inc. | Identifying a selection of content in a structured document |
8560937, | Jun 07 2011 | Xerox Corporation | Generate-and-test method for column segmentation |
8645819, | Jun 17 2011 | Xerox Corporation | Detection and extraction of elements constituting images in unstructured document files |
8719701, | Jan 02 2009 | Apple Inc | Identification of guides and gutters of a document |
8792724, | Aug 29 2011 | Hewlett-Packard Development Company, L.P. | System and method for script and orientation detection of images |
8812870, | Oct 10 2012 | Xerox Corporation | Confidentiality preserving document analysis system and method |
8818100, | Apr 28 2009 | HYLAND SWITZERLAND SÀRL | Automatic forms processing systems and methods |
8830487, | Jul 09 2012 | Xerox Corporation | System and method for separating image and text in a document |
8832549, | Jan 02 2009 | Apple Inc | Identification of regions of a document |
8861856, | Sep 28 2007 | ABBYY DEVELOPMENT INC | Model-based methods of document logical structure recognition in OCR systems |
8886676, | Jan 18 2011 | Apple Inc. | Reconstruction of lists in a document |
8891822, | Apr 10 2012 | Hewlett-Packard Development Company, L.P. | System and method for script and orientation detection of images using artificial neural networks |
8892992, | Jan 02 2009 | Apple Inc. | Methods for efficient cluster analysis |
8903175, | Aug 29 2011 | Hewlett-Packard Development Company, L.P. | System and method for script and orientation detection of images |
8959116, | Jan 18 2011 | Apple Inc. | Storage of a document using multiple representations |
9008425, | Jan 29 2013 | Xerox Corporation | Detection of numbered captions |
9008443, | Jun 22 2012 | Xerox Corporation | System and method for identifying regular geometric structures in document pages |
9063911, | Jan 02 2009 | Apple Inc | Identification of layout and content flow of an unstructured document |
9183185, | Jul 29 2010 | Hewlett-Packard Development Company, L.P. | Inserting content and exclusion zone(s) into a page |
9241084, | Oct 26 2012 | ABBYY DEVELOPMENT INC | Scanning implemented software for time economy without rescanning (S.I.S.T.E.R.) identifying multiple documents with first scanning pass and generating multiple images with second scanning pass |
9319547, | Oct 26 2012 | ABBYY PRODUCTION LLC | Document scanning method, system, and device having sets of parallel lines as background |
9384172, | Jul 06 2012 | Microsoft Technology Licensing, LLC | Multi-level list detection engine |
9390077, | Sep 30 2005 | GOOGLE LLC | Document division method and system |
9413912, | Oct 26 2012 | ABBYY DEVELOPMENT INC | Scanning device having a bed cover including a pattern of repeated design elements |
9454520, | Jul 29 2010 | Hewlett-Packard Development Company, L.P. | Generating a representation of a layout having partitions for exclusion zones |
9460063, | Jan 02 2009 | Apple Inc | Identification, selection, and display of a region of interest in a document |
9575945, | Jan 02 2009 | Apple Inc. | Efficient data structures for parsing and analyzing a document |
9721155, | Nov 14 2014 | Microsoft Technology Licensing, LLC | Detecting document type of document |
9767213, | Nov 19 2012 | NAVER CORPORATION | Method and system for providing web page using dynamic page partitioning |
9916392, | Dec 07 2012 | TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED; TENCENT TECHNOLOGY SHENZHEN COMPANY LIMITED | Method, system, and storage medium for displaying media content applicable to social platform |
9959259, | Jan 02 2009 | Apple Inc. | Identification of compound graphic elements in an unstructured document |
Patent | Priority | Assignee | Title |
5369742, | Jun 20 1990 | Hitachi, LTD | Image file and retrieving apparatus and method |
5486686, | May 30 1990 | Xerox Corporation | Hardcopy lossless data storage and communications for electronic document processing systems |
5633996, | Oct 02 1991 | Fuji Xerox Co., Ltd. | Device and method for layout of a structured document using multi-column areas |
5850226, | Feb 29 1996 | Ultra-High Speed Network and Computer Technology Laboratories | Method of transferring and displaying 3-D shape data |
5884014, | May 23 1996 | Xerox Corporation | Fontless structured document image representations for efficient rendering |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
May 24 2005 | MEUNIER, JEAN-LUC | Xerox Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 016603 | /0123 | |
May 26 2005 | Xerox Corporation | (assignment on the face of the patent) | / | |||
Nov 07 2022 | Xerox Corporation | CITIBANK, N A , AS AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 062740 | /0214 | |
May 17 2023 | CITIBANK, N A , AS AGENT | Xerox Corporation | RELEASE OF SECURITY INTEREST IN PATENTS AT R F 062740 0214 | 063694 | /0122 | |
Jun 21 2023 | Xerox Corporation | CITIBANK, N A , AS COLLATERAL AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 064760 | /0389 | |
Nov 17 2023 | Xerox Corporation | JEFFERIES FINANCE LLC, AS COLLATERAL AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 065628 | /0019 | |
Feb 06 2024 | Xerox Corporation | CITIBANK, N A , AS COLLATERAL AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 066741 | /0001 | |
Feb 06 2024 | CITIBANK, N A , AS COLLATERAL AGENT | Xerox Corporation | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT RF 064760 0389 | 068261 | /0001 |
Date | Maintenance Fee Events |
Aug 11 2008 | ASPN: Payor Number Assigned. |
Oct 18 2011 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Nov 18 2015 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Nov 13 2019 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Jun 24 2011 | 4 years fee payment window open |
Dec 24 2011 | 6 months grace period start (w surcharge) |
Jun 24 2012 | patent expiry (for year 4) |
Jun 24 2014 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jun 24 2015 | 8 years fee payment window open |
Dec 24 2015 | 6 months grace period start (w surcharge) |
Jun 24 2016 | patent expiry (for year 8) |
Jun 24 2018 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jun 24 2019 | 12 years fee payment window open |
Dec 24 2019 | 6 months grace period start (w surcharge) |
Jun 24 2020 | patent expiry (for year 12) |
Jun 24 2022 | 2 years to revive unintentionally abandoned end. (for year 12) |