US5293254A - Method for maintaining bit density while converting images in scale or resolution - Google Patents

Method for maintaining bit density while converting images in scale or resolution Download PDF

Info

Publication number
US5293254A
US5293254A US07/802,790 US80279091A US5293254A US 5293254 A US5293254 A US 5293254A US 80279091 A US80279091 A US 80279091A US 5293254 A US5293254 A US 5293254A
Authority
US
United States
Prior art keywords
output
pixel
output states
individual
pixels
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
US07/802,790
Inventor
Reiner Eschbach
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xerox Corp
Original Assignee
Xerox Corp
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 Corp filed Critical Xerox Corp
Priority to US07/802,790 priority Critical patent/US5293254A/en
Assigned to XEROX CORPORATION, A CORPORATION OF NY reassignment XEROX CORPORATION, A CORPORATION OF NY ASSIGNMENT OF ASSIGNORS INTEREST. Assignors: ESCHBACH, REINER
Priority to JP34117292A priority patent/JP3203079B2/en
Application granted granted Critical
Publication of US5293254A publication Critical patent/US5293254A/en
Assigned to BANK ONE, NA, AS ADMINISTRATIVE AGENT reassignment BANK ONE, NA, AS ADMINISTRATIVE AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: XEROX CORPORATION
Assigned to JPMORGAN CHASE BANK, AS COLLATERAL AGENT reassignment JPMORGAN CHASE BANK, AS COLLATERAL AGENT SECURITY AGREEMENT Assignors: XEROX CORPORATION
Anticipated expiration legal-status Critical
Assigned to XEROX CORPORATION reassignment XEROX CORPORATION RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: JPMORGAN CHASE BANK, N.A. AS SUCCESSOR-IN-INTEREST ADMINISTRATIVE AGENT AND COLLATERAL AGENT TO JPMORGAN CHASE BANK
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators

Definitions

  • the present invention relates generally to a technique for converting images in scale or resolution, and more specifically to a technique in which the bit density of a resulting output image is substantially the same as that of the input image.
  • Image information is commonly generated in a bitmap format at a particular scale, orientation ⁇ and resolution K ⁇ L ⁇ b, corresponding to a desired printer output, where K is a number of spots per unit of length in one dimension, L is a number of spots per unit length in the other dimension, and b is the depth of each pixel, in number of levels.
  • This bitmap is present for every color separation of the output device, i.e., 4 bitmaps for a 4-color output device, 3 for a 3-color, 2 for a 2-color and 1 for a black and white output device.
  • image data comprising a bitmap to be printed is provided to a printer suitable for printing at 300 spots per inch (spi) in both dimensions, at a one bit depth giving 2 levels.
  • spi spots per inch
  • Many considerations drive this single selection of resolution, including the desirability of providing only a limited number of fonts (alphanumeric bitmaps) so as to use only a limited amount of storage space.
  • Common software packages available on personal computers or for operation of input scanners for document creation also usually provide only a single resolution output. Images are commonly arranged at a fixed orientation
  • Printer resolutions are available over a range, for example, from less than 200 spi to to more than 600 spi. Resolutions vary for a number of reasons, generally related to the quality of the output image. Simply printing a 300 spi bitmap at 400 spi or 600 spi is undesirable however, since the image will be reduced substantially in size on the output page or display. It would be highly desirable to provide the capability of printing any image at any resolution, while selecting the output size and orientation.
  • Scaling is an identical operation to resolution conversion, i.e., the number of pixels representing the image is increased, except that output image is represented by a lower resolution than the number of increased pixels representing the image.
  • a conversion is implemented for a bitmap of first resolution K ⁇ L ⁇ b to a bitmap of second resolution M ⁇ N ⁇ d through simple pixel level and raster level operations, such as pixel doubling, but if the image is then directed to a K ⁇ L ⁇ b for output, it is considered scaled.
  • the method includes the steps of selecting an original image pixel, as well as determining the binary state of both the selected original image pixel and all immediately surrounding original image pixels. Additionally, the selected original image pixel is expanded into an n ⁇ n array of magnified image pixels to represent the magnification of the selected original image pixel. Finally, a binary state is assigned to each pixel in the array of magnified image pixels according to the pattern of binary signals previously determined for the selected original image pixel and all immediately surrounding original image pixels. In the preferred embodiments of these patent applications, the assignment of the binary states to the pixels in the array of magnified image pixels is made according to a set of state determination rules.
  • U.S. Pat. No. 4,280,144 discloses a coarse scan/fine print algorithm.
  • the algorithm is adapted for use in a scheme in which a pixel having two levels of information is transmitted and then reconstructed into a pixel having four levels of information.
  • U.S. Pat. No. 4,437,122 discloses a technique for enhancing the resolution and quality of characters of a system receiving information initially in the form of image data.
  • images can be smoothed by appropriately processing unenhanced input pixels. That is, an array of subpixels can be mapped on to a selected unenhanced pixel, and the subpixels of the array can be outputted selectively as black or white to permit smoothing of the resulting output image.
  • U.S. Pat. No. 4,670,039 discloses a method for smoothing the display of contiguous parallel line segments in a manner to reduce the discontinuities that occur near the ends of the line segments. Smoothing is achieved by adding auxiliary dots of a lesser diameter below the larger main dots forming a first line segment in a given row and adding the same size auxiliary dots above the main dots of an adjacent line segment when the latter are in a row below the given row.
  • the smoothing operation is optimized for multiple cases and line orientations and more than three different dot sizes can be used in the smoothing operation.
  • U.S. Pat. No. 4,847,641 discloses a technique for enhancing the printing of bit mapped images by piecewise matching of the bitmap with predetermined stored templates or patterns to detect occurrence of preselected bitmap features. Whenever a match occurs, an error signal is generated to produce a corrected or compensated dot or cell to replace a matched bitmap cell. In this manner the printed image of the desired bitmap image is enhanced by substituting in the original bitmap image on a piece-by-piece or cell-by-cell basis, the cells of the preselected feature with error compensated sub-cells.
  • the input bitmap includes a first set of pixels K ⁇ L ⁇ b, and the method comprises the following steps:
  • the examining step comprises the step of pairing the first and second individual pixels when the first and second pixels are within a predetermined distance of one another.
  • the first individual pixel when the resolution/scale is increased by two, is disposed immediately adjacent the second individual pixel, and the predetermined area is a 3 ⁇ 3 array of the individual pixels with the first individual pixel constituting the central pixel of the array.
  • bit density of a resulting output image is the same as that of the input image. Preserving bit density in this manner allows for correct tone reproduction along with suppression of moire in halftone patterns. Second, desirable levels of smoothing can be achieved while preserving the corners of text and graphics. Finally, in using the inventive method, information regarding single bits is not lost.
  • FIG. 1 is a schematic view of an arrangement used to implement a known method of resolution conversion and smoothing
  • FIG. 2 is a plan view of an input bitmap with an input image
  • FIG. 3 is a plan view of the input bitmap mapped and processed for performing the known method of resolution conversion and smoothing
  • FIG. 4 is a plan view of an output bitmap with the input image of FIG. 2 converted and smoothed by the known method
  • FIG. 5A is a schematic view of an arrangement used to implement an inventive method of resolution conversion and smoothing
  • FIG. 5B is a schematic view of an alternative embodiment for the arrangement of FIG. 5A;
  • FIG. 6 is the bitmap of FIG. 3 with inside corner pixels and outside corner pixels paired in accordance with the inventive method
  • FIG. 7 is a plan view of an output bitmap with the input image of FIG. 2 converted and smoothed by the inventive method
  • FIG. 8 represents a flow diagram for the inventive method
  • FIG. 9A is a plan view of a preselected group of pixels in a 300 ⁇ 900 spi bitmap with an inside corner pixel and an outside corner paired in accordance with the inventive method.
  • FIG. 9B is a plan view of a preselected group of pixels in a 300 ⁇ 1200 spi bitmap with inside corners and outside corners paired in accordance with another embodiment of the present invention.
  • the apparatus 10 comprises a scanner 12 coupled with a computer 14.
  • the computer 14 comprises a suitable number of buffers, registers, comparators and other suitable logical components necessary to implement the known method described below.
  • the computer 14 can be integrated as part of the scanner 12, as part of a printer or as part of any device having suitable hardware and software.
  • the computer 14 includes a scan buffer 16, the scan buffer 16 being adapted to receive image data from the scanner and including a memory for storing image data. Output of the scan buffer 16 is communicated, in parallel, to suitable devices 18 and 20 adapted to respectively determine the output state of an individual pixel and the average output state of that pixel's local neighborhood.
  • the output state determining devices 18, 20 are respectively capable of outputting a selected output state from sets of b and c output states.
  • an output state corresponds to a level of discretized information.
  • Outputs of the devices 18, 20 are respectively communicated to an input of a combiner/rearranger 22.
  • the combiner/rearranger 22 is configured to output a selected one of a set of d truth table states, each of which states varies as a function of the output of the devices 18, 20.
  • the output of the combiner/rearranger 22 is communicated to a device 24, the device 24 being adapted to alter the output state of each individual pixel having a value that is equal to one of the entries in a truth-table.
  • an input bitmap upon which the known method can be performed is designated by the numeral 26.
  • the input bitmap 26 comprises an array of K ⁇ L ⁇ b pixels 28, the pixels being disposed in scanlines 30.
  • the illustrated bitmap 26 of FIG. 2 is binary so that each of the pixels therein is either black or white.
  • FIG. 2 a general explanation of the known method is provided. Initially, a preselected number of scanlines with corresponding pixels are scanned as shown in FIG. 1, and then the states for the corresponding pixels are stored in memory as an array of K B ⁇ L B pixels sufficient for operation, where the subscript "B" refers to the data that is currently available in the buffer.
  • an array of M ⁇ N ⁇ b pixels 34 is shown mapped on the input bitmap 26 to form a mapped bitmap 32, and each of the pixels 34 is disposed in one of scanlines 36.
  • the variables M and N have the following relationship to the variables K and L:
  • an array of m B ⁇ n B pixels 34 is mapped on each array of k B ⁇ l B pixels 28.
  • the values of ⁇ and ⁇ are 2.
  • the four states or truth-table entries d are indicated by "+”, “-”, “0” and “1”, and are derived in the following way.
  • a first output state e.g. "0”
  • a second output state e.g. "1”
  • Another part of the truth table entries is determined by "majority interpolation” in which a local neighborhood is defined for each of the m B ⁇ n B pixels.
  • a local neighborhood for a given pixel 34 can include that pixel and a preselected number of its neighboring pixels.
  • Local neighborhoods for pixels disposed along the margins of the mapped bitmap can be developed using replicas of the marginal pixels and appropriate neighboring pixels.
  • the respective local neighborhood is a 3 ⁇ 3 array with the given pixel as the central pixel of the array.
  • output states could be assigned to the respective local neighborhood on the basis of a known pattern comparison technique.
  • the outputs of devices 18, 20 are then combined and possibly rearranged, via the combiner/rearranger 22 of FIG. 1, and one of the four truth value entries is assigned to each pixel in the bitmap 32. As illustrated by FIG. 3, each of pixels is designated as white, white-positive ("+"), black-negative ("-”) or black by using the following truth table:
  • each black-negative pixel in FIG. 3 is shown on a white background for convenience of viewing --in application the background of black-negative pixel is black.
  • Assigned truth table values can be converted to respective output values, i.e. O m ,n values, by one of several known decision techniques, such as the "Majority” decision technique, the "Keep White” decision technique or the “Keep Black” decision technique.
  • O m ,n values that would be designated under each of the three above-mentioned techniques for the four truth table entries of the present example are shown in the following table:
  • the smoothed output image of output bitmap 70 is obtained through the use of the truth-table for the Majority decision technique.
  • the above-discussed method produces a smoothing effect, it changes the bit density of the output image bitmap relative to the input image bitmap. Such loss of bit density is particularly undesirable for those operations in which bit density changes cannot be tolerated.
  • the known method fails to preserve corners in the output image. The preservation of corners can be of particular significance in the reproduction of text and graphics. As demonstrated by the circled areas of FIG. 4, the known method fails to maintain density and preserve corners. In particular, the circled areas illustrate the failure of the known method to reproduce gray, preserve edges and retain single-bits.
  • an apparatus for implementing an improved method of increasing the resolution of the input bitmap is designated by the numeral 100.
  • the apparatus 100 includes the scanner 12 and a computer 102.
  • the computer 102 possesses the same general structure as the computer shown in FIG. 1, except that an intermediate buffer 104 and a pixel pairing device 106 are substituted in place of the simple decision making device 24 of FIG. 1. Additionally, output of the pixel pairing device 106 is fed back to an input of the intermediate buffer 104 by way of a feedback line 108.
  • the output of the local neighborhood information and the current pixel state is, as described previously, combined in the combiner/rearranger 22, and the result-one of the d truth table or decision states- that contains information about both the current state of the pixel from block 18 and information about the desired output state of the pixel from block 20 is temporarily stored in buffer 104.
  • the pixel pairing block 106 operates on buffer 104 to permit examination of each pixel in the bitmap 32 having an output state that is different from its preferred output state.
  • Each examined pixel is viewed in context of a preselected group of neighboring pixels to determine if there is at least a pair of pixels with matching decision states within the preselected group. While in the preferred embodiment the boundary of each preselected group of pixels neighboring pixels coincides with the boundary of each local neighborhood, it is contemplated that the boundary of the preselected group could be greater than or less than the local neighborhood. Whenever a pair having matching decision states is found, the value of the states of both pixels are changed to their preferred state and the buffer 104 is updated.
  • the apparatus 100a includes a computer 102a, the arrangement of computer 102a differs from the arrangement of computer 102 (FIG. 5A) in that a single buffer 110 integrates the functions of the scan buffer 16 and the intermediate decision state buffer 104.
  • the computer 102a operates in much the same way as computer 102 except that the output of buffer 110 is communicated to an input of the pixel pairing device 106, and the outputs of both the combiner/rearranger 22 and the pixel pairing device 106 are communicated to the input of the buffer 110 by way of feedback lines 112, 114. Additionally, it will be recognized, that each of the buffers 104 and 110 (FIGS.
  • 5A and 5B are designed to include an appropriate memory section for storing decision states outputted from the combiner/rearranger 22.
  • the buffer 104 operates at the desired output resolution, whereas the buffer 16 can have either input or output resolution, dependent on the actual implementation chosen.
  • the total number of black or white pixels remains constant if for each of the indicated pairs an exchange from black to white for one pixel and from white to black for the other pixel is performed.
  • the pairing is performed for each pixel on a first-come-first-serve basis.
  • the pixel indicated by the letter "A” is paired with the pixel indicated by the letter "B” rather than the pixel indicated by the letter “C”.
  • this pairing scheme is used for descriptive purposes only and is not intended to limit the pairing process in case of multiple pairing possibilities.
  • an output image resulting from the resolution conversion of the input image of FIG. 2 is shown indicated by output bitmap 120.
  • each of the unpaired pixels maintains its original density so that unpaired inside corners remain white and unpaired outside corners remain black.
  • pseudo-code is included in an appendix, the pseudo-code performing the above-described operations of a 2 ⁇ scaling of binary inputs under the assumption that the scan buffer 16 of FIG. 5A contains the higher output resolution generated through simple pixel replication of the input shown in e.g. FIG. 2.
  • bit density of output bitmap 120 is the same as that for the input bitmap 26 of FIG. 2. This is a clear improvement over the output image of FIG. 4 generated using prior art, in which the bit density is altered relative to the input bitmap. Additionally, examination of the circled areas in FIGS. 4 and 7 indicate that the new method not only preserves the bitmap density but also provides for sharp corners and the inclusion of bit information that was deleted by use of the known method.
  • the inventive procedure receives input pixels at step 124 and generates a higher resolution array at step 126. From this information, a preferred output state is determined at step 128 and the information about the current output state and the preferred output state is combined into one of the d decision states at step 130. If it is determined at step 132 that the pixel under consideration has a decision state that does not indicate a preference for change, the next pixel is processed. If the decision state does indicate a preference for change, a local neighborhood is examined, at step 134 to find a matching decision state at one of the neighboring pixels. If no match is found at step 136, the next pixel is processed.
  • the decision states for the paired pixels are changed into their preferred output states at step 138, simultaneously indicating that current and preferred state are in agreement. Subsequently, by way of steps 140 and 142, pixel(s) that are processed and are not needed for the processing of other pixels are transferred to the output, while the next pixel is processed.
  • the examined pixel need not touch the neighboring pixel with which the selected pixel is to be paired.
  • FIG. 9A an example in which non-touching neighboring pixels are paired is shown.
  • two pixels are respectively designated as "A" and "B," and the local neighborhood for each of the pixels A and B comprises a 5 ⁇ 3 array.
  • pixels A and B are outside and inside corners, respectively.
  • the neighboring pixels of the pixel A are examined, the outside corner A is paired with the non-touching inside corner B.
  • the conversion/scaling method of the present method can be performed anamorphically. That is, the inventive method can be used, as in the example of FIG. 9A, to convert or scale a 300 ⁇ 300 spi bitmap to a 300 ⁇ 900 spi bitmap.
  • the decision state is not limited to contain only the information about the current state and the preferred state (2 bits for a binary input) but in general can contain a prioritization or weighting which is considered in the pairing.
  • the decision state is not limited to contain only the information about the current state and the preferred state (2 bits for a binary input) but in general can contain a prioritization or weighting which is considered in the pairing.
  • an outside corner "C” could be paired with a selected one of the inside corners "D” and "E”
  • an outside corner "F” could be paired with the other of the inside corners D and E.
  • pairing could be performed on the basis of process direction as done for illustrative purposes in FIG. 6. In the illustrated example of FIG.
  • the decision state to each of the pixels C, D, E and F contains information about priorities, and the pairing of the pixels is performed according to the given priority. For example, since the pixel C is surrounded by more white pixels than is the pixel F, the pixel C is assigned a decision state that is higher in priority for change than that of pixel F. On the other hand, since pixel D is surrounded by more black pixels than is the pixel E, the pixel D is assigned a decision state that is higher in priority for change than that of pixel E.
  • the inside corner having the decision state with the highest priority namely pixel C
  • the inside corner having the lesser priority decision state namely pixel F
  • the outside corner having the lesser priority decision state namely pixel E.
  • designating a pixel as "inside” or “outside” is an arbitrary process, and a greater degree of flexibility can be achieved with the inventive method when the set of decision states is at least greater than four.
  • the set of decision states is at least greater than four.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Dot-Matrix Printers And Others (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

A method is provided for increasing resolution of an input image in an input bitmap while performing a density preserving smoothing operation. The input bitmap includes a first set of pixels K*L*b, and the method comprises the following steps: (a) mapping the first set of pixels into a second set of individual pixels (kappa)K* (lambda)L*b, each of the individual pixels of the second set having a value selected from a set of "b" output states; (b) developing pixel arrays from the second set of individual pixels, the pixel arrays respectively representing local neighborhoods for the individual pixels of the second set, each of the local neighborhoods having a value selected from a set of "c" output states; (c) combining the output state of each individual pixel with the output state of its respective local neighborhood resulting in a selected one of a plurality of decision states, each of the decision states reflecting a current output state of a selected individual pixel and preference of the selected individual pixel for one of the selected b output states, at least one of the decision states having at least one counterpart in the set of decision states; (d) examining the individual pixels within a preselected area to locate a preselected number of individual pixels including a first individual pixel having a selected one of the decision states and at least a second individual pixel having a counterpart value to the selected one of the decision state of the first individual pixel; and (e) altering the respective output states of the first and second individual pixels when each of the first and second individual pixels are within the preselected area wherein the resolution of the output image is changed and the output image is smoothed without altering the density of the output image relative to the input image.

Description

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to a technique for converting images in scale or resolution, and more specifically to a technique in which the bit density of a resulting output image is substantially the same as that of the input image.
2. Description of the Prior Art
Image information, be it color or black and white, is commonly generated in a bitmap format at a particular scale, orientation θ and resolution K×L×b, corresponding to a desired printer output, where K is a number of spots per unit of length in one dimension, L is a number of spots per unit length in the other dimension, and b is the depth of each pixel, in number of levels. This bitmap is present for every color separation of the output device, i.e., 4 bitmaps for a 4-color output device, 3 for a 3-color, 2 for a 2-color and 1 for a black and white output device. In a common example of a black and white output, image data comprising a bitmap to be printed is provided to a printer suitable for printing at 300 spots per inch (spi) in both dimensions, at a one bit depth giving 2 levels. Many considerations drive this single selection of resolution, including the desirability of providing only a limited number of fonts (alphanumeric bitmaps) so as to use only a limited amount of storage space. Common software packages available on personal computers or for operation of input scanners for document creation also usually provide only a single resolution output. Images are commonly arranged at a fixed orientation
Increasingly, the resolution available from printers varies over a wider range of choices. Printer resolutions are available over a range, for example, from less than 200 spi to to more than 600 spi. Resolutions vary for a number of reasons, generally related to the quality of the output image. Simply printing a 300 spi bitmap at 400 spi or 600 spi is undesirable however, since the image will be reduced substantially in size on the output page or display. It would be highly desirable to provide the capability of printing any image at any resolution, while selecting the output size and orientation.
It is a common practice to implement conversion of a bitmap of first resolution K×L×b to a bitmap of second resolution M×N×d through simple pixel level and raster level operations, such as pixel doubling. When resolution is changed by integer multiples, the resolution conversion can be achieved by pixel replication. Pixel replication, however, does not best use the capabilities of higher resolution output devices. Hence in performing resolution conversion with a higher resolution output device it is desirable to perform a smoothing operation.
Scaling is an identical operation to resolution conversion, i.e., the number of pixels representing the image is increased, except that output image is represented by a lower resolution than the number of increased pixels representing the image. In other words, a conversion is implemented for a bitmap of first resolution K×L×b to a bitmap of second resolution M×N×d through simple pixel level and raster level operations, such as pixel doubling, but if the image is then directed to a K×L×b for output, it is considered scaled.
Alternatively, more elaborate methods than pixel replication have been developed to facilitate resolution conversion, some of which are described in U.S. patent application Ser. No. 07/513,415, filed Apr. 23, 1990, entitled "Bit-Map Image Resolution Converter," and U.S. patent application Ser. No. 07/588,125, filed Sep. 25, 1990, entitled "Bit-Map Image Resolution Converter Compensating for Write-White Xerographic Laser Printing," the pertinent portions of each patent application being incorporated herein by reference. Each of the above-mentioned patent applications contemplates a method of magnifying, by a predetermined magnification factor (n), original image pixels in two dimensions. The method includes the steps of selecting an original image pixel, as well as determining the binary state of both the selected original image pixel and all immediately surrounding original image pixels. Additionally, the selected original image pixel is expanded into an n×n array of magnified image pixels to represent the magnification of the selected original image pixel. Finally, a binary state is assigned to each pixel in the array of magnified image pixels according to the pattern of binary signals previously determined for the selected original image pixel and all immediately surrounding original image pixels. In the preferred embodiments of these patent applications, the assignment of the binary states to the pixels in the array of magnified image pixels is made according to a set of state determination rules.
Employing sophisticated resolution conversion techniques does not insure that the resulting output image will have a desirable appearance. For instance, the output image can be excessively blocky and/or contain noticeable "jaggies." Hence, smoothing operations are sometimes used in conjunction with the conversion or scaling of the image. Through use of the state determination rules in the techniques of the above-mentioned applications, smoothing operations are achieved. For example, the method of the patent application entitled "Bit-Map Image Resolution Converter" permits such operations as smoothing of edges, smoothing of half-bitting effects and smoothing of lines. Moreover, the method of the patent application entitled "Bit-Map Image Resolution Converter Compensating for Write-White Xerographic Laser Printing" permits enhancing of single bits in printing and compensating for loss of resolution in write-white printing.
The following patents also disclose techniques for achieving a higher degree of smoothing in the output image:
U.S. Pat. No. 4,280,144, Patentee: Bacon, Issued: Jul. 21, 1981
U.S. Pat. No. 4,437,122, Patentee: Walsh et al., Issued: Mar. 13, 1984
U.S. Pat. No. 4,670,039, Patentee: Neil et al., Issued: Jul. 7, 1987
U.S. Pat. No. 4,847,641, Patentee: Tung, Issued: Jul. 11, 1989.
U.S. Pat. No. 4,280,144 discloses a coarse scan/fine print algorithm. In particular the algorithm is adapted for use in a scheme in which a pixel having two levels of information is transmitted and then reconstructed into a pixel having four levels of information.
U.S. Pat. No. 4,437,122 discloses a technique for enhancing the resolution and quality of characters of a system receiving information initially in the form of image data. Through use of the technique images can be smoothed by appropriately processing unenhanced input pixels. That is, an array of subpixels can be mapped on to a selected unenhanced pixel, and the subpixels of the array can be outputted selectively as black or white to permit smoothing of the resulting output image.
U.S. Pat. No. 4,670,039 discloses a method for smoothing the display of contiguous parallel line segments in a manner to reduce the discontinuities that occur near the ends of the line segments. Smoothing is achieved by adding auxiliary dots of a lesser diameter below the larger main dots forming a first line segment in a given row and adding the same size auxiliary dots above the main dots of an adjacent line segment when the latter are in a row below the given row. The smoothing operation is optimized for multiple cases and line orientations and more than three different dot sizes can be used in the smoothing operation.
U.S. Pat. No. 4,847,641 discloses a technique for enhancing the printing of bit mapped images by piecewise matching of the bitmap with predetermined stored templates or patterns to detect occurrence of preselected bitmap features. Whenever a match occurs, an error signal is generated to produce a corrected or compensated dot or cell to replace a matched bitmap cell. In this manner the printed image of the desired bitmap image is enhanced by substituting in the original bitmap image on a piece-by-piece or cell-by-cell basis, the cells of the preselected feature with error compensated sub-cells.
None of the above references specifically contemplates a technique for resolution conversion or scaling with a smoothing operation in which bit density and corners are preserved. Since altering bit density and/or smoothing corners may be unacceptable in certain resolution conversion or scaling operations, it would be desirable to provide a resolution conversion or scaling method in which smoothing is achieved without affecting the bit density or integrity of the corners.
SUMMARY OF THE INVENTION
In accordance with the present invention a method is provided for increasing resolution of an input image in an input bitmap while performing a density preserving smoothing operation. The input bitmap includes a first set of pixels K×L×b, and the method comprises the following steps:
(a) mapping the first set of pixels into a second set of individual pixels κK×λL×b, each of the individual pixels of the second set having a value selected from a set of "b" output states;
(b) developing pixel arrays from the second set of individual pixels, the pixel arrays respectively representing local neighborhoods for the individual pixels of the second set, each of the local neighborhoods having a value selected from a set of "c" output states;
(c) combining the output state of each individual pixel with the output state of its respective local neighborhood resulting in a selected one of a plurality of decision states, each of the decision states reflecting a current output state of a selected individual pixel and preference of the selected individual pixel for one of the selected b output states, at least one of the decision states having at least one counterpart in the set of decision states;
(d) examining the individual pixels within a preselected area to locate a preselected number of individual pixels including a first individual pixel having a selected one of the decision states and at least a second individual pixel having a counterpart value to the selected one of the decision state of the first individual pixel; and
(e) altering the respective output states of the first and second individual pixels when each of the first and second individual pixels are within the preselected area wherein the resolution of the output image is changed and the output image is smoothed without altering the density of the output image relative to the input image.
In one example of the disclosed embodiment of the present invention, the examining step comprises the step of pairing the first and second individual pixels when the first and second pixels are within a predetermined distance of one another.
In another example of the disclosed embodiment of the present invention, when the resolution/scale is increased by two, the first individual pixel is disposed immediately adjacent the second individual pixel, and the predetermined area is a 3×3 array of the individual pixels with the first individual pixel constituting the central pixel of the array.
Various features of the inventive method will be appreciated by those skilled in the art. First, upon converting or scaling an input image, the bit density of a resulting output image is the same as that of the input image. Preserving bit density in this manner allows for correct tone reproduction along with suppression of moire in halftone patterns. Second, desirable levels of smoothing can be achieved while preserving the corners of text and graphics. Finally, in using the inventive method, information regarding single bits is not lost.
These and other aspects of the invention will become apparent from the following description, the description being used to illustrate a preferred embodiment of the invention when read in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic view of an arrangement used to implement a known method of resolution conversion and smoothing;
FIG. 2 is a plan view of an input bitmap with an input image;
FIG. 3 is a plan view of the input bitmap mapped and processed for performing the known method of resolution conversion and smoothing;
FIG. 4 is a plan view of an output bitmap with the input image of FIG. 2 converted and smoothed by the known method;
FIG. 5A is a schematic view of an arrangement used to implement an inventive method of resolution conversion and smoothing;
FIG. 5B is a schematic view of an alternative embodiment for the arrangement of FIG. 5A;
FIG. 6 is the bitmap of FIG. 3 with inside corner pixels and outside corner pixels paired in accordance with the inventive method;
FIG. 7 is a plan view of an output bitmap with the input image of FIG. 2 converted and smoothed by the inventive method;
FIG. 8 represents a flow diagram for the inventive method;
FIG. 9A is a plan view of a preselected group of pixels in a 300×900 spi bitmap with an inside corner pixel and an outside corner paired in accordance with the inventive method; and
FIG. 9B is a plan view of a preselected group of pixels in a 300×1200 spi bitmap with inside corners and outside corners paired in accordance with another embodiment of the present invention.
DESCRIPTION OF A PREFERRED EMBODIMENT OF THE INVENTION
While the present invention will hereinafter be described in connection with a preferred embodiment thereof, it will be understood that it is not intended to limit the invention to that embodiment. On the contrary, it is intended to cover all alternatives, modifications and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims.
Referring to FIG. 1 an apparatus for performing a known method of resolution conversion is designated by the numeral 10. The apparatus 10 comprises a scanner 12 coupled with a computer 14. The computer 14 comprises a suitable number of buffers, registers, comparators and other suitable logical components necessary to implement the known method described below. In other contemplated embodiments, the computer 14 can be integrated as part of the scanner 12, as part of a printer or as part of any device having suitable hardware and software. The computer 14 includes a scan buffer 16, the scan buffer 16 being adapted to receive image data from the scanner and including a memory for storing image data. Output of the scan buffer 16 is communicated, in parallel, to suitable devices 18 and 20 adapted to respectively determine the output state of an individual pixel and the average output state of that pixel's local neighborhood.
In the illustrated embodiment of FIG. 1, the output state determining devices 18, 20 are respectively capable of outputting a selected output state from sets of b and c output states. As will be appreciated by those skilled in the art, an output state corresponds to a level of discretized information. For the exemplary case discussed below, b=c=2 and the output states correspond respectively to the set of values {0,1}.
Outputs of the devices 18, 20 are respectively communicated to an input of a combiner/rearranger 22. The combiner/rearranger 22 is configured to output a selected one of a set of d truth table states, each of which states varies as a function of the output of the devices 18, 20. The output of the combiner/rearranger 22 is communicated to a device 24, the device 24 being adapted to alter the output state of each individual pixel having a value that is equal to one of the entries in a truth-table. For the exemplary apparatus 10 of FIG. 1, d=4, i.e., the truth-table has four entries (00, 01, 10, 11).
Referring to FIG. 2 an input bitmap upon which the known method can be performed is designated by the numeral 26. The input bitmap 26 comprises an array of K×L×b pixels 28, the pixels being disposed in scanlines 30. The illustrated bitmap 26 of FIG. 2 is binary so that each of the pixels therein is either black or white. Referring to FIG. 2, a general explanation of the known method is provided. Initially, a preselected number of scanlines with corresponding pixels are scanned as shown in FIG. 1, and then the states for the corresponding pixels are stored in memory as an array of KB ×LB pixels sufficient for operation, where the subscript "B" refers to the data that is currently available in the buffer.
Referring now to FIG. 3, an array of M×N×b pixels 34 is shown mapped on the input bitmap 26 to form a mapped bitmap 32, and each of the pixels 34 is disposed in one of scanlines 36. Preferably, the variables M and N have the following relationship to the variables K and L:
M=κ×K
N=λ×L
where κ and λ are integers.
In the known method, an array of mB ×nB pixels 34 is mapped on each array of kB ×lB pixels 28. In the example of FIGS. 2 and 3, the values of κ and λ are 2.
Referring now to FIG. 3, the four states or truth-table entries d are indicated by "+", "-", "0" and "1", and are derived in the following way. To determine one part of the truth table entries, a first output state (e.g. "0"), shown as white, or a second output state (e.g. "1"), shown as black, is assigned to each of the mB ×nB pixels. Another part of the truth table entries is determined by "majority interpolation" in which a local neighborhood is defined for each of the mB ×nB pixels. As can be recognized by those skilled in the art, a local neighborhood for a given pixel 34 can include that pixel and a preselected number of its neighboring pixels. Local neighborhoods for pixels disposed along the margins of the mapped bitmap can be developed using replicas of the marginal pixels and appropriate neighboring pixels. In the illustrated example, for each given pixel 34, the respective local neighborhood is a 3×3 array with the given pixel as the central pixel of the array.
The majority interpolation is used to assign the output state, Bm,n, to each of the neighborhoods, depending on whether the majority of pixels in each respective local neighborhood is black, Bm,n =1, or white Bm,n =0. Alternatively, output states could be assigned to the respective local neighborhood on the basis of a known pattern comparison technique. The outputs of devices 18, 20 are then combined and possibly rearranged, via the combiner/rearranger 22 of FIG. 1, and one of the four truth value entries is assigned to each pixel in the bitmap 32. As illustrated by FIG. 3, each of pixels is designated as white, white-positive ("+"), black-negative ("-") or black by using the following truth table:
when Im,n =0 and Bm,n =0, then d=00 and the pixel is designated as white;
when Im,n =0 and Bm,n =1, then d=01 and the pixel is designated as "+";
when Im,n =0 and Bm,n =0, then d=11 and the pixel is designated as "-"; and
when Im,n =1 and Bm,n =1, then d=10 and the pixel is designated as black.
Additionally, each black-negative pixel in FIG. 3 is shown on a white background for convenience of viewing --in application the background of black-negative pixel is black.
Assigned truth table values can be converted to respective output values, i.e. Om,n values, by one of several known decision techniques, such as the "Majority" decision technique, the "Keep White" decision technique or the "Keep Black" decision technique. The Om,n values that would be designated under each of the three above-mentioned techniques for the four truth table entries of the present example are shown in the following table:
______________________________________                                    
d      Majority     Keep White Keep Black                                 
______________________________________                                    
00     0            0          0                                          
01     1            0          1                                          
10     1            1          1                                          
11     0            0          1                                          
______________________________________                                    
Referring to FIG. 4, upon processing the entire input bitmap 26 with the known method, the smoothed output image of output bitmap 70 is obtained through the use of the truth-table for the Majority decision technique. Although the above-discussed method produces a smoothing effect, it changes the bit density of the output image bitmap relative to the input image bitmap. Such loss of bit density is particularly undesirable for those operations in which bit density changes cannot be tolerated. Additionally, the known method fails to preserve corners in the output image. The preservation of corners can be of particular significance in the reproduction of text and graphics. As demonstrated by the circled areas of FIG. 4, the known method fails to maintain density and preserve corners. In particular, the circled areas illustrate the failure of the known method to reproduce gray, preserve edges and retain single-bits.
Referring to FIG. 5A, an apparatus for implementing an improved method of increasing the resolution of the input bitmap is designated by the numeral 100. The apparatus 100 includes the scanner 12 and a computer 102. The computer 102 possesses the same general structure as the computer shown in FIG. 1, except that an intermediate buffer 104 and a pixel pairing device 106 are substituted in place of the simple decision making device 24 of FIG. 1. Additionally, output of the pixel pairing device 106 is fed back to an input of the intermediate buffer 104 by way of a feedback line 108. The output of the local neighborhood information and the current pixel state is, as described previously, combined in the combiner/rearranger 22, and the result-one of the d truth table or decision states- that contains information about both the current state of the pixel from block 18 and information about the desired output state of the pixel from block 20 is temporarily stored in buffer 104. For simplicity, a binary output is assumed for each of these blocks 18, 20, leading to 4 decision states, d={00, 01, 10, 11}, using again for exemplary purposes d=00 as white, d=01 as white with a preference toward black, d=11 as black with a preference toward white, and d=10 as black. The two states d=01 and d=11 for this example are referred to as matching decision states. That is the decision state d=01 has a counterpart or matching state d=11, and vice versa.
The pixel pairing block 106 operates on buffer 104 to permit examination of each pixel in the bitmap 32 having an output state that is different from its preferred output state. Each examined pixel is viewed in context of a preselected group of neighboring pixels to determine if there is at least a pair of pixels with matching decision states within the preselected group. While in the preferred embodiment the boundary of each preselected group of pixels neighboring pixels coincides with the boundary of each local neighborhood, it is contemplated that the boundary of the preselected group could be greater than or less than the local neighborhood. Whenever a pair having matching decision states is found, the value of the states of both pixels are changed to their preferred state and the buffer 104 is updated. All pixels that are processed and no longer required for the processing of subsequent pixels are written to the output in a timely manner either from pixel pairing block 106, as indicated in FIG. 5A, or from the intermediate buffer 104. It will no doubt be appreciated, as discussed in further detail below, that the exchange of information and states can be performed for groups consisting of more than 2 pixels in such a way, that the net value of the current input states is preserved in the output. Moreover, in the preferred embodiment, it is the above-described pixel pairing capability that enables the present invention to perform density preserving smoothing operations.
Referring to FIG. 5B, another embodiment of the apparatus 100 is designated by the numeral 100a. The apparatus 100a includes a computer 102a, the arrangement of computer 102a differs from the arrangement of computer 102 (FIG. 5A) in that a single buffer 110 integrates the functions of the scan buffer 16 and the intermediate decision state buffer 104. It will be appreciated that the computer 102a operates in much the same way as computer 102 except that the output of buffer 110 is communicated to an input of the pixel pairing device 106, and the outputs of both the combiner/rearranger 22 and the pixel pairing device 106 are communicated to the input of the buffer 110 by way of feedback lines 112, 114. Additionally, it will be recognized, that each of the buffers 104 and 110 (FIGS. 5A and 5B) are designed to include an appropriate memory section for storing decision states outputted from the combiner/rearranger 22. Finally, it can be noted that the buffer 104 operates at the desired output resolution, whereas the buffer 16 can have either input or output resolution, dependent on the actual implementation chosen.
Using the framework of FIG. 5A and referring generally to FIGS. 6 and 7, the preferred mode of operation is discussed in further detail. It should be appreciated by those skilled in the art that the concepts underlying the operation of the apparatus of FIG. 5A are basically the same as those concepts underlying the operation of apparatus of FIG. 5B. Referring specifically to FIG. 6, the image of FIG. 3 is shown with pairings indicated by black lines. That is, in FIG. 6, each pixel has been examined, and, where appropriate, paired with a neighboring pixel. As indicated above, the pairings are generated in 3×3 neighborhoods, where the pairings are performed between decision states d=01 and d=11, i.e. between pixels whose current state is white and whose preferred state is black (d=01 indicated as "+") and pixels whose current state is black and whose preferred state is white (d=11 indicated as "-"). As can be appreciated, the total number of black or white pixels remains constant if for each of the indicated pairs an exchange from black to white for one pixel and from white to black for the other pixel is performed.
In the illustrated embodiment of FIG. 6, the pairing is performed for each pixel on a first-come-first-serve basis. In particular, due to their relative position in the data stream, the pixel indicated by the letter "A" is paired with the pixel indicated by the letter "B" rather than the pixel indicated by the letter "C". It should be noted that this pairing scheme is used for descriptive purposes only and is not intended to limit the pairing process in case of multiple pairing possibilities. Preferably, all pairs are changed, i.e. all paired pixels with decision state d=01 are changed to d=10 and an output of 1, and all paired pixels with decision state d=11 are changed to d=00 and an output of 0.
Referring to FIG. 7, an output image resulting from the resolution conversion of the input image of FIG. 2 is shown indicated by output bitmap 120. In forming the output image of FIG. 7 from the processed input image of FIG. 6, each of the unpaired pixels maintains its original density so that unpaired inside corners remain white and unpaired outside corners remain black. In particular, pixels that can not be paired by the inventive process are output as "0" for d=01 and "1" for d=11, maintaining the density of the image. For clarity, pseudo-code is included in an appendix, the pseudo-code performing the above-described operations of a 2× scaling of binary inputs under the assumption that the scan buffer 16 of FIG. 5A contains the higher output resolution generated through simple pixel replication of the input shown in e.g. FIG. 2. For simplification, the determination of the decision state and the pairing of matching pixels is done in two separate routines, using integer values of "0" to indicate d=10, "255" to indicate d=00, "125" to indicate d=01, and "100" to indicate d=11.
Referring still to FIG. 7, it can be recognized that the bit density of output bitmap 120 is the same as that for the input bitmap 26 of FIG. 2. This is a clear improvement over the output image of FIG. 4 generated using prior art, in which the bit density is altered relative to the input bitmap. Additionally, examination of the circled areas in FIGS. 4 and 7 indicate that the new method not only preserves the bitmap density but also provides for sharp corners and the inclusion of bit information that was deleted by use of the known method.
Referring to FIG. 8, the inventive procedure receives input pixels at step 124 and generates a higher resolution array at step 126. From this information, a preferred output state is determined at step 128 and the information about the current output state and the preferred output state is combined into one of the d decision states at step 130. If it is determined at step 132 that the pixel under consideration has a decision state that does not indicate a preference for change, the next pixel is processed. If the decision state does indicate a preference for change, a local neighborhood is examined, at step 134 to find a matching decision state at one of the neighboring pixels. If no match is found at step 136, the next pixel is processed. If a match is found, the decision states for the paired pixels are changed into their preferred output states at step 138, simultaneously indicating that current and preferred state are in agreement. Subsequently, by way of steps 140 and 142, pixel(s) that are processed and are not needed for the processing of other pixels are transferred to the output, while the next pixel is processed.
For those contemplated embodiments of the inventive method in which the preselected group of examined pixels for pairing matching decision states can be greater than a 3×3 array, the examined pixel need not touch the neighboring pixel with which the selected pixel is to be paired. Referring to FIG. 9A, an example in which non-touching neighboring pixels are paired is shown. In the example of FIG. 9A, two pixels are respectively designated as "A" and "B," and the local neighborhood for each of the pixels A and B comprises a 5×3 array. As shown in FIG. 9A, pixels A and B are outside and inside corners, respectively. When the neighboring pixels of the pixel A are examined, the outside corner A is paired with the non-touching inside corner B. As further demonstrated by the illustrated example of FIG. 9A, the conversion/scaling method of the present method can be performed anamorphically. That is, the inventive method can be used, as in the example of FIG. 9A, to convert or scale a 300×300 spi bitmap to a 300×900 spi bitmap.
Referring to FIG. 9B, it will be appreciated that for any preselected group of examined pixels, the decision state is not limited to contain only the information about the current state and the preferred state (2 bits for a binary input) but in general can contain a prioritization or weighting which is considered in the pairing. For instance, in the example of FIG. 9B, if only four decision states were employed, an outside corner "C" could be paired with a selected one of the inside corners "D" and "E", while an outside corner "F" could be paired with the other of the inside corners D and E. In one contemplated scheme, pairing could be performed on the basis of process direction as done for illustrative purposes in FIG. 6. In the illustrated example of FIG. 9B, however, the decision state to each of the pixels C, D, E and F contains information about priorities, and the pairing of the pixels is performed according to the given priority. For example, since the pixel C is surrounded by more white pixels than is the pixel F, the pixel C is assigned a decision state that is higher in priority for change than that of pixel F. On the other hand, since pixel D is surrounded by more black pixels than is the pixel E, the pixel D is assigned a decision state that is higher in priority for change than that of pixel E. In this contemplated scheme, the inside corner having the decision state with the highest priority, namely pixel C, is first paired with the outside corner having the decision state with the highest priority, namely pixel D. Then the inside corner having the lesser priority decision state, namely pixel F, can be paired with the outside corner having the lesser priority decision state, namely pixel E.
As can be appreciated from the application of the example of FIG. 9B, designating a pixel as "inside" or "outside" is an arbitrary process, and a greater degree of flexibility can be achieved with the inventive method when the set of decision states is at least greater than four. When using a set of decision states with more than four values, it is possible to pair pixels on the basis of criteria that are more flexible than the ones described above.
While the preferred embodiment of the present method has been shown for a binary case, it can be understood that the concept of the invention could be applied to a situation in which each pixel is multiple bit, or, in other words, has multiple graylevels. The use of two bit pixels in image processing is discussed in more detail in U.S. Pat. No. 4,868,587 (Patentee: Loce et al.), the pertinent portions of which are incorporated by reference. It will be appreciated by those skilled in the art, that it might be desirable to group more than two neighboring pixels and to change the intensity of two or more pixels in the group by way of a suitable set of decision states, keeping the overall density of the pixels involved constant.
__________________________________________________________________________
APPENDIX                                                                  
__________________________________________________________________________
/* constants */                                                           
whiteValue: CONSTANT = 225;                                               
blackValue: CONSTANT = 0;                                                 
averageWhite: CONSTANT = 1275; /* Five pixels white */                    
averageBlack: CONSTANT = 1020; /* Five pixels black */                    
whiteAvgBlack: CONSTANT = 125; /* white wanting to be black */            
blackAvgWhite: CONSTANT = 100; /* black wanting to be white */            
line1: CONSTANT = 0; /* first line of buffer */                           
line2: CONSTANT = 1;                                                      
line3: CONSTANT = 2;                                                      
/*                                                                        
Input a packed image of mPixels by nScanlines, where m=2k, n=21,          
generated by bit-                                                         
doubling the original k,1 size binary image. Procedure returns an image 8 
bits per                                                                  
pixel image with double the resolution with 4 values comprising: black =  
0, white =                                                                
255, black wanting to be white = 100, white wanting to be black 125.      
*/                                                                        
Procedure1: FUNCTION [packedImage: PACKED ARRAY [0..mPixels-1][ 0..nScanli
nes-1]OF BIT]                                                             
RETURNS [image: PACKED ARRAY [0..mPixels-1][ 0..nScanlines-1]OF BYTE]     
BEGIN                                                                     
/* variables */                                                           
average, nScanlines /* slowScan */, mPixels /* fastScan */ : CARDINAL;    
buffer: PACKED ARRAY [ 0..mPixels+1][0..line3]OF BYTE;                    
/* unpack the image to 8 bits per pixel */                                
FOR (i=0; i < nScanlines; i++) DO                                         
FOR (j=0; j < mPixels; j++) DO                                            
IF packedImage [j][i] = blackValue                                        
THEN image [j][i] = blackValue                                            
ELSE image [j][i] = whiteValue;                                           
/* read the first scanline twice into the buffer for averaging */         
buffer [1..mPixels][line1] = image[0..mPixels-1][line1];                  
buffer [0][line1] = buffer [1][line1];                                    
buffer [mPixels+1][line1]= buffer [mPixels][line1];                       
buffer [1..mPixels][line2] = image [0..mPixels-1][line1];                 
buffer [0][line2] = buffer [1][line2];                                    
buffer [mPixels+1][line2] = buffer [mPixels][line2];                      
FOR (i=0; i < nScanlines; i++) DO /* for every scanline do the folliwng   
*/                                                                        
BEGIN                                                                     
/* fill the buffer with the next scan line from the image */              
IF i+1 < nScanlines                                                       
THEN buffer [0..mPixels-1][line3] = image [0..mPixels-1][i+1]             
ELSE buffer [0..mPixels-1][line3] = image [0,.mPixels-1][i]               
buffer [0][line3] = buffer [1][line3];                                    
buffer [mPixels+1][line3] = buffer [mPixels][line3];                      
FOR (j=1; j <= mPixels; j++) DO                                           
BEGIN                                                                     
/* Average over 3×3 */                                              
average = buffer [j-1][line1] + buffer [j][line1] + buffer [j+1][line1]   
buffer[j-1][line2] + buffer [j][line2 ] + buffer [j+1][line2]             
buffer [j-1][line3 ] + buffer [j][line3] + buffer [j+1][line3];           
/* modify the image */                                                    
image [j][i] = SELECT TRUE FROM                                           
/* Pixel is white, average is `white` */                                  
(buffer [ j][line2] = whiteValue) AND (average >= averageWhite) ->        
whiteValue;                                                               
/* Pixel is black, average is `black` */                                  
(buffer [j][line2] = blackValue) AND (average <= averagBlack)             
-> blackValue;                                                            
/* Pixel is white, average is `black` */                                  
(buffer [j][line2] = whiteValue) AND (average <= averageBlack) ->         
whiteAvgBlack;                                                            
/* Pixel is black, average is `white` */                                  
(buffer [j][line2] = blackValue) AND (average >= averageWhite) ->         
blackAvgWhite;                                                            
ENDCASE;                                                                  
END; /* FOR (j=1; j <= mPixels; j++) */                                   
/* move the lines in the buffer up by one */                              
buffer [0..mPixels-1][line1] = buffer [0..mPixels-1][line2];              
buffer [0..mPixels-1][line2] = buffer [0..mPixels-1][line3];              
END; /* FOR (i=0: i < nScanlines; i++) */                                 
END; /* Procedure1 */                                                     
/*                                                                        
Output from Procedure1 is passed to Procedure2 which returns a modified   
binary image                                                              
with the same resolution as the original image passed to Procedure1.      
*/                                                                        
Procedure2: FUNCTION [image: PACKED ARRAY [0..mPixels-1][0..nScanlines-1]O
F BYTE]                                                                   
RETURNS [newImage: PACKED ARRAY [0..mPixels-1][0..nScanlines-1]OF BIT]    
BEGIN                                                                     
/* variables */                                                           
continue: BOONLEAN;                                                       
nScanlines /* slowScan */, mPixels /* fastScan */ : CARDINAL;             
buffer: PACKED ARRAY [0..mPixels+1][0..line3]OF BYTE;                     
/* read the first scanline twice into the buffer */                       
buffer [1..mPixels][line1] = image[0..mPixels-1][line1];                  
buffer [0][line1] = buffer [1][line1];                                    
buffer [mPixels+1][line1] = buffer [mPixels][line1];                      
buffer [1..mPixels][line2] = image [0..mPixels-1][line1];                 
buffer [0][line2] = buffer [1][line2];                                    
buffer [mPixels+1][line2] = buffer [mPixels][line2];                      
FOR (i=0; i < nScanlines; i++) DO                                         
BEGIN                                                                     
/* fill the buffer with the next scan line from the image */              
IF i+1 < nScanlines                                                       
THEN buffer [1..mPixels][ line3] = image [0..mPixels-1][i+1]              
ELSE buffer [1..mPixels][line3] = image [0..mPixels-1][i]                 
buffer [0][line3] = buffer [1][line3];                                    
buffer [mPixels+1][line3] = buffer [mPixels][line3];                      
FOR (j=1; j <= mPixels; j++) DO                                           
BEGIN                                                                     
/* black wanting to be white */                                           
/* only need to check one type */                                         
/* only need to check along the diagonals */                              
IF buffer [j][line2] = blackAvgWhite THEN                                 
BEGIN                                                                     
buffer [j][line2] = whiteValue; /* set value to white */                  
continue = TRUE;                                                          
/* Can top-left be changed to to black? */                                
IF buffer [j-1][line1] = whiteAvgBlack THEN                               
BEGIN                                                                     
buffer [j-1][line1] = blackValue; /* Yes */                               
continue = FLASE;                                                         
END;                                                                      
/* Can top-right be changed to to black? */                               
IF continue = TRUE AND buffer [j+1][line1] = whiteAvgBlack THEN           
BEGIN                                                                     
buffer [j+1][line1] = blackValue; /* Yes */                               
continue = FALSE;                                                         
END;                                                                      
/* Can down-left be changed to to black? */                               
IF continue = TRUE AND buffer [j-1][line3] = whiteAvgBlack THEN           
BEGIN                                                                     
buffer [j-1][line3] = blackValue; /* Yes */                               
continue = FLASE;                                                         
END;                                                                      
/* Can down-right be changed to to black? */                              
IF continue = TRUE AND buffer [j+1][line3] = whiteAvgBlack THEN           
BEGIN                                                                     
buffer [j+1][line3] = blackValue; /* Yes */                               
Continue = FLASE;                                                         
END;                                                                      
/* can't change it to white, set it to black. */                          
IF continue = FLASE THEN                                                  
buffer [j][line2] = blackValue;                                           
/* Only need to match up one type,                                        
so reset what is left of the other. */                                    
IF buffer [j-1][line1] >= whiteAvgBlack THEN                              
buffer [j-1][line1] = whiteValue;                                         
END; /* IF buffer [j][i] = blackAvgWhite */                               
END; /* FOR (j=1; j <= mPixels; j++) */                                   
/* Pack the buffer into the newImage */                                   
IF i = 0 THEN NULL /* if i equals the first scan line don't do anything   
yet */                                                                    
ELSE /* save the previous scan line */                                    
FOR (j=1; j <= mPixels; j++) DO                                           
IF buffer [j][line1] = blackValue                                         
THEN newImage [j][i] = 0 /* blackValue */                                 
ELSE newImage [j][i] = 1; /* whiteValue */                                
/* if i equals the last scan line save it */                              
IF i = nScanlines-1 THEN                                                  
FOR (j=1; j <= mPixels; j++) DO                                           
IF buffer [j][line2 ] = blackValue                                        
THEN newImage [j][i] = 0 /* blackValue */                                 
ELSE newImage [j][i] = 1; /* whiteValue */                                
/* Move the scan lines in the buffer up by one */                         
buffer [0..mPixels-1][line1] = buffer [ 0..mPixels-1][line2];             
buffer [0..mPixels-1][line2] = buffer [0..mPixels-1][line3];              
END; /* FOR (i=0; i < nScanlines; i++) */                                 
END; /* Prcedure2 */                                                      
__________________________________________________________________________

Claims (28)

What is claimed is:
1. An apparatus for increasing resolution of an input image in an input bitmap while performing a density preserving smoothing operation, the input bitmap including a first set of pixels, said apparatus comprising:
means for mapping the first set of pixels into a second set of individual pixels, each of the individual pixels of the second set having a value selected from a first set of output states, each of the output states corresponding with a level of discretized information;
means for developing pixel arrays from the second set of individual pixels, the pixel arrays respectively representing local neighborhoods for the individual pixels of the second set, each of the local neighborhoods having a value selected from a second set of output states, each of the output states of the second set of output states corresponding with a level of discretized information;
means for combining the output state of each individual pixel with the output state of its respective local neighborhood resulting in a selected one of a third set of output states based on a predetermined relationship between the first and second sets of output states, each of the output states of the third set of output states corresponding with a level of discretized information, the selected one of the third set of output states reflecting a current output state of a selected individual pixel and a preference of the selected individual pixel for a selected one of the output states of the first set of output states, at least one of the third set of output states having at least one counterpart in the third set of output states; and
means for examining the individual pixels within a preselected area to locate a preselected number of individual pixels including a first individual pixel having a selected one of the third set of output states and at least a second individual pixel having a counterpart value to the first individual pixel having the selected one of the third set of output states, said examining means altering the respective output states of the first and second individual pixels when the first and second individual pixels are within the preselected area wherein the resolution of the output image is changed and the output image is smoothed without changing the density of the output image relative to the input image.
2. The apparatus of claim 1, wherein the output state of the first individual pixel remains unchanged when the second pixel is outside of the preselected area.
3. The apparatus of claim 1, wherein said examining means includes means for pairing the first and second individual pixel when the first pixel is within a predetermined distance of the second pixel.
4. The apparatus of claim 3, wherein the first individual pixel is disposed immediately adjacent the second individual pixel.
5. The apparatus of claim 1, wherein said means for mapping comprises a scanning device adapted to generate the input bitmap and a buffer including a memory, said scanning device and said buffer being coupled so that the first set of pixels can be transmitted to and stored in the memory of said buffer.
6. The apparatus of claim 5, wherein said buffer is capable of storing selected ones of the third set of output states and wherein said examining means communicates with said buffer for reading the selected ones of the third set of output states.
7. The apparatus of claim 1, wherein said examining means comprises a buffer capable of storing selected ones of the third set of output states, said buffer being in communication with an output of said combining means.
8. The apparatus of claim 1, wherein each of the local neighborhoods comprises a 3×3 pixel array.
9. The apparatus claim 1, wherein the first set of output states comprises two output states.
10. The apparatus of claim 1, wherein the second set of output states comprises two output states.
11. The apparatus of claim 1, wherein the third set of output states comprises four output states.
12. The apparatus of claim 1, wherein a boundary of each preselected area is the same as a boundary of each local neighborhood.
13. The apparatus of claim 1, wherein the resolution is increased by a factor of an integer value.
14. A method for increasing resolution of an input image in an input bitmap while performing a density preserving smoothing operation, the input bitmap including a first set of pixels residing in a memory, said method comprising the steps of:
mapping the first set of pixels into a second set of individual pixels, each of the individual pixels of the second set having a value selected from a first set of output states, each of the output states corresponding with a level of discretized information;
developing pixel arrays from the second set of individual pixels, the pixel arrays respectively representing local neighborhoods for the individual pixels of the second set, each of the local neighborhoods having a value selected from a second set of output states, each of the output states of the second set of output states corresponding with a level of discretized information;
combining the output state of each individual pixel with the output state of its respective local neighborhood resulting in a selected one of a third set of output states based on a predetermined relationship between the first and second sets of output states, each of the output states of the third set of output states corresponding with a level of discretized information, the selected one of the third set of output states reflecting a current output state of a selected individual pixel and a preference of the selected individual pixel for a selected one of the output states of the first set of output states, at least one of the third set of output states having at least one counterpart in the third set of output states; and
examining the individual pixels within a preselected area to locate a preselected number of individual pixels including a first individual pixel having a selected one of the third set of output states and at least a second pixel having a counterpart value to the first individual pixel having the selected one of the third set of output states; and
altering the respective output states of the first and second individual pixels when the first and second individual pixels are within the preselected area wherein the resolution of the output image is changed and the output image is smoothed without altering the density of the output image relative to the input image.
15. The method of claim 14, wherein the output state of the first individual pixel remains unchanged when the second pixel is outside of the preselected area.
16. The method of claim 14, wherein the examining step comprises the step of pairing the first and second individual pixels when the first and second pixels are within a predetermined distance of one another.
17. The method of claim 16, wherein the first individual pixel is disposed immediately adjacent the second individual pixel.
18. The method of claim 16, wherein when the first individual pixel is equidistant from both the second individual pixel and a third individual pixel and the first individual can be paired with the third individual pixel, said method further comprises a step for determining that the first individual pixel should be paired with the second individual pixel rather than the third individual pixel.
19. The method of claim 14, further comprising the step of storing a third set output state for each of the individual pixels in a second memory.
20. The method of claim 19, further comprising the step of erasing from the second memory the third set output states.
21. The method of claim 14, further comprising the step of storing a third set output state for each of the individual pixels in the memory.
22. The method of claim 14, wherein each of the local neighborhoods is a 3×3 pixel array.
23. The method of claim 14, wherein the first set of output states comprises two output states.
24. The method of claim 14, wherein the second set of output states comprises two output states.
25. The method of claim 14, wherein the third set of output states comprises four output states.
26. The method of claim 14, wherein a boundary of each preselected area is the same as a boundary of each local neighborhood.
27. The method of claim 14, wherein the resolution is increased by a factor of an integer value.
28. A method for increasing resolution of an input image in an input bitmap while performing a density preserving smoothing operation, the input bitmap including a first set of pixels residing in a memory, said method comprising the steps of:
mapping the first set of pixels into a second set of individual pixels, each of the individual pixels of the second set having a value selected from a first set of two output states, each of the output states corresponding with a level of discretized information;
developing pixel arrays from the second set of individual pixels, the pixel arrays respectively representing local neighborhoods for the individual pixels of the second set, each of the local neighborhoods having a value selected from a second set of two output states, each of the output states of the second set of output states corresponding with a level of discretized information;
comparing the output state of each individual pixel with the output state of its respective local neighborhood, the comparing step resulting in a selected one of values based on a predetermined relationship between the first and second sets of output states, each of the four values corresponding with a level of discretized information, the selected one of the four values reflecting a current output state of a selected individual pixel and a preference of the selected individual pixel for one of the first set of output states, at least one of the four values having at least one counterpart in the set of four values;
examining the individual pixels within a predetermined area to locate a pair of individual pixels including a first individual pixel having a selected one of the four values and a second pixel having a counterpart value to the first individual pixel having the selected one of the four values;
pairing the first and second individual pixels when the first and second pixels are within a predetermined distance of one another; and
altering the respective output states of the first and second individual pixels when the first and second individual pixels are within the preselected area wherein the resolution of the output image is changed and the output image is smoothed without altering the density of the output image relative to the input image.
US07/802,790 1991-12-06 1991-12-06 Method for maintaining bit density while converting images in scale or resolution Expired - Fee Related US5293254A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US07/802,790 US5293254A (en) 1991-12-06 1991-12-06 Method for maintaining bit density while converting images in scale or resolution
JP34117292A JP3203079B2 (en) 1991-12-06 1992-11-27 Method of improving resolution of input image and performing density protection smoothing operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/802,790 US5293254A (en) 1991-12-06 1991-12-06 Method for maintaining bit density while converting images in scale or resolution

Publications (1)

Publication Number Publication Date
US5293254A true US5293254A (en) 1994-03-08

Family

ID=25184694

Family Applications (1)

Application Number Title Priority Date Filing Date
US07/802,790 Expired - Fee Related US5293254A (en) 1991-12-06 1991-12-06 Method for maintaining bit density while converting images in scale or resolution

Country Status (2)

Country Link
US (1) US5293254A (en)
JP (1) JP3203079B2 (en)

Cited By (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5359423A (en) * 1993-12-17 1994-10-25 Xerox Corporation Method for statistical generation of density preserving templates for print enhancement
US5568269A (en) * 1993-09-02 1996-10-22 Eastman Kodak Company Method and apparatus for scanning and printing documents with text and images
US5650858A (en) * 1992-08-26 1997-07-22 Hewlett-Packard Company Pixel image edge-smoothing method and system
EP0789325A2 (en) * 1996-02-09 1997-08-13 Adobe Systems, Inc. Method and apparatus for efficiently interpolating an image
US5724455A (en) * 1993-12-17 1998-03-03 Xerox Corporation Automated template design method for print enhancement
US5745657A (en) * 1994-06-22 1998-04-28 T/R Systems Method and apparatus for multi-modal printing with electrophotographic print engine
US6215561B1 (en) * 1997-02-28 2001-04-10 Seiko Epson Corporation Image processing apparatus and image processing method
US6233366B1 (en) * 1996-09-11 2001-05-15 Canon Kabushiki Kaisha Image processing method and apparatus
US6262809B1 (en) * 1991-12-27 2001-07-17 Minolta Co., Ltd. Image processing apparatus shifting image data between adjacent picture elements
US6366362B1 (en) 1998-12-23 2002-04-02 Xerox Corporation Method and apparatus for adjusting input binary image halftone dots using template matching controlled by print engine xerographic density information to maintain constant tone reproduction on printed output over time
US20030206662A1 (en) * 2002-05-03 2003-11-06 Avinash Gopal B. Method and apparatus for improving perceived digital image quality
US20040057146A1 (en) * 2002-09-25 2004-03-25 International Business Machines Corporation Method and apparatus for balanced shield shunts, leads and pads for electrical noise reduction in read heads
US6795211B1 (en) 1999-11-04 2004-09-21 Xerox Corporation Resolution enhancement of compressed image data
US20050018917A1 (en) * 2003-07-22 2005-01-27 Creo Inc. Reverse upsampling method and system
US20060232794A1 (en) * 2005-04-15 2006-10-19 International Business Machines Corporation Black white image scaling having print density control and polarity detection
US7218417B2 (en) 2003-01-30 2007-05-15 Xerox Corporation Resolution conversion using a morphological partial pixel mapping (MPPM) approach
US20090067754A1 (en) * 2004-02-03 2009-03-12 Ravinder Prakash Black white image compression having print density control
US7872775B2 (en) 2002-05-24 2011-01-18 Lexmark International, Inc. Apparatus and method for a resolution quality redefinition control system for a multi-function device
US20120076439A1 (en) * 2010-09-24 2012-03-29 Kurigata Yuhei Image processing apparatus and image processing method
US20120308138A1 (en) * 2011-06-03 2012-12-06 Apple Inc Multi-resolution spatial feature extraction for automatic handwriting recognition
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9535906B2 (en) 2008-07-31 2017-01-03 Apple Inc. Mobile device having human language translation capability with positional feedback
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
US9620104B2 (en) 2013-06-07 2017-04-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9626955B2 (en) 2008-04-05 2017-04-18 Apple Inc. Intelligent text-to-speech conversion
US9633674B2 (en) 2013-06-07 2017-04-25 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US9633660B2 (en) 2010-02-25 2017-04-25 Apple Inc. User profiling for voice input processing
US9646614B2 (en) 2000-03-16 2017-05-09 Apple Inc. Fast, language-independent method for user authentication by voice
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US9798393B2 (en) 2011-08-29 2017-10-24 Apple Inc. Text correction processing
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9953088B2 (en) 2012-05-14 2018-04-24 Apple Inc. Crowd sourcing information to fulfill user requests
US9966068B2 (en) 2013-06-08 2018-05-08 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US9971774B2 (en) 2012-09-19 2018-05-15 Apple Inc. Voice-based media searching
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US10079014B2 (en) 2012-06-08 2018-09-18 Apple Inc. Name recognition system
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10089072B2 (en) 2016-06-11 2018-10-02 Apple Inc. Intelligent device arbitration and control
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US10169329B2 (en) 2014-05-30 2019-01-01 Apple Inc. Exemplar-based natural language processing
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US10185542B2 (en) 2013-06-09 2019-01-22 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US10269345B2 (en) 2016-06-11 2019-04-23 Apple Inc. Intelligent task discovery
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10283110B2 (en) 2009-07-02 2019-05-07 Apple Inc. Methods and apparatuses for automatic speech recognition
US10297253B2 (en) 2016-06-11 2019-05-21 Apple Inc. Application integration with a digital assistant
US10318871B2 (en) 2005-09-08 2019-06-11 Apple Inc. Method and apparatus for building an intelligent automated assistant
US10354011B2 (en) 2016-06-09 2019-07-16 Apple Inc. Intelligent automated assistant in a home environment
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10521466B2 (en) 2016-06-11 2019-12-31 Apple Inc. Data driven natural language event detection and classification
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US10568032B2 (en) 2007-04-03 2020-02-18 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10733993B2 (en) 2016-06-10 2020-08-04 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US10791176B2 (en) 2017-05-12 2020-09-29 Apple Inc. Synchronization and task delegation of a digital assistant
US10810274B2 (en) 2017-05-15 2020-10-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4280144A (en) * 1979-12-03 1981-07-21 International Business Machines Corporation Coarse scan/fine print algorithm
US4437122A (en) * 1981-09-12 1984-03-13 Xerox Corporation Low resolution raster images
JPS60246137A (en) * 1984-05-22 1985-12-05 Canon Inc Optical communication system
US4679039A (en) * 1983-11-14 1987-07-07 Hewlett-Packard Company Smoothing discontinuities in the display of serial parallel line segments
US4847641A (en) * 1988-08-16 1989-07-11 Hewlett-Packard Company Piece-wise print image enhancement for dot matrix printers
US5018217A (en) * 1988-09-26 1991-05-21 Brother Kogyo Kabushiki Kaisha Data converting apparatus having means for changing ornamental stroke end data of character outline
US5020122A (en) * 1987-07-20 1991-05-28 Litton Industrial Automation Systems, Inc. Automatic document image revision
US5053887A (en) * 1989-06-27 1991-10-01 Ibm Corporation Technique for producing a fine grained dithered halftone image having an increased number of gray levels
US5113455A (en) * 1990-02-27 1992-05-12 Eastman Kodak Company Digital image scaling by stepwise pixel movement
US5191640A (en) * 1990-12-26 1993-03-02 Xerox Corporation Method for optimal discrete rendering of images

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4280144A (en) * 1979-12-03 1981-07-21 International Business Machines Corporation Coarse scan/fine print algorithm
US4437122A (en) * 1981-09-12 1984-03-13 Xerox Corporation Low resolution raster images
US4437122B1 (en) * 1981-09-12 1993-03-30 Xerox Corp
US4679039A (en) * 1983-11-14 1987-07-07 Hewlett-Packard Company Smoothing discontinuities in the display of serial parallel line segments
JPS60246137A (en) * 1984-05-22 1985-12-05 Canon Inc Optical communication system
US5020122A (en) * 1987-07-20 1991-05-28 Litton Industrial Automation Systems, Inc. Automatic document image revision
US4847641A (en) * 1988-08-16 1989-07-11 Hewlett-Packard Company Piece-wise print image enhancement for dot matrix printers
US5018217A (en) * 1988-09-26 1991-05-21 Brother Kogyo Kabushiki Kaisha Data converting apparatus having means for changing ornamental stroke end data of character outline
US5053887A (en) * 1989-06-27 1991-10-01 Ibm Corporation Technique for producing a fine grained dithered halftone image having an increased number of gray levels
US5113455A (en) * 1990-02-27 1992-05-12 Eastman Kodak Company Digital image scaling by stepwise pixel movement
US5191640A (en) * 1990-12-26 1993-03-02 Xerox Corporation Method for optimal discrete rendering of images

Cited By (149)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6262809B1 (en) * 1991-12-27 2001-07-17 Minolta Co., Ltd. Image processing apparatus shifting image data between adjacent picture elements
US5650858A (en) * 1992-08-26 1997-07-22 Hewlett-Packard Company Pixel image edge-smoothing method and system
US5568269A (en) * 1993-09-02 1996-10-22 Eastman Kodak Company Method and apparatus for scanning and printing documents with text and images
US5359423A (en) * 1993-12-17 1994-10-25 Xerox Corporation Method for statistical generation of density preserving templates for print enhancement
US5724455A (en) * 1993-12-17 1998-03-03 Xerox Corporation Automated template design method for print enhancement
US5745657A (en) * 1994-06-22 1998-04-28 T/R Systems Method and apparatus for multi-modal printing with electrophotographic print engine
US6213653B1 (en) 1996-02-09 2001-04-10 Adobe Systems Incorporated Method and apparatus for efficiently interpolating an image using an expansion factor derived from two different numbers of gray levels
EP0789325A3 (en) * 1996-02-09 1998-05-13 Adobe Systems, Inc. Method and apparatus for efficiently interpolating an image
EP0789325A2 (en) * 1996-02-09 1997-08-13 Adobe Systems, Inc. Method and apparatus for efficiently interpolating an image
US6233366B1 (en) * 1996-09-11 2001-05-15 Canon Kabushiki Kaisha Image processing method and apparatus
US6215561B1 (en) * 1997-02-28 2001-04-10 Seiko Epson Corporation Image processing apparatus and image processing method
US6366362B1 (en) 1998-12-23 2002-04-02 Xerox Corporation Method and apparatus for adjusting input binary image halftone dots using template matching controlled by print engine xerographic density information to maintain constant tone reproduction on printed output over time
US6795211B1 (en) 1999-11-04 2004-09-21 Xerox Corporation Resolution enhancement of compressed image data
US9646614B2 (en) 2000-03-16 2017-05-09 Apple Inc. Fast, language-independent method for user authentication by voice
US20030206662A1 (en) * 2002-05-03 2003-11-06 Avinash Gopal B. Method and apparatus for improving perceived digital image quality
US7872775B2 (en) 2002-05-24 2011-01-18 Lexmark International, Inc. Apparatus and method for a resolution quality redefinition control system for a multi-function device
US20040057146A1 (en) * 2002-09-25 2004-03-25 International Business Machines Corporation Method and apparatus for balanced shield shunts, leads and pads for electrical noise reduction in read heads
US7218417B2 (en) 2003-01-30 2007-05-15 Xerox Corporation Resolution conversion using a morphological partial pixel mapping (MPPM) approach
US20050018917A1 (en) * 2003-07-22 2005-01-27 Creo Inc. Reverse upsampling method and system
US7248734B2 (en) * 2003-07-22 2007-07-24 Kodak Graphic Communications Canada Company Reverse upsampling method and system
US20090067754A1 (en) * 2004-02-03 2009-03-12 Ravinder Prakash Black white image compression having print density control
US7809213B2 (en) 2004-02-03 2010-10-05 International Business Machines Corporation Black white image compression having print density control
US20060232794A1 (en) * 2005-04-15 2006-10-19 International Business Machines Corporation Black white image scaling having print density control and polarity detection
US7830552B2 (en) * 2005-04-15 2010-11-09 International Business Machines Corporation Black white image scaling having print density control and polarity detection
US10318871B2 (en) 2005-09-08 2019-06-11 Apple Inc. Method and apparatus for building an intelligent automated assistant
US10568032B2 (en) 2007-04-03 2020-02-18 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US10381016B2 (en) 2008-01-03 2019-08-13 Apple Inc. Methods and apparatus for altering audio output signals
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US9865248B2 (en) 2008-04-05 2018-01-09 Apple Inc. Intelligent text-to-speech conversion
US9626955B2 (en) 2008-04-05 2017-04-18 Apple Inc. Intelligent text-to-speech conversion
US10108612B2 (en) 2008-07-31 2018-10-23 Apple Inc. Mobile device having human language translation capability with positional feedback
US9535906B2 (en) 2008-07-31 2017-01-03 Apple Inc. Mobile device having human language translation capability with positional feedback
US10475446B2 (en) 2009-06-05 2019-11-12 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US11080012B2 (en) 2009-06-05 2021-08-03 Apple Inc. Interface for a virtual digital assistant
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10795541B2 (en) 2009-06-05 2020-10-06 Apple Inc. Intelligent organization of tasks items
US10283110B2 (en) 2009-07-02 2019-05-07 Apple Inc. Methods and apparatuses for automatic speech recognition
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US11423886B2 (en) 2010-01-18 2022-08-23 Apple Inc. Task flow identification based on user intent
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US9548050B2 (en) 2010-01-18 2017-01-17 Apple Inc. Intelligent automated assistant
US12087308B2 (en) 2010-01-18 2024-09-10 Apple Inc. Intelligent automated assistant
US10706841B2 (en) 2010-01-18 2020-07-07 Apple Inc. Task flow identification based on user intent
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10049675B2 (en) 2010-02-25 2018-08-14 Apple Inc. User profiling for voice input processing
US9633660B2 (en) 2010-02-25 2017-04-25 Apple Inc. User profiling for voice input processing
US20120076439A1 (en) * 2010-09-24 2012-03-29 Kurigata Yuhei Image processing apparatus and image processing method
US8606048B2 (en) * 2010-09-24 2013-12-10 Konica Minolta Business Technologies, Inc. Image processing apparatus and image processing method
US10102359B2 (en) 2011-03-21 2018-10-16 Apple Inc. Device access using voice authentication
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US8989492B2 (en) * 2011-06-03 2015-03-24 Apple Inc. Multi-resolution spatial feature extraction for automatic handwriting recognition
US20120308138A1 (en) * 2011-06-03 2012-12-06 Apple Inc Multi-resolution spatial feature extraction for automatic handwriting recognition
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US11120372B2 (en) 2011-06-03 2021-09-14 Apple Inc. Performing actions associated with task items that represent tasks to perform
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US9798393B2 (en) 2011-08-29 2017-10-24 Apple Inc. Text correction processing
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9953088B2 (en) 2012-05-14 2018-04-24 Apple Inc. Crowd sourcing information to fulfill user requests
US10079014B2 (en) 2012-06-08 2018-09-18 Apple Inc. Name recognition system
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9971774B2 (en) 2012-09-19 2018-05-15 Apple Inc. Voice-based media searching
US9966060B2 (en) 2013-06-07 2018-05-08 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9620104B2 (en) 2013-06-07 2017-04-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
US9633674B2 (en) 2013-06-07 2017-04-25 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US9966068B2 (en) 2013-06-08 2018-05-08 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10657961B2 (en) 2013-06-08 2020-05-19 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10185542B2 (en) 2013-06-09 2019-01-22 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US11133008B2 (en) 2014-05-30 2021-09-28 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10497365B2 (en) 2014-05-30 2019-12-03 Apple Inc. Multi-command single utterance input method
US11257504B2 (en) 2014-05-30 2022-02-22 Apple Inc. Intelligent assistant for home automation
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US10169329B2 (en) 2014-05-30 2019-01-01 Apple Inc. Exemplar-based natural language processing
US9668024B2 (en) 2014-06-30 2017-05-30 Apple Inc. Intelligent automated assistant for TV user interactions
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10904611B2 (en) 2014-06-30 2021-01-26 Apple Inc. Intelligent automated assistant for TV user interactions
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US10431204B2 (en) 2014-09-11 2019-10-01 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9986419B2 (en) 2014-09-30 2018-05-29 Apple Inc. Social reminders
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US11556230B2 (en) 2014-12-02 2023-01-17 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US10311871B2 (en) 2015-03-08 2019-06-04 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US11087759B2 (en) 2015-03-08 2021-08-10 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US11500672B2 (en) 2015-09-08 2022-11-15 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US11526368B2 (en) 2015-11-06 2022-12-13 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US11069347B2 (en) 2016-06-08 2021-07-20 Apple Inc. Intelligent automated assistant for media exploration
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
US10354011B2 (en) 2016-06-09 2019-07-16 Apple Inc. Intelligent automated assistant in a home environment
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US11037565B2 (en) 2016-06-10 2021-06-15 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10733993B2 (en) 2016-06-10 2020-08-04 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10521466B2 (en) 2016-06-11 2019-12-31 Apple Inc. Data driven natural language event detection and classification
US11152002B2 (en) 2016-06-11 2021-10-19 Apple Inc. Application integration with a digital assistant
US10297253B2 (en) 2016-06-11 2019-05-21 Apple Inc. Application integration with a digital assistant
US10269345B2 (en) 2016-06-11 2019-04-23 Apple Inc. Intelligent task discovery
US10089072B2 (en) 2016-06-11 2018-10-02 Apple Inc. Intelligent device arbitration and control
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US11405466B2 (en) 2017-05-12 2022-08-02 Apple Inc. Synchronization and task delegation of a digital assistant
US10791176B2 (en) 2017-05-12 2020-09-29 Apple Inc. Synchronization and task delegation of a digital assistant
US10810274B2 (en) 2017-05-15 2020-10-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback

Also Published As

Publication number Publication date
JPH05308513A (en) 1993-11-19
JP3203079B2 (en) 2001-08-27

Similar Documents

Publication Publication Date Title
US5293254A (en) Method for maintaining bit density while converting images in scale or resolution
US5687297A (en) Multifunctional apparatus for appearance tuning and resolution reconstruction of digital images
US5226094A (en) Method for making image conversions with error diffusion
US5729663A (en) Method and apparatus for gray screening
EP0744861B1 (en) Resolution enhancement with template matching
US5208871A (en) Pixel quantization with adaptive error diffusion
US5604605A (en) Method and device for intralinearly halftoning digitized grey value images
US5818966A (en) Method and apparatus for encoding color information on a monochrome document
US5245678A (en) Image conversion with lossy adaptive error diffusion
US5666470A (en) Method and apparatus for appearance tuning of bitmap images
JPH06233121A (en) Picture processing system
US7064862B2 (en) Printer and printing method for image-quality correction
US5956470A (en) Text quality enhancement via resolution enhancement technique based on separating jaggedness detection and filtering
US5659399A (en) Method for controlling compact dot growth
US5828815A (en) High quality multilevel halftoning for color images with reduced memory requirements
JPH09186855A (en) System used to print out high resolution image
US6052203A (en) Printing system, printer, printer driver and program storage medium
US5742708A (en) Method and system for performing perspective projection conversion
US5926582A (en) Method and system for converting multi-gradated image data into binary image data
US5937147A (en) Printing of enhanced images
US6574010B1 (en) Image processing apparatus and method
US7064866B1 (en) Image forming apparatus selectively applying a smoothing operation to image data
US6341019B1 (en) Method and apparatus for processing an image
EP1161082A1 (en) Halftone image reproduction
EP0709012B1 (en) High quality multilevel halftoning for colour images with reduced memory requirements

Legal Events

Date Code Title Description
AS Assignment

Owner name: XEROX CORPORATION

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNOR:ESCHBACH, REINER;REEL/FRAME:005940/0268

Effective date: 19911203

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: BANK ONE, NA, AS ADMINISTRATIVE AGENT, ILLINOIS

Free format text: SECURITY INTEREST;ASSIGNOR:XEROX CORPORATION;REEL/FRAME:013153/0001

Effective date: 20020621

AS Assignment

Owner name: JPMORGAN CHASE BANK, AS COLLATERAL AGENT, TEXAS

Free format text: SECURITY AGREEMENT;ASSIGNOR:XEROX CORPORATION;REEL/FRAME:015134/0476

Effective date: 20030625

Owner name: JPMORGAN CHASE BANK, AS COLLATERAL AGENT,TEXAS

Free format text: SECURITY AGREEMENT;ASSIGNOR:XEROX CORPORATION;REEL/FRAME:015134/0476

Effective date: 20030625

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20060308

AS Assignment

Owner name: XEROX CORPORATION, CONNECTICUT

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A. AS SUCCESSOR-IN-INTEREST ADMINISTRATIVE AGENT AND COLLATERAL AGENT TO JPMORGAN CHASE BANK;REEL/FRAME:066728/0193

Effective date: 20220822