Abstract:
Sets of electronic pages ( 120 ) are typically obtained for processing with a defined order, such as a reader order, and can be referenced by a page index ( 131 ) corresponding to the defined order of the page set ( 130 ). However, a page index ( 131 ) may not correspond to the folio values represented in the page content, which describe a user&#39;s intended reference to the page ( 120 ). This invention provides a method for examining information associated with the set of pages to identify folio schemes ( 201 ) and corresponding folio values ( 203 ) which can be associated with pages ( 120 ) of the page set ( 130 ) to provide a more user-centric reference mechanism to the pages ( 120 ).

Description:
FIELD OF THE INVENTION 
       [0001]    This invention relates to automated processing of document pages. In particular, it pertains to identifying a sequence of folio values for a sequence of pages and associating the folio values with their corresponding pages so that a page can be referenced by its folio value. 
       BACKGROUND OF THE INVENTION 
       [0002]    In printing, a representation of a folio value may appear on the printed page and folio values for adjacent pages typically observe a sequence scheme. In a book, for example, cover pages typically will not have a folio value. However, other pages of the book may have folio values to facilitate quick page referencing. Different sections may use different folio schemes to distinguish the sections and further facilitate quick reference. 
         [0003]    During print production, a document may be received as a single file or as multiple files where a file can include content for one or more pages. Files may be received in an order corresponding to the reader order of the document or they may be received in some other order. Similarly, page ordering within a file may correspond with reader ordering or it may correspond with some other ordering. For example, pages may be reverse reader ordered or have an order with no apparent scheme or a document may contain different versions of one or more pages so that a document can be customized for different audiences. 
         [0004]    In some situations, an explicit ordering of a set of pages can be established which may correspond with received file/page ordering or some other ordering information. Ordering information can be determined through a variety of methods. One exemplary method can include reading meta-data identifying one or more page orderings. For example, meta-data can be included in one of the files providing page content or can be included in a separate file or in other associated data. Another exemplary method can include reading an ordering scheme encoded in file attributes (e.g. file name). As another example, a user can manually determine an order based on information (e.g. document structure) from the provider of the files and information derived from the files (e.g. filenames, number of pages). 
         [0005]    It is common for print production tools to process pages of a document in a sequence. So establishing an ordered set of pages is a prerequisite for many tools. For example, imposition software may require a reader ordering so that layouts can be produced. Raster image processing software may also render pages in a page-wise fashion for proofing based on reader order or some other order. 
         [0006]    To reduce complexity, prior art print production tools have used simple techniques for ordering sets of pages. One exemplary technique has been to index the pages using a simple ordinal scheme. Another exemplary technique has been to link pages together in a list. These techniques are suitable for situations which only require reference to a page by its position in the entire page set.  FIG. 1  illustrates a GUI for an exemplary prior art imposition tool which allows an operator to manually establish an indexed, ordered page set based on a set of input files so that the pages can be assigned to a generic signature layout based on their indices. Another example includes a system described in U.S. Pat. No. 7,016,068 (Gnocato et al.), which is commonly-assigned and whose contents are included by reference herein. 
         [0007]    However, in some situations, it is preferable to reference a page or sequence of pages by folio value. For example, a printer may want to produce layouts by section so that different versions of a section can be easily substituted. As another example, a printer may want to proof certain pages of each section. With a simple ordering technique it can be difficult to locate the pages of interest or verify that pages are being used as intended (e.g. only one section&#39;s pages assigned to a layout). 
         [0008]    Other problems can occur during print production that are not easily identified by the use of a simple page ordering technique. For example, the ordering of pages in a page set may be incorrect. This may occur, for example, by pages being received out of order, or through human error in creating filenames that imply order or an error in assigning pages to a position in a page set. This may also occur, for example, if the author supplies the wrong page content for a page (e.g. provides the same page twice). 
         [0009]    Providing folio references to pages is one way of overcoming these problems since this allows a print production operator to reference pages using the same scheme intended by the author and corresponding to representations on a printed result. Some prior art tools provide a means to do this manually. For example, Adobe Acrobat®, provides a “Number Pages” function that allows one or more pages to be manually associated with a folio scheme. This can be a problem because of the time required, which can be considerable for a book or other large document. The manual approach is also subject to human error. 
         [0010]    Thus, a need exists for an automated method for associating folio values with pages of an ordered page set to solve the problems discussed above. 
       SUMMARY OF THE INVENTION 
       [0011]    The present invention provides an automated method for identifying at least one folio scheme for an ordered page set. The method can include associating a sequence of folio values with a sequence of pages of the ordered page set according to an identified folio scheme. Page set ordering can be based on a simple ordering technique similar to ones described in the background or some other technique. 
         [0012]    According to one aspect of the invention, a page set is automatically examined to infer at least one folio scheme for the page set. A folio scheme can include information about folio values whose representations should appear in page content. Inference can be derived from information associated with the page set. Once a folio scheme is inferred, content from pages of the page set can be examined to determine if a page sequence exists that is consistent with the folio scheme. If a page sequence is identified that is consistent with the folio scheme, a folio sequence is created for the page sequence. Folio values of the folio sequence are associated with corresponding pages of the page sequence. 
         [0013]    According to another aspect of the invention, a folio scheme for a page set can be assumed and content from pages of the page set can be examined to determine if a page sequence exists that is consistent with the folio scheme. This may be more efficient if some folio schemes have a higher probability of being used for certain pages than other schemes. 
         [0014]    According to another aspect of the invention, a page area is identified as a probable location for content including a representation of a folio value. This may increase the efficiency and accuracy of examining page content. 
         [0015]    According to another aspect of the invention, identifying a folio scheme for a page set can include identifying pages of the page set that may be inconsistent with identified folio schemes. Information obtained during examining page content can be presented to a user to assist in validating folio schemes and identifying problems with the page set. 
         [0016]    In other words, and without limiting the scope of the invention, the present invention provides systems and methods for processing pages including: obtaining a page set including an ordered plurality of pages; and automatically identifying a folio scheme for the page set. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0017]      FIG. 1  illustrates a GUI for an exemplary prior art imposition tool. 
           [0018]      FIG. 2  illustrates a method for processing ordered page set including folio sequences associated with page sequences of the page set according to the present invention. 
           [0019]      FIG. 3  illustrates a method for processing page set including inconsistent pages according to the present invention. 
           [0020]      FIG. 4  illustrates an exemplary cover page for the exemplary page set of  FIG. 3 . 
           [0021]      FIG. 5  illustrates an exemplary blank page for the exemplary page set of  FIG. 3 . 
           [0022]      FIGS. 6A and 6B  illustrate exemplary table of content pages for the exemplary page set of  FIG. 3 . 
           [0023]      FIGS. 7A-7C  illustrate exemplary body pages for the exemplary page set of  FIG. 3 . 
           [0024]      FIGS. 8A and 8B  illustrate exemplary index pages for the exemplary page set of  FIG. 3 . 
           [0025]      FIG. 9  illustrates an exemplary back cover page for the exemplary page set of  FIG. 3 . 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0026]      FIG. 1  illustrates GUI  101  for an exemplary computerized prior art imposition tool that could benefit from aspects of the present invention. GUI  101  depicts three panes for imposing pages according to a set of layout instructions. 
         [0027]    Files pane  102  illustrates a set of input files  110 A- 110 E corresponding to an exemplary document to be printed. Each input file  110 A- 110 E includes content for one or more pages  120 A- 120 J. For the exemplary document, the author has supplied a separate file  110 A- 110 E for each section of the document. File  110 C, for example, corresponds to the body of the document and includes contents for three pages (i.e. pages  120 D- 120 F). 
         [0028]    Run list pane  103  illustrates a page set  130  including an ordered set of pages  120 A- 120 J. Run list pane  103  depicts tabular information for page set  130 , including page indices  131  depicting ordinal values for referencing each page  120 A- 120 J, file references  132  depicting an origin (e.g. input file  110 A- 110 E) for each page  120 A- 120 J, and page symbols  133  depicting a desired rotation for referenced page  120 A- 120 J and a relative position of referenced page  120 A- 120 J with respect to its origin. 
         [0029]    The ordering of page set  130  can be established, for example, by dragging and dropping pages  120 A- 120 J into run list pane  103 . Dropping a page  120 A- 120 J before or after another page  120 A- 120 J can establish the relative order amongst pages  120 A- 120 J. Note that the operator has dragged and dropped multiple instances of blank page  120 J into page set  130 . This may have been done, for example, to enforce pagination rules established by the author or the printing firm (e.g. table of contents must start on an odd-numbered page and back cover must be an even-numbered page). Alternatively, the author could have explicitly included copies of blank pages  120 J in files  110 A- 110 E. 
         [0030]    Signatures pane  104  depicts two layouts to be used for printing pages from page set  130 . Each layout is configured to reference a page index  131  of page set  130 . Different signatures could be included for printing on different equipment or for printing a subset of page set  130 . In a more typical example of document printing, page set  130  might contain hundreds of pages including a majority of body pages, organized in chapters. The printing operator might want, for example, to quickly locate pages for one section and associate them with a layout. GUI  101  might make this task overly complicated or error prone as the operator might have to guess at the page index  131  range corresponding to the section or click on several page symbols  133  to view a thumbnail of corresponding pages  120 A- 120 J to identify the page indices corresponding to the beginning and end of the desired section. 
         [0031]      FIG. 2  illustrates information for an exemplary ordered page set  130  according to one embodiment of the invention. Consistent with  FIG. 1 , page set  130  includes page indices  131 A- 131 L in association with pages  120 A- 120 J. Arrows connecting them illustrate the ability for software to supply a page index  131 A- 131 L to page set  130  and obtain information, including content, for associated page  120 A- 120 J. Other information, such as origin and relative position can also be made available through page set  130 . 
         [0032]      FIG. 2  also illustrates an exemplary result of performing methods of the present invention. The exemplary result includes creating folio sequences  201 A- 201 C for page set  130  and associating them with page sequences  202 A- 202 C. Folio sequences  201 A- 201 C include ordered sequences of folio values  203 A- 203 G which are associated with pages  120 A- 120 J having representations of folio values  203 A- 203 G included in their content. 
         [0033]    Folio sequence  201 A- 201 C is associated with folio scheme information. For example, folio scheme information can include a first folio value and other information which characterizes a sequence of folio values. For example, folio scheme information could indicate that only even-numbered (i.e. right-hand) pages include folio value representations. Thus, an alternative folio scheme for folio sequence  201 B could result in folio values: “1”, null, “3”. Many other possible folio schemes are possible for folio sequences and can include schemes configured by a user. A predefined folio scheme can be used to dynamically generate more specific folio schemes. For example, a folio scheme defining a simple folio value pattern (e.g. 1, 2 . . . ) can be used as a template for a dynamically generated folio scheme that defines a more complex folio value pattern (e.g. Chapter1-1, Chapter1-2 . . . ). 
         [0034]    Page sequences  202 A- 202 C correspond to adjacent pages selected from page set  130 . For example, page sequences  202 A- 202 C can be identified based on their origin. Thus, pages  120 A- 120 J of page sequences  202 A- 202 C retain their relative ordering defined by page set  130 . Arrows connecting folio values  203 A- 203 G with pages  120 B- 120 H illustrate the ability for software to supply folio value (e.g.  203 A) and obtain information for associated page (e.g.  120 B). In cases where a folio value is not unique for page set, the associated page can be uniquely identified by supplying the identity of the folio sequence and the corresponding folio value. Thus, according to the methods of the present invention, page  120 B, for example, can be referenced either by page index  131 C or folio value  203 A. 
         [0035]    A variety of methods can be utilized to automatically associate folio sequence  201 A- 201 C with page sequence  202 A- 202 C. Some exemplary methods are outlined below. Methods and their variations can be included in a computerized embodiment of the invention (e.g. a software library or tool provided as part of a system or distributed independently) and selected through a variety of means. In some embodiments, methods can be selected iteratively until one is successful. Alternatively, various methods can be selected concurrently or iteratively to produce a variety of solutions. A heuristic approach, for example, could be employed to pick a preferred solution. 
         [0036]    Selecting a method can occur manually or can occur automatically based on default values configured for a software tool. Alternatively, method selection can be based on information about the documents. For example, in certain markets or for certain types of documents some folio schemes may be more prevalent than other schemes. As another example, a software tool can keep track of schemes previously associated with documents or parts of documents and can associate that information with information about the author, type of document, or other attributes. Thus, when a new document is to be processed, information about that document can be used to access historical information and guide the method. 
       Inference Method 
       [0037]    One exemplary method for associating a folio sequence with a page sequence is based on inferring a folio scheme from information associated with page set  130 . A candidate folio sequence (e.g.  201 A) can be created for a candidate page sequence (e.g.  202 A) based on the inference. Then content for referenced pages (e.g.  120 B- 120 C) can be examined to confirm the inference. Confirmed folio sequences can be retained for use while remaining unconfirmed candidate folio sequences can be either manually confirmed or rejected by a user. Also, pages having no association with a folio sequence can be automatically or manually confirmed as independent or manually assigned to an adjacent folio sequence. 
         [0038]    Variations on the broad method can be employed to infer a folio scheme. One example is to establish rules which can be used to infer a folio scheme from the names of input files from which pages originated. A rule could include, for example, a character pattern which, if present in the filename, would indicate the presence of an associated folio scheme for at least some of the pages derived from the file. 
         [0039]    As another variation example, files that include searchable text information can be examined for strings that have a high probability of being folio values. For each examined page, a set of probable folio value representations can be stored in association with page. The number of occurrences of each representation can also be stored along with any other information (e.g. adjacent strings) that might be useful in confirming an inferred scheme. 
         [0040]    Rules can be established for identifying which strings are probable folio value representations. Given a list of probable folio value representations, other rules can be established for determining which folio scheme or schemes are the best candidates for the probable folio value representations. Rules could be configured with weightings so that a probability for a folio value representation and/or a folio scheme can be computed. Some exemplary rules are listed below. It will be clear to one skilled in the art that many other rules could be created or configured by an end user. 
         [0041]    One rule could indicate that a string is more likely to be a folio value representation if it matches a pattern (e.g. integer numerals or roman numerals or prefixed numerals) for a predefined folio scheme. 
         [0042]    Another rule could indicate that a string is more likely to be a folio value representation if it&#39;s value is consistent with page index  131  for the page (e.g. string “xv” is found on the fifteenth page of the document or the fifteenth page of a file corresponding to the document or the fifteenth unassociated page of a file). 
         [0043]    Another rule could indicate that a string is more likely to be a folio value representation if it is present on a page suspected of being a table of contents or an index. Determining whether a page is an index page, for example, could be determined from the filename or by identifying the string “index” in page content and/or by determining the position of page within page set  130 . 
         [0044]    Another rule could indicate that a string is less likely to be a folio value representation if it occurs on a page having strings with values from a corresponding folio scheme (e.g. “I” is less likely to be a folio value on a page also containing strings “II” and “III”). 
         [0045]    Another rule could indicate that a string that is part of a referencing string is more likely to be a folio value representation. For example, an exemplary rule could cause the string “(pp. 21)” to identify “21” as a probable folio value representation for some other page. 
         [0046]    Another rule could indicate that a folio scheme is more likely to apply if adjacent pages contain highly probable folio value representations that are consistent with the same scheme (e.g. strings “13”, “14”, and “15” are included in content for consecutive pages). 
         [0047]    Another rule could indicate that a folio scheme involving more complex folio values (e.g. 5.2-1) is more likely to apply than a less complex folio scheme. Yet, another rule could prioritize the selection of one equally probable scheme over another. 
         [0048]    As another variation example, files containing graphic state information (e.g. PDF or PostScript files) can provide additional information to assist in inferring a folio scheme. For example, the location of text strings on a page can be determined from graphic state information. Rules for assigning probability of a string being a folio value representation can thus also include location information. For example, strings located near the margins of a page could be assigned a higher probability of being folio value representations. 
         [0049]    As another variation example, examining content could be restricted to one or more predefined locations so that examining could occur more quickly and accurately. Locations could be relative to boundaries or other reference points of a page or could be manually specified by using a marquee tool on a sample page. 
         [0050]    As another variation example, files containing image information can first be processed using well known optical character recognition (OCR) methods to extract textual and location information. This can be particular relevant for files whose only content is image information (e.g. TIFF or JPG files). Then, a variation described above can be used. 
         [0051]    In some situations, absolute confirmation of an inferred folio scheme may not be possible. For example, examining content for a referenced page may determine that a folio value representation exists in content for the page but that some aspect of the representation is inconsistent with the folio scheme or other pages. One inconsistency could be that the correct folio value representation exists on a page but at a location inconsistent with locations for similar representations from adjacent pages. The folio scheme could also include information about allowable locations for a representation of a folio value to appear in content for a page. This could allow, for example, representations of folio values to appear at different locations but still be consistent with the scheme (e.g. odd-numbered location and even-numbered page location). 
         [0052]    Upon determining an inconsistency, information about the nature of the inconsistency can be associated with a candidate folio so that a user can quickly assess the inconsistency. This information could include a consistency rating based on predetermined rules for qualifying the degree of consistency. For example, one rule might lower the rating based on the variance of the location of a folio value representation from an expected location. Another exemplary rule might lower the consistency rating based on the proximity of other content to the location of the folio value representation. Thus, automatic confirmation could be configured to occur if a consistency rating had a value above a certain threshold. 
         [0053]    Equally probable candidate folio schemes are another example where user input could be used. Candidate folio sequences could be presented along with information determined while examining content from pages. One scheme could be selected or both rejected. A user could also request that another iteration of folio scheme identification. 
         [0054]    For an inferred folio scheme various candidate folio sequences could be created. One exemplary approach can attempt to create the longest folio sequence that could apply (e.g. each associated page includes a highly probable representation of a consistent folio value Another exemplary approach can attempt to create the longest folio sequence whose associated pages include confirmed representations of folio values. Another exemplary approach can attempt to create the longest folio sequence that does not conflict with an adjacent folio sequence  201 A- 201 C (e.g. a blank page  120 J could be the beginning of one folio sequence (e.g.  202 B) or the end of another (e.g.  202 A)). 
       Assumed Method 
       [0055]    Another exemplary method for associating a folio sequence with page sequence is based on assuming the existence of a folio scheme. Then, similar to the methods described above, content for pages can be examined for consistent folio value representations. 
         [0056]    According to one embodiment of this method, an assumed folio scheme can be checked against candidate page sequences of different length starting at one end of page set  130  to form a first folio sequence including associations to pages having content with consistent folio value representations. Then, a different folio scheme can be assumed for remaining pages in an iterative fashion. If an assumption proves incorrect, another assumption can be made until one is found that appears correct. The method progresses until all pages have been associated with a scheme or checked against all potential schemes and thus declared independent. 
         [0057]    The method can iterate based on different starting assumptions and record results for each iteration. Rules can be created to decide which iteration&#39;s results are preferred. For example, a rule could indicate that the iteration producing the longest folio sequence or the longest average folio sequence is the preferred iteration. Alternatively, the results of some iterations could be presented to the user for final selection. 
       Detailed Example 
       [0058]      FIGS. 4-9  illustrate exemplary content for pages  120 A- 120 J of page set  130  of  FIG. 3 . Note that the order of pages  120 E and  120 F have been reversed in page set  130 . One variation of the inference method is described below to further clarify aspects of the invention. 
         [0059]    The example begins with a user configuring rules to assign a higher probability for folio value representations that are in close proximity to the page margins. All pages  120 A- 120 J are examined to identify potential folio value representations. Page  120 A from file Cover.pdf, illustrated in  FIG. 4 , is examined first. Potential folio value representations include: “2006” since it could be part of an integer folio scheme. Since this value is not near any margin and doesn&#39;t seem to correspond with the number of pages in page set  130 , this representation can be assigned a very low probability. Without additional information cover page  120 A could be declared an independent page. A final decision could also be reserved until its adjacent page is examined. For example, if page  120 B had a representation of “2007” and could not be associated with another folio scheme, pages  120 A- 120 B could be associated with an unconfirmed integer folio sequence that appears to have some inconsistency (e.g. missing the first few thousand values). 
         [0060]    Blank page  120 J of file blank.pdf, illustrated in  FIG. 5 , is examined next in accordance with the order of page set  130 . No potential folio value representations are identified and the page can be tentatively declared an independent page pending examination of adjacent pages. Another rule could also be created indicating that a blank page referenced multiple times in page set  130  is automatically declared an independent page. Alternatively (not shown), a rule could be configured to allow a folio scheme to be terminated by a null folio value (e.g. referencing a page with no folio value representation). This might improve the usability of the GUI by having fewer unassociated pages and might be conceptually more correct in terms of identifying the correct number of pages for a layout. 
         [0061]    Pages  120 B- 120 C of file TOC.pdf, illustrated in  FIGS. 6A-6B , are examined next. Potential folio value representations identified include: margin body strings (“1”, “2”, “3”); interior body string (“5”); and footer strings (“i”, “ii”). String “5” could be assigned the lowest probability because it not near a margin. Strings “1”, “2”, and “3” could each be assigned a higher probability because each is located near a margin. Footer strings “i”, and “ii” could be assigned the highest probability because each is located near a margin and each is consistent with the relative page number of TOC.pdf which included the string. Without additional information, pages  120 B- 120 C could be associated with a lower case roman numeral folio scheme. Folio sequence  201 A could be created with folio values  203 A- 203 B assigned the values “i” and “ii” respectively. Since additional pages exist, this scheme could become the leading candidate pending review of adjacent pages. 
         [0062]    Note also that recognition of “TOC” in the filename and/or recognition of the string “Table of Contents” in the content of TOC.pdf could raise the probability of some other pages  120 D- 120 J being associated with an integer folio scheme based on identification of the margin body strings. 
         [0063]    Pages  120 D- 120 F of file Body.pdf, illustrated in  FIGS. 7A-7C , are examined next. Potential folio value representations identified include: interior body strings (“2006”, “5”, “6”, “3”, “2”); table strings (many integers and uppercase alphas, some near the margins); margin body strings (“1”, “2”); and footer strings (“1”, “2”, “3”). If the pages  120 D- 120 F were ordered correctly, footer strings could be given the highest probability because of their margin proximity and relative page number consistency. 
         [0064]    However, since the order of page  120 E and  120 F have been reversed, the footer strings and some of the table strings might appear to be equally probable (or improbable). Information obtained early from examining TOC.pdf could be used to give the footer strings a higher probability. Alternatively, another rule could be configured, indicating a moderate probability for representations that are consistent with the number of pages in a sequence as a set even though the order of the representations is not consistent. This rule could give preference to an integer folio scheme. Thus, without additional information, pages  120 D- 120 F could be associated with an unconfirmed integer folio scheme. Folio sequence  201 B could be created with folio values  203 C- 203 E assigned the values “1”, “2”, and “3” respectively. The apparent order inconsistency between page set  130  and folio sequence  201 B could be identified to the user who could then change the positions of pages  120 E- 120 F to allow folio sequence  201 B to be confirmed. 
         [0065]    Pages  120 G- 120 H of file Index.pdf, illustrated in  FIGS. 8A-8B , are examined next. Potential folio value representations identified include: body strings (“2006”, “A”, “B”, “C”, “D”, “E”, “F”, “G”, “H”, “1”, “2”, “3”); and footer strings (“Index-1”, “Index-2”). As above, footer strings are given the highest probability because of their location and relative page number consistency. Thus, without additional information, pages  120 G- 120 H could be associated with a prefixed integer folio scheme. Folio sequence  201 C could be created with folio values  203 F- 203 G assigned the values “Index-1” and “Index-2” respectively. 
         [0066]    Finally, page  1201  of file Back.pdf, illustrated in  FIG. 9 , is examined. No potential folio value representations are identified and the page is declared an independent page. 
         [0067]    Embodiments of the present invention may comprise any medium which carries a set of computer-readable signals comprising instructions which, when executed by a computer processor, cause the computer processor to execute a method of the invention. Embodiments may be in any of a wide variety of forms. Embodiments may comprise, for example, physical media such as magnetic storage media including floppy diskettes, hard disk drives, optical data storage media including CD ROMs, DVDs, electronic data storage media including ROMs, flash RAM, or the like or transmission-type media such as digital or analog communication links. The instructions may optionally be compressed and/or encrypted on the medium. 
       PARTS LIST  
       [0000]    
       
           101  GUI 
           102  files pane 
           103  run list pane 
           104  signatures pane 
           110 A- 110 E input file 
           120  page 
           120 A- 120 J page 
           130  page set 
           131  page index 
           131 A- 131 L page index 
           132  file reference 
           133  page symbol 
           201  folio sequence 
           201 A- 201 C folio sequence 
           202  page sequence 
           202 A- 202 C page sequence 
           203  folio value 
           203 A- 203 G folio value