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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000009499 grossing Methods 0.000 claims abstract description 26
- 230000001965 increasing effect Effects 0.000 claims abstract description 11
- 238000003491 array Methods 0.000 claims abstract description 10
- 238000013507 mapping Methods 0.000 claims abstract description 6
- 239000000872 buffer Substances 0.000 claims description 106
- 238000006243 chemical reaction Methods 0.000 description 17
- 230000008859 change Effects 0.000 description 6
- 238000007639 printing Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000010076 replication Effects 0.000 description 4
- 230000002708 enhancing effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000007648 laser printing Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 240000002834 Paulownia tomentosa Species 0.000 description 1
- 235000010678 Paulownia tomentosa Nutrition 0.000 description 1
- 241000872198 Serjania polyphylla Species 0.000 description 1
- 235000015241 bacon Nutrition 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image 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
Description
M=κ×K
N=λ×L
______________________________________ d Majority Keep White Keep Black ______________________________________ 00 0 0 0 01 1 0 1 10 1 1 1 11 0 0 1 ______________________________________
__________________________________________________________________________ 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)
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)
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)
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 |
-
1991
- 1991-12-06 US US07/802,790 patent/US5293254A/en not_active Expired - Fee Related
-
1992
- 1992-11-27 JP JP34117292A patent/JP3203079B2/en not_active Expired - Fee Related
Patent Citations (11)
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)
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 |