Vectorized multi-level halftoning using ternary logic
US-10855881-B1 · Dec 1, 2020 · US
US11072166B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11072166-B2 |
| Application number | US-201916719331-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 18, 2019 |
| Priority date | Dec 18, 2019 |
| Publication date | Jul 27, 2021 |
| Grant date | Jul 27, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems, methods, software for monitoring usage of a recording medium in an image forming apparatus. In one embodiment, a usage monitor receives a raster image, and identifies thresholds that distinguish different intensity levels reproduced by different drop sizes of the recording material. The usage monitor identifies a set of pixel values for a block of pixels from the raster image, performs a vectorized comparison of the set of pixel values to each of the thresholds to generate sets of comparison bits, determines a number of set bits in each of the sets of comparison bits, and updates a threshold counter for each of the thresholds based on the number of set bits. The usage monitor may then compute drop counts for different drop sizes based on the threshold counter for each of the thresholds.
Opening claim text (preview).
What is claimed is: 1. A usage monitor, comprising: at least one processor; and a memory including computer program code executable by the processor to cause the usage monitor to: receive a raster image comprising an array of pixels; identify thresholds that distinguish different intensity levels reproduced by different drop sizes of a recording material; for each block of one or more blocks of the pixels: identify a set of pixel values for the block of the pixels; perform a vectorized comparison of the set of pixel values to each of the thresholds to generate sets of comparison bits, wherein each of the sets of comparison bits corresponds with one of the thresholds and indicates the pixel values that exceed the one of the thresholds; determine a number of set bits in each of the sets of comparison bits; and update a threshold counter for each of the thresholds based on the number of set bits determined for a corresponding one of the sets of comparison bits; and compute drop counts for the drop sizes based on the threshold counter for each of the thresholds. 2. The usage monitor of claim 1 wherein the processor further causes the usage monitor to: perform a vectorized comparison of the set of pixel values and a first one of the thresholds to generate a first set of comparison bits; perform a vectorized comparison of the set of pixel values and a second one of the thresholds to generate a second set of comparison bits, wherein the second one of the thresholds is greater than the first one of the thresholds; and perform a vectorized comparison of the set of pixel values and a third one of the thresholds to generate a third set of comparison bits, wherein the third one of the thresholds is greater than the second one of the thresholds. 3. The usage monitor of claim 2 wherein the processor further causes the usage monitor to: determine a first number of set bits in the first set of comparison bits; determine a second number of set bits in the second set of comparison bits; determine a third number of set bits in the third set of comparison bits; update a threshold counter for the first one of the thresholds based on the first number of set bits; update a threshold counter for the second one of the thresholds based on the second number of set bits; and update a threshold counter for the third one of the thresholds based on the third number of set bits. 4. The usage monitor of claim 3 wherein: the drop sizes include at least a first drop size, a second drop size, and a third drop size; and the processor further causes the usage monitor to: compute a drop count for the third drop size based on a sum total from the threshold counter for the third one of the thresholds; compute a drop count for the second drop size based on a sum total from the threshold counter for the second one of the thresholds less the sum total from the threshold counter for the third one of the thresholds; and compute a drop count for the first drop size based on a sum total from the threshold counter for the first one of the thresholds less the sum total from the threshold counter for the second one of the thresholds. 5. The usage monitor of claim 1 wherein the processor further causes the usage monitor to: compute the drop counts for a full sheetside. 6. The usage monitor of claim 1 wherein the processor further causes the usage monitor to: compute the drop counts over multiple sheetsides of a print job. 7. The usage monitor of claim 1 wherein the processor further causes the usage monitor to: determine a volume for each of the drop sizes based on the drop counts. 8. The usage monitor of claim 1 wherein the processor further causes the usage monitor to: perform the vectorized comparison of the set of pixel values and the thresholds as part of a multi-level halftoning process. 9. The usage monitor of claim 1 wherein: the processor comprises a Central Processing Unit (CPU) with a Single Instruction Multiple Data (SIMD) architecture. 10. The usage monitor of claim 1 wherein: the processor comprises a Graphical Processing Unit (GPU) with a Single Instruction Multiple Data (SIMD) architecture. 11. An image forming apparatus comprising: the usage monitor of claim 1 . 12. A method of monitoring usage of a recording material, the method comprising: receiving a raster image comprising an array of pixels; identifying thresholds that distinguish different intensity levels reproduced by different drop sizes of the recording material; for each block of one or more blocks of the pixels: identifying a set of pixel values for the block of the pixels; performing a vectorized comparison of the set of pixel values to each of the thresholds to generate sets of comparison bits, wherein each of the sets of comparison bits corresponds with one of the thresholds and indicates the pixel values that exceed the one of the thresholds; determining a number of set bits in each of the sets of comparison bits; and updating a threshold counter for each of the thresholds based on the number of set bits determined for a corresponding one of the sets of comparison bits; and computing drop counts for the drop sizes based on the threshold counter for each of the thresholds. 13. The method of claim 12 wherein performing the vectorized comparison comprises: performing a vectorized comparison of the set of pixel values and a first one of the thresholds to generate a first set of comparison bits; performing a vectorized comparison of the set of pixel values and a second one of the thresholds to generate a second set of comparison bits, wherein the second one of the thresholds is greater than the first one of the thresholds; and performing a vectorized comparison of the set of pixel values and a third one of the thresholds to generate a third set of comparison bits, wherein the third one of the thresholds is greater than the second one of the thresholds. 14. The method of claim 13 wherein: determining the number of set bits in each of the sets of comparison bits comprises: determining a first number of set bits in the first set of comparison bits; determining a second number of set bits in the second set of comparison bits; and determining a third number of set bits in the third set of comparison bits; and updating the threshold counter for each of the thresholds comprises: updating a threshold counter for the first one of the thresholds based on the first number of set bits; updating a threshold counter for the second one of the thresholds based on the second number of set bits; and updating a threshold counter for the third one of the thresholds based on the third number of set bits. 15. The method of claim 14 wherein: the drop sizes include at least a first drop size, a second drop size, and a third drop size; and computing the drop counts comprises: computing a drop count for the third drop size based on a sum total from the threshold counter for the third one of the thresholds; computing a drop count for the second drop size based on a sum total from the threshold counter for the second one of the thresholds less the sum total from the threshold counter for the third one of the thresholds; and computing a drop count for the first drop size based on a sum total from the threshold counter for the first one of the thresholds less the sum total from the threshold counter for the second one of the thresholds. 16. The method of claim 12 further comprising: determining a volume for each of the drop sizes based on the drop counts. 17. A non
Ejecting specialized liquids, e.g. transparent or processing liquids (B41J2/211 takes precedence) · CPC title
based on the amount printed or to be printed · CPC title
detecting drop size, volume or weight · CPC title
Ink level or ink residue control · CPC title
Recording use, e.g. counting number of pages copied · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.