Vectorized multi-level halftoning using ternary logic
AssigneeRicoh Company, Ltd.
InventorsWalter F. Kailey, Thomas Rutkowski, David Ward
Life of this patent
Estimating the term…
Abstract
Systems, methods, software for halftoning. In one embodiment, a halftone system receives a raster image comprising an array of pixels, and performs a multi-level halftoning process on one or more blocks of the pixels. The system identifies thresholds that distinguish different intensity levels. For each block, the system identifies a set of pixel values for the pixels in the block, performs a vectorized comparison of the set of pixel values to each of the thresholds to generate sets of comparison bits, and performs ternary logic operations with three of the sets of comparison bits as input to define a set of low-order bits and a set of higher-order bits for the pixels in the block.
Claims20
A halftone system, comprising:
- at least one processor;
- and
- a memory including computer program code executable by the processor to cause the halftone system to:
- receive a raster image comprising an array of pixels;
- and
- perform a multi-level halftoning process on one or more blocks of the pixels;
- for the multi-level halftoning process:
- the processor further causes the halftone system to identify thresholds that distinguish different intensity levels;
- for each block of the pixels from the one or more blocks, the processor causes the halftone system to:
- identify a set of pixel values for the pixels in the block;
- perform a vectorized comparison of the set of pixel values to each of the thresholds to generate sets of comparison bits;
- perform a first ternary logic operation with three of the sets of comparison bits as input to define a set of low-order bits for the pixels in the block;
- and
- perform a second ternary logic operation with three of the sets of comparison bits as input to define a set of higher-order bits for the pixels in the block.
A method of halftoning, the method comprising:
- receiving a raster image comprising an array of pixels;
- and
- performing a multi-level halftoning process on one or more blocks of the pixels by:
- identifying thresholds that distinguish different intensity levels;
- and
- for each block of the pixels from the one or more blocks:
- identifying a set of pixel values for the pixels in the block;
- performing a vectorized comparison of the set of pixel values to each of the thresholds to generate sets of comparison bits;
- performing a first ternary logic operation with three of the sets of comparison bits as input to define a set of low-order bits for the pixels in the block;
- and
- performing a second ternary logic operation with three of the sets of comparison bits as input to define a set of higher-order bits for the pixels in the block.
A non-transitory computer readable medium embodying programmed instructions which, when executed by a processor, are operable for performing a method of halftoning, the method comprising:
- receiving a raster image comprising an array of pixels;
- and
- performing a multi-level halftoning process on one or more blocks of the pixels by:
- identifying thresholds that distinguish different intensity levels;
- and
- for each block of the pixels from the one or more blocks:
- identifying a set of pixel values for the pixels in the block;
- performing a vectorized comparison of the set of pixel values to each of the thresholds to generate sets of comparison bits;
- performing a first ternary logic operation with three of the sets of comparison bits as input to define a set of low-order bits for the pixels in the block;
- and
- performing a second ternary logic operation with three of the sets of comparison bits as input to define a set of higher-order bits for the pixels in the block.
Dependencies are inferred from the claim text.