MXPA98008956A - Method and apparatus for handling values of diffusion of erro - Google Patents

Method and apparatus for handling values of diffusion of erro

Info

Publication number
MXPA98008956A
MXPA98008956A MXPA/A/1998/008956A MX9808956A MXPA98008956A MX PA98008956 A MXPA98008956 A MX PA98008956A MX 9808956 A MX9808956 A MX 9808956A MX PA98008956 A MXPA98008956 A MX PA98008956A
Authority
MX
Mexico
Prior art keywords
error
pixel
value
buffer
values
Prior art date
Application number
MXPA/A/1998/008956A
Other languages
Spanish (es)
Inventor
J Curry Donald
Kletter Doron
Original Assignee
Xerox Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xerox Corporation filed Critical Xerox Corporation
Publication of MXPA98008956A publication Critical patent/MXPA98008956A/en

Links

Abstract

A method and system accumulates an error from an error diffusion process used to represent or transform continuous images. An exploration of an original document generates a plurality of values of original pixels which are adjusted by a value of the accumulated error corresponding to the total effect of the neighboring pixels. The value of the adjusted pixel error is determined between the value of the adjusted pixel and an output. The error value of the adjusted pixel is weighted by a predetermined weighting technique and diffused among a plurality of neighboring pixel locations to generate a plurality of intermediate pixel error values. The values of the intermediate pixels are accumulated and stored in an error buffer before being combined with the value of an original pixel. Repetitive access to the location of a memory associated with the value of the adjusted pixel is obviated by the accumulation of intermediate pixel values in the intermediate registers. A compressor compresses the values of the spread errors before storing them in a buffer as accumulated error values.

Description

METHOD AND APPARATUS FOR HANDLING VALUES OF DIFFUSION OF ERRORS BACKGROUND OF THE INVENTION This invention pertains to the technique of the data processing system and, more particularly, to the diffusion of errors to convert continuous tone images to a binary dot pattern for the purpose of printing or presenting it on a device. binary output. The invention is specifically applicable to a processing system for more efficient handling of an error innovation sequence generated by an error diffusion technique and the compression of accumulated sequence error values to reduce the storage size in a line buffer. The invention provides significant advantages of increasing memory efficiency and reducing the size of the memory, and of avoiding the need for an external memory for a processor integrated microcircuit, for a printing device or binary visual representation. However, it should be appreciated by those skilled in the art that the invention could easily be adapted for use in other applications such as, for example, where similar data flows are sequentially accumulated to be stored in a buffer of registration type lines . REF: 28382 Error spreading is a well-known technique for converting continuous-tone images to dot patterns for the purpose of printing or displaying them on a binary device. The error diffusion technique is often the technique of converting low to medium resolution devices (below 600 dots per inch), particularly since the error diffusion method does not incorporate a predetermined threshold array as in the separation techniques of traditional agglomerated points. The absence of any such structured cells allows error broadcasting to quickly track the positions of the fed data, making it more capable of effecting the conversion of high frequency details. Alternative methods require large-sized arrays to accommodate the sufficient number of gray levels that are necessary for high-quality reproduction (it has been determined that the eye can distinguish between approximately 200 shades or shades of gray). Such large-size arrays can become visually noticeable at the exit; in this way, the size of the array, and the corresponding number of gray levels, must be committed to the quality of the desired image. The error diffusion method typically involves a single pass with a scanning device on the fed image, during which each pixel is processed sequentially. The conventional procedure consists of setting the threshold of the value of the fed pixel and replacing it with one or two values, on or off. When each pixel is changed in this way, an error is introduced in the local gray level of the image. The error is the difference in the gray level between the value of the original pixel determined by the scan and the value of the "on" or "off" density printed or displayed. This error is propagated to the neighboring pixels by adjusting the values of the neighboring pixels to preserve the local gray level before setting the threshold that has appeared in the observer's eye. To avoid multiple passes on the image, the error propagates (or "diffuses") only among the future pixels that have not been processed (for example, to the pixels located to the right and below the current pixel for an order of scan from left to right). Various methods for determining how to distribute the error between neighboring pixels are well known. FIGURE 2 demonstrates the principles of the error diffusion technique with a well-known, particular filter scheme. It should be noted that the diffusion scheme of FIGURE 2 is originally derived by Floyd &; Steinberg, and is included here solely for the purpose of illustration. However, this example can still demonstrate the technique of the objective invention, its implementation, and can be used to clearly illustrate the differences between the objective invention and conventional error diffusion techniques. In FIGURE 2, the squares 10 represent the pixels of the image fed on a scan grid according to what is determined from an input scanning device. The black and white pixels 12, 14 were already processed, a threshold was set, and they were converted to a binary format either on or off. The shaded pixels 16 have not yet been processed. The central pixel 18, surrounded by a black frame, is the pixel to be processed next. The arrows that go from the current pixel to the weighted values F, ©, ® and ® indicate how the current threshold error will be distributed in the neighboring pixels. This is often called an "error diffusion filter" in the literature because the application of a specific weighting scheme is in effect a filtering of the calculated error between which the scanner detects and the printer prints for each pixel. The numbers along the arrows describe the relatively non-normalized neighbor's weight [possibility of variation]. For example, the number F associated with the pixel immediately to the right of the current pixel 18 indicates that a 7/16 error will be used to adjust this pixel, where 16 is the normalization factor equal to the sum total of the weights. When each of these neighbors is adjusted in this way, its associated gray value changes (making it darker or lighter, depending on the error sign), and the updated value is what will be used to set the threshold of the neighboring pixels . Based on the above description, a conventional error diffusion technique is composed of the following three basic steps: first, a threshold setting step, in which the value of the current original pixel is compared with a given threshold to determine the output to print or display the pixel; second, a step of calculating the error, where the error is calculated by subtracting the binary output level from the value of the original pixel; and third, an error is filtered according to the selected weighting scheme and distributed to the neighboring pixels. This procedure then advances one pixel and repeats, until the end of a line is reached. The conventional error diffusion procedure is illustrated in FIGURE 3. The notation here is that x (i, j) is the value of the current pixel, e (i, j) is the error y? X (i, j) is the compensation value for the location pixel (i, j). Also, small rectangles represent data loggers, thick lines indicate collective conductors, and thin lines indicate binary values. As can be seen from FIGURE 3, the conventional method requires multiple accesses to a memory to accumulate the sequence of compensation values. For each pixel processed, the system needs to read a number of error values for the neighboring pixels, modify them and write the results back into the memory. This is clearly inefficient, when the value of each pixel must be adjusted in this way multiple times. For example, the value of the shaded pixel marked F in FIGURE 2 will be "read-modified-written" once by the error generated in the current cycle, it will only be "read-modified-written" again when the procedure moves towards the next pixel (this time via the weight of the filter, assuming a process from left to right). Repetitive access to memory is expensive in terms of time consumption and data management inefficiency and is a specific problem that seeks to be overcome by the objective invention. Another particular problem with a conventional error diffusion system is the size of the memory. The amount of memory necessary to store and accumulate error values relevant to a frame scanner is such that an external memory for an integrated processing chip usually has to be employed. Again, the inefficiencies of access to the external memory, as well as the additional costs involved, present the substantial need to minimize the amount of context memory used for any real-time application of an error diffusion technique. The error diffusion method illustrated in FIGURE 3 requires storing at least one context line in the memory, due to the fact that the current pixel error directly modifies the values of the pixels below it, above a line of exploration. In practice, this context can be very large. A four-color page of 21.6 centimeters (8.5 inches) typical width printed at 600 dpi, for example, would require storing at least 20,000 cells of data in memory, with each cell large enough to contain all the information necessary to process a single pixel For the reasons detailed below, the use of eight precision bits per cell may not be sufficient. Assuming that 12 bits are used per cell, the total storage requirement for this example is translated into something like 30K bytes of memory. Such storage sizes are not economically implemented in a low-cost silicon technology that currently uses a single integrated microcircuit, and are much better used using external memory devices.
Therefore there is also a substantial need to reduce the total cost of the system by applying compression techniques to significantly reduce the size of the cell, thus decreasing the total size of the memory, without compromising the quality of the image. Considering the minimum cell size, it is well known that the human visual perception system can not distinguish more than approximately 200 shades of gray, implying that 8 bits per pixel are suitable for the representation of a gray scale image. Current practice typically uses the 8-bit system to compactly encode each separation of the continuous tone image. In this way, color images are typically encoded using three separations of 8 bits or more, for example, three as in "red, gray and blue" or "cyan, magenta and yellow"; four as in "cyan, magenta, yellow and black"; or even more with high fidelity color reproduction. The 8-bit system does not have the ability to handle the error filtering and feedback mechanisms discussed above. The value of any single pixel error can be as large as the largest absolute difference between the compensated gray level and the threshold, where the latter can also vary through the process as part of several other improvement techniques. The total sum of the error contributions to any given pixel depends on the content of the image and the past propagation history of the error, and occasionally it can be added to a large value. Also, those contributions can be negative or positive, although it is considered that the pixel values are positive integers only. When added to the values of the neighboring pixel, those contributions could be that the total result overflows the 8-bit interval and become even larger, or negative. Consequently, larger intervals are usually necessary, that is, more bits. In addition, noise can also be injected as a common practice to eliminate several reproduction artifacts, thus contributing to increase the size of the error values. The method of Floyd & Steinberg illustrated above employs a deterministic error diffusion filter. That is, the way in which the error is distributed to the neighboring pixels remains constant and fixed for all the pixels. Floyd & Steinberg, based on the experimentation, concluded that the filter shown in FIGURE 2 has the minimum filter size (in terms of the number of weight) required to produce an acceptable reproduction quality. However, reproduction artifacts may remain visible at the exit, particularly at some specific gray levels. These artifacts typically manifest as "caterpillar artifacts", where several strange points appear in the minds of observers, which connect in the form of segments of a short line. An effective method to further eliminate these artifacts is to inject additional pseudo-random noise in the process. The noise helps to "excite" around the positions of the point with respect to the threshold, thus separating the structures of the segment from the line into a smaller, less visible. Larger noise levels may be more effective in eliminating such artifacts, but may also lead to an increase in the apparent level of "graininess" of the image. This is the reason why 10 to 12 bits are often used per error value in common practice. Due to the random nature of the error diffusion technique and the associated high frequency content, it is well known that it is relatively difficult to compress diffuse images due to errors. Most of the standard compression techniques available will not produce a significant compression ratio. The same is generally true for the compression of the error sequence, although there is obviously a large reduction in the information content going from an 8-bit continuous plane image to a binary output on a paper or visual representation device.
The present invention contemplates a new and improved apparatus and method, which overcome all the problems referred to above and others to provide a novel error diffusion system, which is economically manufactured, easily adaptable to a plurality of diffusion techniques that has a variety of dimensional data characteristics and that provides better compression of residual error flows and is more efficient in memory handling in a preferred error diffusion technique.
Brief Description of the Invention According to the present invention, there is provided a method of accumulating an error value of an error diffusion process used to reproduce continuous images, wherein the value of the error is handled more efficiently by the system and is transformed into a compact form to be stored in an error buffer. The system comprises scanning an original document by a predetermined technique in relation to the locations of individual pixels, wherein a sequence of original pixel values of the original document are identified and read in an input buffer. The values of the original pixel are adjusted by means of a value of the accumulated error that corresponds to the total affect of the neighboring pixels on the current pixel to determine e-value of adjusted pixel determinant of an output to be presented by a printer or representation device visual in a place that corresponds to the original pixel. An error value of the adjusted pixel is determined between the value of the adjusted pixel and the output to the visual representation device. The adjusted pixel error value is weighted by a predetermined weighting technique and diffused between a plurality of neighboring pixel locations to generate a plurality of intermediate pixel error values. The error values of the intermediate pixel are accumulated and stored in an error buffer before being combined with the value of the original pixel in the adjustment step, so that repetitive access to the location of a memory associated with the value of the The adjusted pixel to store the accumulated error value is obviated due to the accumulation of the intermediate pixel error values in the intermediate register. According to another aspect of the present invention, a compressor is placed in the middle of the diffuser and the error buffer to compress the diffused error values before they are stored in the error buffer as accumulated error values. The compressor preferably includes a quantizer to reduce the number of bits needed to represent the spread error value. The compressed error values are stored in the memory and are compressed and combined with the adjusted, spread pixel error values to modify the sequential accumulation to improve maintenance of the appropriate gray levels in the display or printer device . In accordance with another aspect of the present invention, a particular circuit configuration is provided for a binary weighted image error broadcast representation system, wherein the remaining bits generated in each division of the distribution process are fed to the integrated inputs. of subsequent adders, so that no additional accumulator equipment is required. According to another aspect of the present invention, the error buffer comprises a horizontal error buffer and a vertical error buffer. The intermediate recording devices comprise a forward error buffer and a backward error buffer, which sequentially accumulate the values of the vertical error state accumulated prior to accumulation and final storage in the vertical error buffer.
A benefit obtained by the present invention is a significant increase in the efficiency of the memory of an error diffusion system by reducing the total number of access cycles to adjust the reading operation of the memory and writing of the memory per pixel, regardless of the size of the filter. Another benefit obtained from the present invention is a transformation of the error value into a compact form to significantly improve the utilization of the error diffusion memory, while preserving the appropriate local gray levels, and without appreciable reduction in the quality of the error. the picture. The other benefits and advantages of the aim of the new systems and methods of diffusion of errors will be evident to those skilled in the art after reading and understanding this specification.
Brief Description of the Drawings The invention may take physics in certain parts and arrangements of the parts, the preferred modalities of which will be described in detail in this specification and illustrated in the accompanying drawings, which are part of it and in where: FIGURE 1 comprises a block diagram of a preferred embodiment of the present invention; FIGURE 2 illustrates a conventional scanning and weighting technique of error diffusion; FIGURE 3 comprises a block diagram of a conventional error diffusion system; FIGURE 4 is a flowchart of the method of the preferred embodiment of the invention; and FIGURE 5 is an implementation of the particular equipment of a diffuser for a binary, weighted error dissemination system.
Detailed Description of the Invention The object of the invention improves and further refines conventional error diffusion techniques to remedy the above deficiencies and limitations. Specifically, it offers a novel and efficient method for significantly increasing memory efficiency by reducing the total number of access cycles for a memory read and write memory operation per pixel, regardless of the filter size. This is achieved by "reversing" the sequence of operations in such a way that the "writing" precedes the "reading" in relation to an online buffer in the memory. Instead of updating all the relevant pixel values in the online buffer when each error is broadcast, the invention first accumulates the updated intermediate pixel? X (i, j) in a local register. Only when all the possible error contributions to a given pixel have been added, the accumulated result is then written into the online buffer. Finally, when the diffusion of the error progresses and it is time to handle the pixel in the location (i, j), and the current pixel value x (i, j) becomes available in the input, then the value of the updated sum it is read back into the online buffer and used immediately to compensate for x (i, j). An extremely efficient use of the memory and the bandwidth of the online buffer can be achieved by following an appropriate organization of its content. The proposed method separates the pixel error adjusted into two components, the state of the horizontal error and the state of the vertical error. The state of the horizontal error ex is the error that is carried in the fast scan direction of the processing. The vertical error e? it is the error carried in the direction of exploration of the current line to the lines that have not been processed. Clearly, horizontal error is much less difficult to handle than vertical error since the information in it is much shorter in duration. This is generated and subsequently consumed briefly through several pixels. The vertical state information, on the other hand, needs to be preserved through the lines. In each error diffusion cycle, a vertical error is retrieved from the line buffer and used to compensate the current pixel, for example the Ith. When this place is free, it is rewritten with the new vertical error for the Ith pixel in the next line. Of course, the write operation is delayed to take into account the spread of the error diffusion filter. Consequently, efficiency is expressed by a "read" operation followed by a "write" operation per pixel. The total amount of memory required is the buffer of the line to store the vertical error status plus a few local records to store the horizontal state. The number of such registers is equal to the horizontal extent of the error diffusion filter minus 1. Referring now to the drawings, wherein the shown is solely for the purpose of illustrating the preferred embodiments of the invention, and not for the purpose of limiting the same, FIGURE 1 shows a block diagram of a storage system for handling an original pixel value generated by a browser that is intended to be reproduced exactly on a binary display device, such as a video screen or printer, maintaining at the same time a suitable local gray level. The invention is applicable to conventional error diffusion techniques, wherein a difference between the value of the original pixel and the binary output is calculated and diffused along the neighboring pixels of the display device, so that it appears to the observer that the local gray level was preserved. The subject invention is particularly applicable to the handling and storage of the error innovation sequence to be applied to a particular pixel from neighboring pixels to maintain the desired preservation of the gray level of the display device. FIGURE 1 illustrates a possible implementation of an error diffusion technique practiced in accordance with the present invention and corresponding to the example of Floyd &; Steinberg previously discussed the techniques of weighting neighboring pixels. With the reference corresponding to the flow chart of FIGURE 4, the invention involves first scanning an original document to obtain an original or current pixel value of the current scan line whose location along the line is shown dark, block 61. In the mode of FIGURE 1, the current pixel value comprises 8 unassigned bits and is suitably representative of an image pixel or text in the original gray scale, of a color separation, if any, over the original document. The processing element 62 adjusts the value of the current pixel by combining it with a corresponding accumulated error value to generate an adjusted pixel value which determines an output to be displayed by the binary display device at the corresponding pixel location on the device. display. The adjustment comprises a sum of those values. In FIGURE 1, the accumulated error value is stored in a vertical error buffer e? 64 having a vertical error status value and a horizontal error buffer, ex 66 containing a horizontal error status value. The processing element 62 can combine the three quantities simultaneously to generate a set pixel value that determines the output. The value of the adjusted pixel is compared with the value of a threshold 68 that determines whether the binary output will be a "1" on or "0" off, as indicated at 70. In addition, the on or off state will be on or off. 46 is assigned an output value 72 that corresponds to the scale or range of grays used by the scanner. Since in FIGURE 3, 8 bits were used, an output power on value is "255" and an output power off value is "0". It should be noted that for the diffusion of the binary error, a single comparator 74 is sufficient. For the diffusion of error of multiple levels, more comparators (and more thresholds) may be required. The records of the threshold (s) 68 can be fixed or vary from one pixel to the next in order to further increase the output and eliminate some transformation or representation artifacts. The processing element 76 preferably comprises an adder to combine 48 to the adjusted pixel value with the corresponding gray level of the output, 255 or 0, to determine a value of the pixel error adjusted therebetween. For example, if the adjusted pixel value were 200, and the threshold was smaller, the corresponding pixel output would be "on", the corresponding compensation value would be "255", and the adjusted pixel error would be "- 55". It should also be noted that the scheme of the objective invention can be easily extended to support the diffusion of multi-level error with multiple decisions, using a number of comparators or adders followed by the appropriate selection logic. The error value of the adjusted pixel is fed to the logic of the diffuser 80 which calculates 50 various error quantities to be distributed to neighboring pixels according to any predetermined weighting techniques applied for the diffusion filter of the selected error. For the target sample, the diffuser 80 calculates the error values between four filter connections (1/16, 3/16, 5/16 and 7/16) according to the weighting and distribution scheme illustrated in FIGURE 2. Care must be taken to ensure accurate and complete distribution of the error value, in other circumstances, small errors resulting from finite numerical precision and / or rounding errors may accumulate on the printed page or display device. With integrated filter weights such as those employed in the objective example, diffusion can easily be achieved using simple addition operations. The implementation of the real diffuser naturally depends to a large extent on the operating requirements. For a maximum speed, the four error connections can be generated at the same time using the parallel logic. If, however, the external device operates at a slower speed (compared to the internal clock speed of the target circuit), then error values can be generated one at a time, thereby reducing the cost of reconfiguring and sharing multiple times a logical weight or weight. In the latter case, the sequence in which the connections are calculated can be ordered to minimize the storage and complexity of the equipment.
In this way, for example, the context of error connection 7/16 82 (which corresponds to the new error value in horizontal state) can be generated first and immediately stored in the memory buffer register of horizontal error ex, 66, replacing the old value which is no longer necessary. A distinction that should be noted between the modalities of FIGURE 1 and FIGURE 3 is that the value of the adjusted pixel error calculated with the objective invention is not based on the value of the current pixel for the calculation of the error, but on the value of the adjusted pixel generated by the adder 62. In the conventional system of FIGURE 3, the current pixel value, x (i, j) must already be a collection of the value of the original pixel and the accumulated errors, accumulation which must occur before of the storage or in the buffer of the line that stores the current pixel values. Continuing with the objective invention, the second connection or derivation 84 to be calculated is the connection or derivation 3/16, which contains the contribution of the current error to the pixel located immediately below and to the left of the current pixel (FIGURE 2), the third connection or derivation is the connection or derivation 5/16 86 and the fourth connection or derivation, connection or derivation 1/16 88. The last three connections or leads 84, 86, 88 are all inputs to the compressor 90, which contains an intermediate register set and a compressor for compressing the errors into a compressed accumulated error value for more compact storage in the vertical buffer e AND 64. The compressor 90 includes the intermediate registers erwo 92 and eB? D 94, adders 96 , 98 and a quantizer 100. The sequential accumulation 52 of the adjusted pixel error values diffused in the intermediate registers 92, 94 occur in the sequence corresponding to the scanning sequence from left to right shown in FIGURE 2. Consequently for the accumulation of the vertical error status value, for a particular pixel, the connection or derivation 1/16 88 is calculated and stored in the e ™ D register 92. So the scan could continue so that the current pixel can then be immediately above the pixel for which the errors are accumulating, the next connection or derivation 5/16 could be added to the value contained in the TFWD record 92 by the adder 98, together with a r remnant of the quantizer 100, as will be explained in more detail later. The value of the adder 98 is then stored in a second intermediate register eB? Or 94 to continue accumulating the error contributions to the target pixel. Finally, when the current pixel moves to the right and above the target pixel, the value of the connection or derivation 3/16 84 is added to the content of the eB? N register 94 by the adder 96. The value of the adder 96 it comprises a fully accumulated vertical error status value expanded. The value can now be written to the memory 64 and stored until the processing of that particular pixel. A feature of the invention is that the final cumulative error value of the adder 96 is compressed 54 before being stored in the error buffer 64. The result is then quantized by the quantizer (QTZ 100), compressed to 4 bits, for example , although other sizes could be used depending on the desired relationship between the retention of the achieved quality or the degree of compression, and the rewriting to the error diffusion buffer as the quantized output q. As noted above, the resulting quantization error (the output to the remainder r of the quantizer 100) is fed back to modify the value of the advance register TFD 92. This crucial step, in essence, advances the remaining error to the next pixel. over the next line, thus maintaining the correct total gray level. Alternatively, the remainder r can be fed directly to the adder 76 or the adder 96 in place of the adder 98, and then the quantization error could be used to effect the filter weighting for the value of the next pixel, which can be useful to eliminate artifacts Consequently, the "compression" procedure works in cascade with the error diffusion process, to preserve the correct gray level and at the same time reduce the size of the resulting error flow. In this sense, compression is "visually lost". The result of the compressor 90 is stored 56 in the buffer of the compressed error 64 and thus comprises a compression of the state of the vertical error. The buffer 64 is of sufficient size to store the states of the vertical error before it is necessary to combine a particular one with the state of the horizontal error in the buffer of the horizontal error 66 and the value of the original pixel in the adder 62. Without However, storage in a compressed state substantially reduces the size requirements for the buffer of line 64. Prior to the addition of those values in the processing element 62, the compressed value, which is indicated as 4 marked bits, is expanded 58 by the expander 102 to nine marked bits. The system can then be moved 59 to the location of the next pixel and repeated.
With respect to the boundary conditions at the beginning and end of each line, one method, often preferable in equipment implementations, is to increase the size of the line, and the buffer of the error, respectively, a few pixels on each side (which they correspond to one less than the width of the diffusion filter of the error) and assumes known values for those (typically, either white or duplication of the first / last pixel values of each line). A second alternative is to adjust the connections or derivations of the filter on the first few pixels, so that they are projected beyond the true limits of the line. For example, the diffusion filter of the error in the previous example, for the first pixel on a line could combine the connection or derivation 3/16 with the connection or derivation 7/16 to produce a single connection or straight downward derivation, with a weight of 10/16, etc. The first method, the preferred one for the implementation of the equipment, has the advantage of maintaining the diffusion filter at the expense of the extension of the line (that is, greater storage of the buffer memory, more diffusion cycles). With particular reference to FIGURE 5, a system for distributing the error value is shown when the implementation of the image for the diffusion of the error makes use of a binary-wide distribution pattern.
The larger binary weighted distribution patterns have proven to be good alternatives to the Floyd & Steinberg originals discussed above and have the advantage of being easier to implement since binary multiplications manifest as deviations. An example is 8, 4, 2, 1, 1, (for the distribution wt_xx, wt_0, wt_l, wt_2, wty3 as seen in FIGURE 5), respectively. Each of the weights is a binary power and the sum of the weights is also a binary power. This makes it easy to calculate the total error that needs to be added to each term of the distribution since division by two is just a deviation. The method implemented by the apparatus of FIGURE 5 is an inexpensive way to distribute the remnants of each division, so that the distribution process does not lose the information. This is achieved by feeding several remaining bits in the feed information carried by the existing adders. The important point is that no additional equipment is required since there are only four remnants to be distributed and four of the five designations of distributed errors already have adders for other reasons. More specifically, an accumulator is not required for the division waste, since the waste can accumulate sequentially via the carry at the inlets.
More particularly, FIGURE 5 illustrates a diffusion error buffer 110 for storing pixel error values set to be broadcast between a plurality of pixels neighboring a current pixel. A plurality of intermediate registers, I, Y1, Y2 and Y3 are arranged retaining the values of the intermediate pixel error. For example, the buffer of the diffusion error is dimensioned to hold or maintain a marked error value of 9 bits, a division by a quarter to assign a connection or derivation of weight of a quarter to the I register comprises only a deviation of the error buffer 110 two positions down the two LSBs and load the six MSBs into YO. According to the scanning technique, if the connection or derivation with a weight of a quarter with a connection or bypass with a weight of one eighth is to be added, then the value of the error YO can be accumulated via the accumulator 112 and stored in the record Yl. Similarly, as the sequential scan continues, the sequential values that are being loaded into the buffer of the diffusion error will accumulate as a quarter plus an eighth plus a sixteenth plus a half. The value xx corresponds to the weight of the horizontal error status value. Accumulators 114, 116, 118 perform the central accumulation. The error at 120 for the accumulator 118 comprises an accumulation of the values of the state of the vertical error. The output of the accumulator 118, the error in plus xx, is the value that must be stored in the error buffer. A feature of the invention is that the remainder of the division of the deviations to assign the respective weighting connections or derivations is not lost, but is distributed sequentially to the whole of the accumulator via the carry in the inputs of each accumulator. To divide a binary number by two, you need to simply select the bits to the left of the least significant bit. The least significant bit then becomes the remainder of the division and is distributed to the carry and the entries. The previous systems accumulate this distribution error and add it to that of the destinations using a separate operation. The objective invention results in a more uniform distribution and avoids the equipment of an accumulator to add up those distribution errors. It should be noted in particular that the objective invention will be efficient with respect to accessing the memory described above, regardless of whether the error data is compressed or not. To avoid compression also, it is sufficient to eliminate the quantizer block QTZ 100 and replace it with a cable that simply transfers the intact input to the output q of the compressor 90, always returning to 0 in the output of the r remnant. To allow a more meaningful, simple compression, a uniform quantization of the input space can be applied in which the QTZ 100 block simply captures only a few bits of higher order (more significant). Alternatively, a quantizer 100 can be designed to compress-expand the input space via a non-linear mapping (such as a logarithmic scale) to achieve better compression at the expense of the sum of a small look-up table. As indicated above, although the objective invention has been illustrated using the Floyd & amp;; Steinberg, the fundamental technique is very general and can be customized to work with any arbitrary error diffusion filter, multilevel error diffusion, random threshold setting and other improvements and quality variations. The objective invention is apable to copiers, printers and multi-function devices. It can significantly reduce the cost of the electronic devices of a printer / copier / fax machine allowing much lower costs than in any other system and even those present can translate into greater possibilities for further improvements. The invention has been described with reference to preferred and alternative embodiments. Obviously, modifications and alterations will occur to others after reading and understanding the specification. It is our intention to include all such modifications and alterations as long as they fall within the scope of the appended or equivalent claims thereto.
It is noted that in relation to this date, the best method known to the applicant to carry out the aforementioned invention, is that which is clear from the present description of the invention. Having described the invention as above, property is claimed as contained in the following:

Claims (40)

1. A method for accumulating the value of an error of an error diffusion procedure used to represent continuous images with a binary visual representation device, wherein the error value is transformed to a compact form to be stored in an error buffer, characterized in that it comprises: reading the value of a current pixel representative of an original image at the location of a current pixel; adjusting the value of the current pixel with an accumulated error value to determine an adjusted pixel value that determines a binary output to be presented by the binary visualization device at the location of the corresponding current pixel; determining a value of the pixel error adjusted between the value of the adjusted pixel and the output; diffusing the pixel error value adjusted by means of a predetermined weighting technique between a plurality of neighboring pixel locations to generate a plurality of intermediate pixel error values; accumulate the intermediate pixel error values selected in an intermediate register; compress the selected ones into an accumulated error value in compact form; store the accumulated error value in compact form in the error buffer; and, expanding the cumulative error value in compact form in the cumulative error value to access the adjustment, whereby a larger compression ratio is achieved for the data in the error buffer while preserving a level of error. adequate local gray and without significant reduction in image quality.
2. The method of compliance with the claim 1, characterized in that the diffusion includes identifying predetermined space relations between the location of the current pixel and the locations of the neighboring pixels, the intermediate pixel error values selected are based on the spatial relationships, and where the accumulation comprises adding to the minus two of the intermediate pixel error values each respectively associated with different predetermined space ratios.
3. The method of compliance with the claim 2, characterized in that the accumulation further comprises adding a sequence of intermediate pixel error values, each sequence being associated with different predetermined space ratios.
4. The method in accordance with the claim 3, characterized in that the error buffer comprises a horizontal error buffer for storing the horizontal error status value and a vertical error buffer for storing a vertical error status value, and wherein the sum of the sequence it comprises accumulating a plurality of intermediate pixel error values in the vertical error buffer.
5. The method of compliance with the claim 4, characterized in that the intermediate register comprises a set of registers corresponding to the predetermined space ratios and the sum of the sequence further comprises sequentially accumulating the intermediate pixel error values in the set of registers.
6. The method of compliance with the claim 5, characterized in that the compression includes quantizing a sum of the sequential accumulation before storage in the error buffer, the quantization generates a quantization error.
7. The method of compliance with the claim 6, characterized in that the quantization includes retaining the selected MSBs.
The method according to claim 6, characterized in that the quantization error is added to the intermediate pixel error values in the intermediate register to maintain the appropriate local gray level.
9. The method according to claim 6, characterized in that the predetermined weighting technique is a binary weighting, where a division error of a stage is applied as a carry on the entry of the next stage of the set of intermediate registers during the sequential accumulation.
A method for accumulating an error value of an error diffusion method used to represent continuous images with a binary visual representation device, characterized in that it comprises: scanning an original document by a predetermined technique in relation to the individual pixel locations , where a sequence of original pixel values of the original document is identified; adjusting the value of the original pixel by means of an accumulated error value to determine an adjusted pixel value that determines a binary output to be presented by the binary representation device at a location of a represented or transformed pixel corresponding to the location of the pixel. original pixel scanned; calculating the difference between the binary output and the adjusted pixel value, the difference comprises an adjusted pixel error value; diffusing the pixel error value adjusted by a predetermined weighting technique to generate a pixel error value adjusted and diffused for each location of the pixel based on the intermediate pixel error values that affect the location of each pixel according to the predetermined weighting technique; placing a set of relative intermediate pixel error values in a stacked row of intermediate registers to sequentially accumulate an error innovation sequence according to the sequence of the scanning technique; storing an accumulated error value in an error buffer comprising a sum of the intermediate pixel error values so that repetitive access to the location of the memory associated with the pixel value adjusted to store the accumulated error value it is obviated by the sequential accumulation of the intermediate pixel error values in the intermediate registers.
The method according to claim 10, characterized in that the value of the adjusted pixel is determined by combining the value of the original pixel and the value of the accumulated error.
12. The method according to claim 11, characterized in that an error value of the adjusted pixel is determined between the value of the adjusted pixel and the binary output.
The method according to claim 10, characterized in that it also includes compressing the accumulated error value before storing it in the error buffer.
The method according to claim 13, characterized in that the value of the compressed accumulated error is expanded before adjusting the value of the original pixel.
15. The method of compliance with the claim 13, characterized in that the quantization error of the compression is included in the accumulation of the error innovation sequence.
The method according to claim 10, characterized in that the error buffer stores a plurality of cumulative error values comprising a set sized from a first cumulative error value that is read for the adjustment step for a The last accumulated error value that is read in the error buffer by the storage step according to the scanning and weighting techniques.
17. The method according to claim 16, characterized in that the first and last cumulative error values are read and written, respectively, during the same machine cycle.
The method according to claim 10, characterized in that the error buffer comprises a buffer of horizontal errors to store a value of the state of the horizontal error, and a buffer of vertical errors to store a value of the error state. vertical, and the sequential accumulation comprises accumulating the sequence of innovation of the error in the buffer of vertical errors.
19. The method according to the claim 10, characterized in that the binary visualization device comprises a plurality of pixels, each pixel has a corresponding accumulated error value stored in the error buffer, the method further includes limiting the access of the error buffer to a single operation of writing and a single operation of reading per pixel to write and read, respectively, the value of the corresponding accumulated error.
20. An apparatus for reproducing an original document comprising accumulating the value of an error of an error diffusion method used to represent continuous images with a binary, visual representation device, characterized in that it comprises: an explorer to scan an original document by a technique default in relation to the locations of individual pixels, where a sequence of original pixel values of the original document is identified; an adjustment processor for adjusting the value of the original pixel by means of an accumulated error value to determine the value of an adjusted pixel which determines the binary output to be presented by the binary visualization device and a location of the transformed rendered pixel which corresponds to the location of the original pixel scanned; a difference processor for calculating a difference between the binary output and a value of the adjusted pixel, the difference comprises the value of the error of the adjusted pixel; a diffusion processor for spreading the pixel error value adjusted by a predetermined weighting technique to generate a pixel error value adjusted and diffused for each location of the pixel based on the intermediate pixel error values that affect the location of the pixel. each pixel according to the predetermined weighting technique; a stacked row of intermediate registers arranged to sequentially accumulate an error innovation sequence comprising intermediate, relative pixel error values, according to the sequence of the scanning technique; and, an error buffer for storing the value of an accumulated error, comprising a sum of the intermediate pixel error values, whereby repetitive access to the location of a memory associated with the value of the pixel set to store the value of the accumulated error is obviated by the sequential accumulation of intermediate pixel error values in the intermediate registers.
The apparatus according to claim 20, characterized in that the stacked row has a number of recorders smaller than a number of weighting connections or derivations of the predetermined weighting technique.
22. The apparatus according to claim 20, characterized in that it includes an adder to sum the content of at least two of the intermediate registers.
23. The apparatus according to claim 20, characterized in that it also includes a compressor for compressing the accumulated error value before storing it in the error buffer.
24. The apparatus according to claim 23, characterized in that it includes an expander to expand the value of the compressed accumulated error before adjusting the value of the original pixel.
25. The apparatus according to claim 23, characterized in that the compressor comprises means for including a quantization in the accumulation of the error innovation sequence.
26. The apparatus according to claim 20, characterized in that the error buffer stores a plurality of cumulative error values comprising a set dimensioned from a first cumulative error value that is read to set it to a last error value. accumulated that is read in the buffer of errors by storage, according to the techniques of exploration and weighting.
27. The apparatus according to claim 26, characterized in that it includes means for writing and reading the first and last accumulated error values, respectively, during a same cycle of the machine.
28. The apparatus according to claim 20, characterized in that the error buffer comprises a buffer of horizontal errors to store a value of the state of the horizontal error, and a buffer of vertical errors to store a value of the state of the vertical error, and the buffer of vertical errors sequentially accumulates a sequence of innovation of the error.
29. The apparatus according to claim 20, characterized in that the binary visualization device comprises a plurality of pixels, each pixel has a corresponding accumulated error value stored in the error buffer, the apparatus further includes means for limiting the accessing the error buffer to a single write operation and a single read operation per pixel to write and read, respectively, the value of the corresponding accumulated error.
30. A document reproducing apparatus for processing a plurality of original pixel values representative of an image or text of an original document and including an error diffuser comprising a control system for more efficient handling of a residual error stream , characterized in that it includes: an error buffer for storing a plurality of accumulated error values; a first processor for associating a value of an original pixel with a corresponding accumulated error value to generate a set pixel value that determines the output of the visualization device corresponding to the value of the original pixel; a second processor for determining an adjusted pixel error value between the output of the display device and the adjusted pixel value; a diffuser for spreading the error value of the pixel adjusted to a plurality of pixels neighboring an original pixel according to a predetermined diffusion technique; and, an intermediate register set interposed between the diffuser and the error buffer to store the adjusted, spread pixel error values, whereby the values of the spread error can be stored temporarily and accumulated sequentially in the record set before stored in the error buffer to provide a single write operation in the memory and a single read operation in the memory to and from an error buffer, respectively, for each accumulated error value.
31. The apparatus according to claim 30, characterized in that the error buffer comprises a buffer of horizontal errors and a buffer of vertical errors, the intermediate register set is interposed between the diffuser and the vertical error buffer to store and sequentially accumulate the error values of the adjusted, spread, vertical pixel of the plurality of neighboring pixels.
32. The apparatus according to claim 31, characterized in that the intermediate recording set comprises a buffer of vertical errors of advance and a buffer of vertical errors of recoil, each of which accumulates sequentially the values of the pixel error. adjusted, diffused, vertical according to the predetermined diffusion technique.
The apparatus according to claim 31, characterized in that the intermediate record set comprises a number of vertical error buffers to sequentially accumulate the error values of the adjusted, spread, vertical pixel according to the predetermined diffusion technique. .
34. The apparatus according to claim 35, characterized in that the compressor is positioned in the middle of the diffuser and the error buffer to compress the values of the spread error before storing them in the error buffer as accumulated error values.
35. The apparatus according to claim 31, characterized in that the compressor includes a quantizer.
36. The apparatus according to claim 34, characterized in that the quantizer has a retentive output, the apparatus further includes means for combining the remaining output with the error values of the adjusted, spread pixel.
37. The apparatus according to claim 34, characterized in that the quantizer has a retentive output, the apparatus further includes means for combining the remaining output with the pixel value set in the second processor.
38. A diffuser for distributing the error values in a weighted, binary diffusion system, characterized in that it comprises: a diffusion error buffer to maintain or retain an adjusted pixel error value; a plurality of intermediate registers for maintaining or retaining the values of intermediate pixel errors; an error buffer for maintaining or retaining an accumulated error value comprising an accumulation of the values of the intermediate pixel errors; and, a plurality of accumulators for accumulating the values of the intermediate pixel errors, each accumulator has a carry input that depends on the position of the bit of the diffusion error buffer, so a division of the error of the value of the pixel adjusted in the buffer of diffusion errors, an arithmetic coefficient comprises a portion of the MSB at the output to one of the accumulators and a division residue of the division is fed to the accumulator of the input by carry.
39. The diffuser according to claim 38, characterized in that the intermediate registers are associated with the diffusion error buffer as a weighted connection or derivation.
40. The diffuser according to claim 38, characterized in that the accumulators are arranged to sequentially accumulate the intermediate pixel error values.
MXPA/A/1998/008956A 1997-10-31 1998-10-28 Method and apparatus for handling values of diffusion of erro MXPA98008956A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08962021 1997-10-31

Publications (1)

Publication Number Publication Date
MXPA98008956A true MXPA98008956A (en) 1999-09-20

Family

ID=

Similar Documents

Publication Publication Date Title
US5931960A (en) Method and apparatus for handling error diffusion values
US5757976A (en) Adaptive filtering and thresholding arrangement for reducing graininess of images
US6118547A (en) Image processing method and apparatus
US4551768A (en) Method and apparatus for processing image signal
US6011878A (en) Image processing method and apparatus
US4692811A (en) Apparatus for processing image signal
JPH04213964A (en) Photographic picture playback apparatus giving digital half-tone to screen picture facilitating adjustable roughness
JP3339610B2 (en) Improved method and apparatus for reducing warm in halftone images using gray balance correction
US5289294A (en) Image processing apparatus
JPH11187264A (en) Method and device for processing image
US8947735B2 (en) Image processing apparatus and image processing method for performing error diffusion processing for each region of an image
US5675716A (en) Method and apparatus for vivid color correction in binary printing devices
US5715329A (en) Digital copying machine with memory for compressed image data
US6016370A (en) Image data processing apparatus having pixel quantity conversion and error diffusion functions
US6344903B1 (en) System and method for multi-level processing with level limiting
US5659635A (en) Image processing apparatus for compressing and decompressing image data
CN100405813C (en) Image processing for expressing gradation
MXPA98008956A (en) Method and apparatus for handling values of diffusion of erro
JP3165800B2 (en) Image processing device
US6753119B2 (en) Method of and apparatus for generating proof image
JP3287708B2 (en) Image processing device
JPH027113B2 (en)
JPH042034B2 (en)
JPS6029089A (en) Method and device for processing picture signal
JPH05169720A (en) Color image forming apparatus