Abstract:
A system and associated method automatically and very rapidly determine the dominant periodicity in sequential binary data. The method incorporates a fast binary autocorrelation function used to discover the dominant periodicity in a sequential binary signal, and exploits this information in a periodicity exploiting application, such as using any one or more of a pixel periodicity or an edge periodicity based compression method in order to compress periodic halftoned bitonal images. The method implements four processes: The first process describes setting up the data in a transition-based representation to facilitate an algorithm to quickly find an autocorrelation distribution derived from a sequential binary signal. The second process describes a fast dominant periodicity search algorithm. The third process describes an algorithm that estimates the dominant window for estimating the dominant periodicity within one line of two-dimensional sequential binary signal. The fourth process describes an algorithm that estimates the dominant periodicity within a large region in a two-dimensional sequential binary signal.

Description:
FIELD OF THE INVENTION  
         [0001]    The present invention relates to the fast automatic finding of periodicities in sequential digital binary data. More particularly, this invention concerns a system and method of automatically and expeditiously determining the optimal or dominant periodicity in bitonal images, for use in data compression and/or other applications.  
         BACKGROUND OF THE INVENTION  
         [0002]    Though the present invention can be used in a variety of different applications, the problems it addresses will be described in term of an exemplary application, namely bitonal image data compression. Data compression is a process of finding the most efficient way to represent a message in order to minimize the size of a message for transfer or storage. Data compression is usually comprised of two phases: choosing a model for the message source, and designing an efficient coding system for the model.  
           [0003]    A message generated by an information source may assume several possible forms, depending upon the context in which the message was made, and the goal of compressed communication in general is to transmit the minimal encoded version of the original message such that the receiver of the message can still reconstruct it. Accordingly, the key to quick and effective compressed communication is minimizing the length of information that must be transferred to accurately send the correct message or in the case of a document or photograph, the correct image. Thus, the shortest representation of the source as a message itself is critical to efficient compressed communications.  
           [0004]    Generally, if each piece of information sent representing a message or image is not equally likely to occur, it is more efficient on the average to allocate a short string to frequently occurring pieces of information and longer strings to less frequent pieces. Thus, Morse code allots the shortest string (a dot and pause) to the letter “e” because it appears most frequently in English words, and allots a long string (dash, dash, dot, dot and pause) to the less frequently appearing letter “z.” 
           [0005]    One important area in bitonal image data compression is the compression of periodic halftoned bitonal images used predominantly to prepare continuous tone photographic images for bitonal printing. Continuous tone (e.g., monochrome or color) photographs are transformed into one or more bitonal (e.g., black/white for monochrome) equivalent images, which in digital form are represented as a bitonal (e.g., “1” or “0” valued) “halftoned” images. Numerous methods used primarily for textual image compression have been attempted for compressing such bitonal halftoned images. For example, one-dimensional schemes, such as Modified Huffman (MH) coding, or two-dimensional schemes, such as the Modified Relative Element Address Designate (MR)—commonly referred to as the CCITT Group 3 compression scheme—are simple and efficient but unable to effectively compress halftoned images.  
           [0006]    The MR coding method exploits vertical correlation between scan lines in textual images by attempting to code all black/white pixel color changes (BW edges) and white/black pixel color changes (WB edges) in an image with respect to a given reference edge located directly above in a previous line. If such coding fails or is not reproducible at a decoder, the method changes to an MH coding method, which uses alternating sequential run-length coders for alternating black and white runs. Note that this also equates to coding alternating BW and WB edge positions.  
           [0007]    The MMR or Modified MR two-dimensional compressor coding method, widely known as the CCITT Group 4 compression scheme removes some error protection overhead from the MR coding method but is still unable to effectively compress halftoned images.  
           [0008]    The problem with these one-and two-dimensional coding schemes for halftoned encoding is that binary halftoned representations of continuous tone images have very different distributions of run size and occurrences of reference edges from the text or line drawing images for which these schemes were designed. As a result, the amount of data required to represent halftoned images in “compressed” form when these schemes are used, may actually be greater than the amount of data required to represent the original uncompressed image.  
           [0009]    More recently, complex coding methods like various Ziv-Lempel algorithms and the arithmetic coding based Joint Bi-level Image Experts Group (JBIG) algorithm as set forth in ITU-T Recommendation T.82, “Information Technology—Coded Representation of Picture and Audio Information—Progressive Bi-level Image Compression,” have been developed which are aimed at compressing both textual and halftoned images. Unlike simple algorithms like MH, MR or MMR used for textual images, these complex algorithms can adjust to the more balanced white and black pixel probabilities and shorter run length characteristics of halftoned images. Moreover, the JBIG algorithms can also exploit a specified periodicity in a digital image to increase the compression they achieve, if such periodicity is identified and conveyed to the algorithm using a specified “lag interval” input parameter.  
           [0010]    The problem is that the latter two periodicity exploiting algorithms do not include a fast and automatic method for finding the optimal or dominant period in each digital image, to be exploited to maximize the compression they can achieve.  
           [0011]    More generally, rapidly finding the dominant periodicity is useful for optimizing many image-processing applications, such as scanning/descreening, segmentation, compression, etc. Most conventional methods for computing such a dominant hidden periodicity in a sequential binary “signal” are implemented in the “frequency domain,” thus involving the computation of a complex transform function like the Fourier Transform in addition to other processing. In contrast to this, an exemplary reference that proposes a method for calculating the dominant periodicity in the “spatial domain”, without using a complex transform into the frequency domain, is: U.S. Pat. No. 5,023,611 to Chamzas et al.  
           [0012]    However, there is still an unsatisfied need in all of these applications, whether for compression or otherwise, for a much faster system and method that automatically determines the dominant periodicity; using algorithms that process in the spatial domain, including transition-based representations of the spatial domain, that are orders-of-magnitude faster than the above patent to Chamzas, et al.  
         SUMMARY OF THE INVENTION  
         [0013]    The present invention satisfies this and other needs by providing a system and associated method for automatically and very rapidly determining the dominant periodicity in bitonal images. This is based in part on exploiting what are called “harmonic” peaks in the frequency domain, which show up as corresponding “sub-multiple” peaks in the spatial domain.  
           [0014]    As used herein, bitonal image “periodicity” can be defined as: (1) pixel periodicity—that is, consistently having either identical or exactly opposite bitonal pixel color at some regular (periodic) distance (lag interval) apart; and (2) transition (or edge) periodicity—that is having transitions between the two pixel colors situated at some regular (periodic) distance (lag interval) apart. Two sub-cases are defined for the transition (or edge) periodicity: (2.a) same edge periodicity—where runs of alternating black and white pixel colors are separated, defining two types of alternating edge periodicities; and (2.b) mixed edge periodicity—where runs of alternating black and white colors are mixed, defining yet another type of edge periodicity.  
           [0015]    More specifically, the method of the present invention incorporates a fast binary autocorrelation function used to discover the dominant periodicity in an image, and exploits this information using any one or more of a pixel periodicity or an edge periodicity based compression method in order to compress periodic halftoned bitonal images.  
           [0016]    For dominant periodicity finding the present invention describes the use of fast methods based on autocorrelations in an equivalent “transition image,” derived on-the-fly from the edges in the original image. For example, in 1-D (one dimensional) horizontal mixed edge periodicity finding, 1-D horizontal mixed edge autocorrelations are calculated from a transition-based image representation (like run-length, run-begin or run-end coding of the mixed edges along each horizontal raster scan line).  
           [0017]    The foregoing and other features of the present invention are realized by the implementation of the following processes or algorithms:  
           [0018]    The first process describes a fast algorithm whose objective is to quickly find a transition-based autocorrelation distribution derived from sequential binary data. This autocorrelation distribution is subsequently used to find the dominant periodicity for that sequential binary signal. As used herein, ‘transition-based’ representation covers the same or mixed edges.  
           [0019]    The second process describes a fast search algorithm that uses the fast transition based autocorrelation distribution to determine (1) if a dominant periodicity for the sequential binary signal exists, and if so, (2) to identify such a dominant periodicity.  
           [0020]    The third process describes an algorithm that estimates the dominant window for estimating the dominant periodicity within a single line in a two-dimensional sequential binary signal.  
           [0021]    The fourth process describes an algorithm that estimates the dominant periodicity within a large sequence (or block) of lines in a two-dimensional sequential binary signal.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0022]    The nature, objects, and advantages of the invention will become more apparent to those skilled in the art after considering the following detailed description in connection with the accompanying drawings, in which like reference numerals designate like parts throughout, wherein:  
         [0023]    [0023]FIG. 1 is a block diagram of representative hardware components of an exemplary digital data processing apparatus that automatically determines the optimal or dominant periodicity in bitonal images and applies it in an application like periodicity exploiting bitonal image compression, according to the present invention;  
         [0024]    [0024]FIG. 2 is a plot illustrating the distribution of autocorrelation values that can be exploited by using an implementation of a fast dominant periodicity finding algorithm of the apparatus of FIG. 1, operating in a pixel domain;  
         [0025]    [0025]FIG. 3 is a plot illustrating the distribution of autocorrelation values that can be exploited by using an implementation of a fast dominant periodicity finding algorithm of the apparatus of FIG. 1, operating in a same edge run-end domain;  
         [0026]    [0026]FIG. 4 is a plot illustrating the distribution of autocorrelation values that can be exploited by using an implementation of the fast dominant periodicity finding algorithm of the apparatus of FIG. 1, operating in a mixed edge run-end domain;  
         [0027]    [0027]FIG. 5 is a high level process flow chart of an operational sequence in the apparatus of FIG. 1, for determining a dominant periodicity of a sequential binary signal in accordance with one embodiment of the present invention;  
         [0028]    [0028]FIG. 6 is a plot illustrating the distribution of compression ratios that can be exploited by using an implementation of an edge periodicity exploiting compression (PRECIS) algorithm in the apparatus of FIG. 1; and  
         [0029]    [0029]FIG. 7 is a plot illustrating the distribution of compression ratios that can be exploited by using an implementation of the JBIG pixel periodicity exploiting compression algorithm in the apparatus of FIG. 1. 
     
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0030]    One aspect of the invention concerns an apparatus which may be embodied by various hardware components and interconnections. FIG. 1 shows an example of one such digital data processing apparatus  100 . The apparatus  100  may include a computer  102  housing a processor  120 , such as a microprocessor or other processing machine, coupled to storage  122 . In the present example, the storage  122  may include a fast-access memory and nonvolatile storage (not shown). The fast-access memory preferably comprises random access memory, and may be used to store the programming instructions executed by the processor  120  during such execution. The nonvolatile storage may comprise, for example, one or more magnetic data storage disks such as a “hard drive”, a tape drive, or any other suitable storage device. The apparatus  100  also includes input channels  116 A/ 116 B and output channels  118 A/ 118 B, such as a line, bus, cable, electromagnetic link or other means, for exchanging data through an output formatter  152  with an encoder  104  and for exchanging data through an input deformatter  154  with a decoder  106 . The encoder  104  is accompanied by a periodicity finder  150 ; whose periodicity output  156  is passed to the formatter  152  for inclusion as a periodicity parameter in the encoder output datastream, and passed to the encoder  104  for exploitation in encoding the periodicity exploiting compression data stream. The deformatter  154  extracts the periodicity parameter from the decoder input datastream and passes its periodicity output  158  to the decoder  106  for decoding the periodicity exploiting compression data stream.  
         [0031]    In one embodiment, the computer  102  may be, for example, a personal computer or mainframe computer manufactured by the International Business Machines Corporation of Armonk, N.Y., and may use an operating system sold under trademarks such as MVS, OS/2, or Windows NT. Alternatively, the computer  102  may be an IBM RS/6000  530  workstation with 128 MB of main memory running AIX 3.2.5. The computer  102  may incorporate a database system, such as DB2 or ORACLE, or it may access data on files stored on a data storage medium such as disk, e.g., a 2 GB SCSI 3.5″ drive or tape. Additionally, FIG. 1 shows that the computer  102  preferably includes an output module  124  for outputting/displaying information and images on a graphic display  126 , print mechanism  128  or data storage medium  130 . Other computers, computer architectures or database systems than those discussed above may be employed. For example, the encoder  104 , periodicity finder  150  and formatter  152  may be incorporated in a facsimile machine or in the computer  102 , or the invention may be embodied in special purpose hardware like an integrated circuit.  
         [0032]    The encoder, periodicity finder and formatter may be housed in a first unit  108  and communicate with the computer  102  through a first interface  112 . The interface may act as an input mechanism for establishing transmission parameters and certain variables, which may be implemented in suitable computer code. The interface  112  includes appropriate apparatus for formatting the data stream into whatever signal format is employed in the input and output channels  116 A and  118 A.  
         [0033]    Similarly, the decoder  106  and deformatter  154  communicate with the computer  102  through a second interface  114 . The interface communicates with and receives information from the computer  102  via input line  116 B and output line  118 B. The encoder  104 , periodicity finder  150  and formatter, as well as the decoder  106  and deformatter  154  although shown as housed within a first unit  108  and a second unit  110 , respectively, may both be included in the first unit  108 , the computer  102 , a facsimile machine, a print machine  134 , a display  136 , a scanner  132  or in any compatible device for which the encoder and/or decoder is performing a desired function. The interface  114  used in connection with the decoder  106  may be the same interface as interface  112 , or if separate, of the same character and quality. In an alternate embodiment, the scanner  132 , the print machine  134  or the display  136  may be externally communicatively coupled to the decoder unit  106  or the interface  114 .  
         [0034]    In the high level block diagram of FIG. 1, the encoder  104  and periodicity finder  150  receive data symbols s(k)—the symbols equating to a binary representation of a periodic bitonal halftoned image—and together encode them into a compressed data stream c(i) and pass them to the interface  112  for transmission to the decoder  106  via input and output channels  116 B and  118 B. The decoder  106  may receive the data stream and decode it to obtain reconstructed replicas of the original symbols s(k). The symbols may be chosen from the integers [0, 1, . . . , S−1], or a binary representation thereof. The assumption is that the symbol values are positive integers for clarity purposes. However, those skilled in the art will realize that the symbols may take on other than integer values. The symbols s(k) are supplied to the encoder  104  and employed therein to generate encoded data stream c(i).  
         [0035]    Despite the specific foregoing description, ordinarily skilled artisans having the benefit of this disclosure will recognize that the encoder  104  and the decoder  106  discussed above may be implemented in a machine of different construction, without departing from the scope of the invention. As one example of many, one of the components such as print mechanism  128  and graphic  126  may be eliminated from computer  102 ; furthermore, the storage  122  may be provided on-board the processor  120 , even though depicted separately in FIG. 1. Also, the processor  120  may be included in the first unit  108 , the second unit  110  or in a machine using the fast dominant period finding method of the present invention.  
         [0036]    In addition to the various hardware embodiments described above, a different aspect of the invention concerns a method for automatically and expeditiously determining the optimal or dominant periodicity in bitonal images. FIG. 5 illustrates a representative process  500  for determining the dominant periodicity in the periodicity finder  150  apparatus of FIG. 1.  
         [0037]    Process  500  starts at step  505  by implementing a fast autocorrelation computing algorithm, used to find the dominant periodicity of a signal. Optionally, and at step  510 , process  500  estimates the dominant periodicity within part(s) of a single line.  
         [0038]    At step  515 , process  500  implements a fast search algorithm that uses the fast autocorrelation algorithm to determine (1) if the dominant periodicity of the signal exists, and if so, (2) to identify such dominant periodicity. At step  520 , and if needed, process  500  estimates the dominant periodicity within a large sequence.  
         [0039]    At step  525 , process  500  applies the dominant periodicity to a periodicity exploiting application.  
         [0040]    Process  500  will now be described in more detail in connection with FIGS. 2 through 4 and FIGS. 6 through 7.  
         [0041]    1. Fast Autocorrelation Algorithm Setup  
         [0042]    The first process describes a fast autocorrelation algorithm whose objective is to quickly find the autocorrelation values of each lag interval for an transition-based representation to be used to find the dominant periodicity of a signal. As used herein, the transition-based representation covers the same or mixed, run-length and/or run-end edge representation.  
         [0043]    [0043]FIGS. 2, 3, and  4  describes various domains in which the present fast dominant periodicity finding algorithm can be implemented. FIG. 2 is a plot that illustrates the distribution of autocorrelation values that can be exploited by using an implementation of the fast dominant periodicity finding algorithm in a pixel domain. FIG. 3 is a plot that illustrates the distribution of autocorrelation values that can be exploited by using an implementation of the fast dominant periodicity finding algorithm in a same edge run-end domain. FIG. 4 is a plot that illustrates the distribution of autocorrelation values that can be exploited by using an implementation of the fast dominant periodicity finding algorithm in a mixed edge run-end domain.  
         [0044]    The run-length representation is a relative representation that defines the number of consecutive pixels of the same color. As an example, a black run of length “n” refers to a continuous sequence of “n” black pixels.  
         [0045]    The run-end or run-begin representations are absolute representations that define the runs in terms of their absolute positions with respect to a predefined reference such as the left margin. For example in a left-to-right horizontal scan line, the run-end is the distance of the end pixel of the run from the left margin. The salient concept in these representations are the absolute locating of transition pixels that delineate an ‘edge’ between two runs, expressed as either the end of one run (e.g., run-end) or the corresponding beginning of the next adjacent run (e.g., run-begin  
         [0046]    As an illustration, the following is a sequence of pixels in the original signal ‘original pixel domain’, where the data digit “0” denotes a pixel of a first color, and the data digit “1” denotes a pixel of a second color, with the forward slash “l” denoting a run edge, (for which the immediately preceding pixel is also referred to herein as its corresponding run-end transition pixel and the immediately following pixel is also referred to herein as its corresponding run-begin transition pixel):  
         [0047]    Original pixel domain: {11111/000/1111 . . . } 
         [0048]    Converting, for example, to a transition-based representation, the fast autocorrelation algorithm expresses the foregoing sequence in terms of “transition” pixels in the ‘run-end transition pixel domain’, as follows:  
         [0049]    Run-end transition pixel domain: {00001/001/0001/ . . . } 
         [0050]    Converting next, for example, to a first run-based representation, the fast autocorrelation algorithm expresses the foregoing sequence in terms of “mixed” edges, in the ‘run-end mixed-edge position domain’ as follows:  
         [0051]    Run-end mixed-edge position domain: {5, 8, 13, . . . } 
         [0052]    Converting further, for example, to a second run-based representation, the fast autocorrelation algorithm expresses the foregoing sequence in terms of “same” edges, here using only the alternate run-ends representing “run-of-1s-to-run-of-0s” transitions (which cuts the foregoing sequence in half), in the ‘run-end same-1/0-edge position domain’ as follows:  
         [0053]    Run-end same-1/0-edge position domain: {5, 13, . . . } 
         [0054]    The latter two domains allow the fast autocorrelation algorithm to in effect “skip” processing at most pixel positions by focusing only on all or half of the run-ends, thus improving the signal processing time.  
         [0055]    To mathematically describe the remap of the original bitonal image into a horizontal scan line transition image based upon run-end coding of mixed edges, each pixel being represented as x i , (i=0, . . . , N−1) in a bitonal image of n pixels, the value x i  is equal to 1 if x i  is a “transition” pixel (i.e., the last pixel in a run of pixels of the same color), and x i  is equal to 0 otherwise.  
         [0056]    The autocorrelation at a lag “l” of the random sequence {x i }, is R(l) as defined by the following relationship:  
         R        (   l   )       =       ∑     n   -   l       N   -   1              x     n   -   l       *       x   n     .                               
 
         [0057]    The normalized autocorrelation ρ(l) is defined by the following relationship:  
           ρ        (   l   )       =         R        (   l   )         R        (   0   )         =         (   1   )       R        (   0   )                ∑     n   -   l       N   -   1              x     n   -   l       *     x   n               ,     
            where                 0     =       ρ        (   l   )       =   1.                             
 
         [0058]    In the foregoing equation, for binary sequences in the transition domain note that X n−l* X n  is equal to 0, except when both x n  and x n−l  are transition pixels (x n−l =x n =1). This observation is exploited to expedite the computation of such an edge domain autocorrelation by checking lag intervals only between transition pixels.  
         [0059]    One embodiment to implement such an edge based autocorrelation is when the bitonal image is represented in what is referred to herein as mixed edge position domain form, where only transition pixel positions are stored and all of them are used. In this case, what is needed to calculate the mixed edge autocorrelation is to count how many run-ends of either color (i.e. “mixed”) are at distance or lag “l” apart and divide by the total number of run-ends (i.e., R(0)). As a result, this normalized autocorrelation ρ(l) can be expressed by the following relationship:  
         ρ        (   l   )       =         Number                 of                 run        -        ends                 at                 distance                 l       Number                 of                 run        -        ends       .                           
 
         [0060]    [0060]FIG. 2 is a plot that illustrates results from implementation of the fast dominant periodicity finding algorithm using autocorrelation in the original pixel domain. This implementation assigns data values “−1” and “+1” to the two pixel colors. This implementation also computes the absolute value of the autocorrelation for its output, in order to exploit both “sameness” or “oppositeness” in finding the optimal dominant period for a pixel periodicity exploiting compression algorithm like JBIG.  
         [0061]    [0061]FIGS. 3 and 4 illustrate two edge-based domains for which this fast autocorrelation method can be implemented. FIG. 3 is a plot that illustrates results from implementation of the fast dominant periodicity finding algorithm in a same edge run-end domain. FIG. 4 is a plot that illustrates results from implementation of the fast dominant periodicity finding algorithm in a mixed edge run-end domain. In order to implement a fast autocorrelation method, both of these plots are computed using bitonal image data expressed in terms of the runs (specifically the run-ends) in each horizontal scan line.  
         [0062]    2. Fast Dominant Period Search Algorithm  
         [0063]    The second process describes a fast search algorithm that uses only the fast autocorrelation values computed at certain lag intervals to determine (1) if a dominant peak in autocorrelation for the signal exists, and if so, (2) to rapidly identify such a dominant peak in autocorrelation.  
         [0064]    Note that with this search algorithm, the previous fast autocorrelation algorithm does not have to calculate the autocorrelation for all of the given lag intervals. The fast search algorithm recognizes additional “shortcuts” to further speed-up the dominant autocorrelation peak finding process. This fast search algorithm relies on the experimental observation that the peaks  205 ,  210 ,  215 , and so forth in FIG. 2; the peaks  305 ,  310 ,  315 , and so forth in FIG. 3; and the peaks  405 ,  410 ,  415 , and so forth in FIG. 4, occur at multiples of a “fundamental” lag interval for the leftmost peak (e.g.  205 ,  205  and  405 ). In turn, this lag interval for the leftmost peak is recognized to be an integer divisor of the lag interval for the dominant peak in autocorrelation being sought (this leftmost peak would be recognized as a ‘harmonic’ in a frequency based representation).  
         [0065]    To this end, and with reference to FIG. 4, for example, a fast mixed edge autocorrelation algorithm is applied sequentially for increasing lag intervals, which in the present illustration vary from 1 to 128. A “peak” is only recognized if the fast search algorithm determines that the autocorrelation exceeds a predetermined threshold  400 .  
         [0066]    The leftmost autocorrelation peak  405  defines the fundamental lag interval (or fundamental period). The fast search algorithm proceeds with the search for the dominant peak period  460  on the basis that this peak period is a multiple of the fundamental period  405 .  
         [0067]    In the illustration of FIG. 4, the fundamental lag interval  405  corresponds to the fundamental lag interval  6 . The fast search algorithm knowing the fundamental period  405 , and that the dominant peak period  460  corresponds to a natural multiple of the fundamental lag interval  6 , proceeds with the analysis of the original signal only at multiples of the fundamental lag interval  6 , i.e.,  12 ,  18 ,  24 , etc. This peak-to-peak search is referred to herein as incremental peak finding.  
         [0068]    When this peak-by-peak search is completed, the fast search algorithm determines the lag interval with dominant autocorrelation  460 , which, in this example, corresponds to the lag interval  72  (a multiple of 6). In order to find this tallest peak, the fast search algorithm implements a pairwise comparison which recursively stores only the tallest peak seen up to that point. This process eliminates the need to store all the peak values (unless needed or desired) along with their lag interval values.  
         [0069]    According to another embodiment, when a predetermined sufficient autocorrelation  499  is reached or exceeded, the fast search algorithm sets this peak as the sought dominant peak period.  
         [0070]    This fast search algorithm will now be mathematically described. For almost periodic halftones the random sequence {X i }, can be expressed by the following relationship:  
           x        (   i   )       =         ∑     k   =   1     m            y   k          (   i   )         =     w        (   i   )           ,       where                 i     =   0     ,   N              ,   …              ,     N   -   1                           
 
         [0071]    where y(k) is a periodic component, and w is a noise component. The autocorrelation for such an almost periodic halftone representation will exhibit the same periodicity with the sequence x(i) and will tend to be the sum of the periodic autocorrelation functions of each periodic component y(k). As the lag “l” increases, the autocorrelation of the noise component diminishes, and eventually vanishes.  
         [0072]    The method for fast detection of the “best” (also referred to as dominant or optimal) period in the sequence x(i), i.e., the lag “l” that maximizes the autocorrelation, is as follows:  
         [0073]    (a) Successively, compute the autocorrelation ρ(l) using the fast autocorrelation algorithm described earlier, for lag intervals “l” increasing from 1 to p, until the autocorrelation of “p,” namely, ρ(p) is greater than, or equal to ρ threshold , a preselected threshold between 0&lt;ρ&lt;1. It is noted according to the present invention, that when “p” is an integer divisor of the dominant period all the other periodic components beyond its lag interval in the sequence are multiples of “p”. It should be noted that if there does not exist a lag “l” for which the autocorrelation ρ(l) is greater than, or equal to ρ threshold , then we conclude that there is no periodic component that is sufficiently powerful in the signal. As a result, the peak periodicity cannot be quickly determined from the signal.  
         [0074]    (b) Continue computing the autocorrelations only for multiples of p, ρ(K*p)=ρ k , as long (K*p) is less than, or equal to L, where L is a chosen lag interval bound for period search.  
         [0075]    (c) Choose the t=(K*p) for which ρ(t) is maximum as the dominant period.  
         [0076]    3. Fast Window Search Algorithm for Dominant Window within One Line  
         [0077]    Whereas up to now we have presented methods to find the dominant period in an image of many lines, here the third process describes an algorithm that more rapidly estimates the dominant window for finding the dominant periodicity within a single line (or image row). This process further speeds up the computation of autocorrelation in a line (or even an image) in that it uses only parts of the image rows (“windows”), rather than using the entire row. For example, an image row of w pixels wide, may be easily divided into 8 windows of roughly equal size (in pixels, but various sizes in run-ends). It is novel to deduce that the autocorrelation computation can be restricted to be computed only in the densest window (the window with the most run-ends).  
         [0078]    This algorithm is preferably implemented following the domain generation phase of the above fast autocorrelation algorithm, and before the execution of the above fast dominant period search algorithm. Such a run-dense window selection process is useful not only to speed-up the computation, but can also be used to easily select the halftone part of a mixed (text/halftone) row.  
         [0079]    4. Fast Region Search Algorithm for Estimating the Dominant Period  
         [0080]    The fourth process describes an algorithm that addresses dominant autocorrelation lag interval finding for a larger block comprised of multiple scan lines or rows. As an example, this process expeditiously determines the dominant periodicity within a sequence of adjacent lines, or alternatively, within a two-dimensional contiguous image region.  
         [0081]    Instead of computing the peak period for the entire block (each pixel and row in the block), the present invention implements the following heuristic algorithm:  
         [0082]    (a) Apply the fast search algorithm described above for a number of successive image rows and compute the best period t i  for each row j=1, 2, . . . , m . . .  
         [0083]    (b) Presuming that “K” different peak autocorrelations at lag intervals, t k , were found, where “k” varies between 1 and K in the “m” image rows, update an array of counters COUNT(t k ) indicating how many rows have t k  as the peak period, where the sum of COUNT(t k ) for “k” varying between 1 and “K” is equal to m.  
         [0084]    (c) Choose the peak period “T” for the entire (large) sequence as: T={t k  for which COUNT(t k ) is maximum}.  
         [0085]    For a large sequence, such as an entire halftone page, the halftone period can usually be estimated by restricting the search to only a sub-block. However, there is the sub-optimal possibility of finding as the dominant peak a local high frequency harmonic that can appear, for example, when a “macro-cell” used in the periodic halftoning contains a regular dot pattern.  
         [0086]    5. Applying the Dominant Period to an Application (e.g. Compression)  
         [0087]    The fifth process is application of the above fast dominant period finding methods to a periodicity exploiting application. Example applications include using the dominant period from a periodic bitonal image (like a halftoned image), in combination with the (PRECIS) mixed-edge periodicity exploiting compression algorithm or the JBIG pixel periodicity exploiting algorithm. Both of these algorithms require that the dominant periodicity for the bitonal image to be compressed be determined and input to them as an external parameter.  
         [0088]    When applied to the same sample image scan line, the dominant period found using the various data domains illustrated in FIGS. 2, 3, and  4 , were identical (i.e. lag interval  72  at peaks  260 ,  360  and  460 , respectively).  
         [0089]    [0089]FIGS. 6 and 7 are plots that illustrate the distribution of compression ratios that can be exploited by using an implementation of the (PRECIS) edge periodicity exploiting or JBIG pixel periodicity exploiting compression algorithm in the apparatus of FIG. 1. Testing on the same sample image scan line as was used for the plots of FIGS. 2, 3 and  4 , note that the lag interval with maximal compression for both compression algorithms is again identical (i.e. lag interval  72  at peaks  660  and  760 , respectively).  
         [0090]    The above experimental results illustrate the novel insight that the dominant period for a bitonal image is pervasive, and can be robustly found using a variety of periodicity finding functions (and we can therefore satisfactorily choose to use the fastest one). The above empirical results also illustrates that such a dominant period can be robustly exploited by a variety of periodicity exploiting compression algorithms (and other periodicity exploiting algorithms).  
         [0091]    It is to be understood that the specific embodiments of the present invention that are described herein are merely illustrative of certain applications of the principles of the present invention. Numerous modifications may be made without departing from the scope of the invention.