Beruflich Dokumente
Kultur Dokumente
Halftone
Technologies
Strategies and methods
Stephen Herron
Page
Isis Imaging Corporation
www.isisimaging.com
Page
A Guide to Halftone Technologies
Stephen Herron
http://www.isisimaging.com
Copyright 2008
Version 1.0
Page
Page
Contents
Introduction......................................................................................................................1
Appendix C, Definitions............................................................................................. 58
References....................................................................................................................... 61
Page
Page
Introduction
This halftone guide isn’t for the causal user of halftone printers. If you read a magazine,
view a photograph or use a laser or inkjet printer you may be a casual halftone user.
You can successfully use your laser printer, or print a photograph, without any knowl-
edge of the halftone process. But if you are curious about how printers work then
this guide is for you. If you are a software engineer desiring to understand the data
workflow process from image creation to output, this guide explains an important
part of that workflow – pixel conversion to halftone processes.
This user’s guide to halftone conversion processes is derived from several tutorials
Stephen Herron provided at The Society for Imaging Science and Technology confer-
ences. There are published references better at describing halftone engineering. Many
are listed in the bibliography section. This isn’t a how-to-do-it manual. Rather the
author attempts to provide a context and an understanding of the strategies used
to represent image data as marks on paper.
Page
Chapter 1
Digital data conversion isn’t exclusively the domain of image processing, but it is the
soul of a halftone. A word of text would not be the same word if the 7-bit ASCII
notation of that word changed, but changing the numerical value of a color may
increase its accuracy. The halftone process is a method of changing data to ensure
that the data accurately represents the image across different devices. The color red
on one device would not be red when reproduced on a different device if the data
describing red remained the same.
First let’s explore a couple of definitions of words used throughout this guide before
we delved into halftone technology.
Contone
1. The contone image contains a variety of luminosities from white through to the
saturated hue.
2. An image where brightness appears consistent and uninterrupted. In a discrete or
digital world, contone is the appearance of smooth changes of luminance levels
generated by discrete levels.
Halftone
1. The halftone image contains a variety of densities that simulates continuous tone
imagery through the use of a colorant deposited on media.
2. Halftone gets its name from an early process of breaking black dots in half and
into half again through the use of a screen that blocks out half the light.
Page
The distinction made in this guide between contone and halftone is that contone
describes photography and computer monitors. Halftone describes printers and ink
on paper. The terminology makes a clear distinction, and is used in this guide for
simplicity of description. However the difference is artificial since photographs are
made with halftone printers and monitors consist of digitally controlled LCDs. The
contone to halftone process means data in a form suitable for display on a monitor is
converted to data suitable for display on paper.
Low frequency and less data
The halftone process changes spatial frequency and amplitude, or pixel resolution
and bit-depth, to another frequency and amplitude. The objective of this guide is to
provide an analysis of frequency and amplitude conversions in the spatial domain.
Spatial frequency
Spatial frequency is the number of pixels, dots, or bits of data per unit of distance in
an image. While scaling always changes the total number of data in an image, in this
Low amplitude and less data case the resolution, or number of data per inch increases, but the image’s dimensions
remains the same. Without scaling, an image with 1,000 dots in a row can be 10
inches long at a resolution of 10 dots per inch or 5 inches long at 20 dots per inch.
The change of frequency from 10 dpi to 20 dpi reduces the size of the image by 50%
unless the number of dots is doubled. Scaling provides the same image dimension
regardless of the spatial frequency. (See Figure 1)
Amplitude
Page
height can be representative of any number of discrete levels. The number of levels
determines the height of the waveform. Binary counting limits the number of levels
into 1-bit or 1 level of tonality, 2-bits of 3 levels, 8-bit or 255 levels and 16-bit or
65,535 levels of tone. The maximum amplitude is equal to the bit-depth or number
of levels. The amplitude maximum height describes a dynamic range from paper
white to colorant black as a number of levels. An amplitude height of 3 levels or of
65,535 levels describes the same range from white to black. (See Figure 1)
The ratio between frequency and distance is inversely related: the smaller the glasses
diameter, the greater the frequency of glasses needed to span a distance. The goal of
contone-to-halftone conversion is to hold the same amount of water when the glasses
representing halftone are shorter but greater in number. This is where the drinking
glass analogy fails. Water takes up a fix volume, and digital data does not. While
adding taller glasses to hold more water or increasing amplitude is possible, adding
skinnier glasses doesn’t increase the volume of water. Fortunately, data doesn’t have a
fixed volume like water hence the frequency can be any number of cycles per distance.
Now let’s examine what happens when the device has frequency limitations.
One 8-bit LCD has 255 brightness levels plus off or black. The goal of a halftone
printer is to reproduce the single LCD without information loss. It takes 162 laser
dots to hold the data in one LCD. Since 203.62 laser dots are equal to 722 LCDs,
the 203.62 laser dots can be divided into 12.7 regions: (12.72 x 256 = 41,472). A
laser printer with a device resolution of 203.6 laser dots per inch and a halftone
resolution of 12.7 dots per inch can contain all the information in the 72 LCD per
inch display. Most laser printers have much higher device and halftone resolutions,
but most images have a resolution higher than 72 ppi.
A formula to calculate the frequency of halftone dots, pixels and ink drops is:
Page
Frequency refers to the number of positions with in a unit of distance. There are
two relationships of dot diameter to dot positions.
1. The cluster halftone dot strategy is based on the scheme that the diameter of the
dot is proportional to the frequency, i.e. the frequency never changes and the
dot diameter is equal to the distance between two positions.
2. The dispersed halftone strategy is based on the idea that the dot diameter is equal
to the highest frequency available and the distance between positions can be
of lower spatial frequencies, greater distances, or fewer positions in the unit of
distance. As described above the dot diameter while considered to relate to the
frequency seldom is directly related.
Device resolution is provided by the specification of the output device and while
measurable, or counted with a magnifying glass, is a number provided by the printer
manufacturer.
Measuring amplitude
Amplitude is a measure of:
Amplitude is the number of levels within each event. Amplitude consists of the
number of density levels from paper white to total ink saturation. The greater the 1. Maximum bit depth
number of density levels, the higher the amplitude needed to reach total saturation. 2. Density differences
A bit is either a 1 or a 0. Data of 1-bit amplitude contains a 1 or 0 in one position; between black and white
data in 4-bit amplitude contains 1s and 0s in two positions; 8-bit is 4 positions.
Amplitude is a property not dependent on another property as frequency is depen- 3. Density difference between
dent on distance. Amplitude is a physical characteristic of the print head or LCD white and a level of tone
monitor controller.
4. Bit-depth of the
When dynamic range, (see Chapter11), is considered, amplitude as defined by a current tonal value
number of levels becomes a very informative property. Amplitude is provided by the
specification of the output device and unlike resolution is not easily measured.
Measuring modulation
If the frequency and amplitude isn’t modulated the image would be very simple – a
single color. It is the modulation of the number of density levels in amplitude or the
number of positions in resolution that supplies variation and hence image content.
Modulation must occur for tonal differences to be represented in an image.
Page
The cluster halftone screen is referred to as amplitude modulation referring to a
periodic grid of dots that vary in size. Error diffusion is commonly referred to as
frequency modulation referring to the changes in distances between dots and the
various number of dots in an area. The number of dots in a square inch changes
– not the size of the dot. Many digital raster devices modulate both frequency
and amplitude. For modulation to occur a range must be present. The range is in
bit-depth and resolution. Modulation flattens potential bit-depth data or potential
number of dots to one real and measurable tonal level. An 8-bit grayscale LCD
is illuminated at any one of 256 levels. Modulation determines which level is in
use. A background color then is a pixel’s amplitude flattened to one level without
modulation. (See Figure 2)
Data conversion from typical contone bit-depth and resolution to a typical halftone
bit-depth and resolution often results in a loss of information
An image with a video ratio of 6.666 inches x 8.888 inches, and captured at 72 pixels
per inch on an RGB monitor contains 176,919,552 bits ((width x height
x (72 x (3 RGB pixels x 8 bits) sq). This image is 59.25
square inches. The image when printed on a 300 dpi, 1-bit RGB printer contains
47,992,500 bits of data.
Figure 2. Amplitude modulation shown as a
waveform The loss of information even with the greater resolution is the result of a collapse in
amplitude. The glasses of water symbolic of a printer are 4 times as many as those
symbolizing a monitor, but since they are shallow they contain very little water.
Page
Chapter 2
The conversion to halftone process is not part of the color management paradigm.
Color management has defined the context of a number associated with the dark-
est value on a printer and if the darkest value on another printer is known then a
conversion of black to black appears to be a tonal match to the human eye. This is a
form of black point adjustment and the human visual system’s adaptation.
The most significant use for color management at the printer stage falls into three
categories:
3. Color-space conversion. Each CMYK color space is unique to every printing device.
Device color space is characterized by the printer’s gamut or perimeter of saturated
colors within a three dimensional graph of the CMY color space. The creation of
black, or the K channel, occurs after the transformation to CMY color space. Gray
component removal and under color removal are two methods used to create the
black channel. Since black replaces the C=M=Y vector through the color space, the
addition of black cannot be considered a fourth dimension.
Page
Many color space representations, color space transformations, and color distance
formulas are based on notion that the content of a color space is analog or without
discrete steps. Boundaries, or the gamut, make up the primary representation. Gamut
compression and ICC intents map colors to different colors within the new gamut.
These new colors are not defined by the hafltone and during the contone-to-half-
tone conversion process are mapped to their nearest color. Since the 8-bit CMYK
halftone produces colors in combinations of 256 x 3 channels, the color difference
may vary form significant is the shadow areas to insignificant in the mid-tones.
(See Figure 3)
Figure 3. Left: Amplitude ignored in typical color space illustration. Right: Color space illustration indicates a low amplitude.
Page
Chapter 3
There are three methods to convert contone data to halftone data. Each method
constitutes a different class of halftone. While the core technology of every class
converts contone to halftone in the same way, each method’s output varies by apply-
ing the art of halftone design and the technology of conversion algorithms.
The halftone process converts each pixel to each device dot. A pixel or device dot is
a point, and a neighborhood of pixels or dots is a chunk. The conversion methods are
point-to-point, point-to-chunk, chunk-to-point, and chunk-to-chunk. Therefore
the three general classes of halftones are:
• Cluster patterns are nucleated in groups and occur at regular intervals at one
or more locations
• The individual cluster is the basis of tonal levels
• The periodic array is described with thresholds and masks or templates
• The individual cluster diameter is the basis of tonal levels
Page 10
Dispersed cell formation
Dispersed masks differ from error diffusion in that the masks are created with a
stochastic process using a random probability distribution function to pre-determine
dot positions before converting an image.
The common trait of all chunk conversion processes is that the dot positions are
not pre-determine but are determined by a function or formula while the contone
image is converted to halftone.
Error diffusion
Iterative function
Page 11
Chapter 4
There are three phases in common for each of the data-conversion processes listed
in the previous chapter. The three phases are 1. preprocessing, or prepared the data
for conversion. 2. Initiation, or set the conversion process in place and 3. Instance,
or the conversion now occurs. (See Figure 4) The action order is often 2. initiation of
the conversion process, then 1. preprocess the image and lastly 3. the actual instance
of conversion occurs. Some printer systems evoke a management system to analyze
the contone data, and then select the appropriate preprocessing and initiation. A
typical halftone manager will separate the contone data by object and initiate a
different halftone for each object type. (See Chapter 17, Halftones by Object) While
not part of the contone to halftone conversion process the manager guides the data
transformations through the following three phases.
Phase 1. Preprocessing. Adapting the image data to a certain state. Data is trans-
formed to a subtractive color space and scaled to a specific resolution. Other pro-
cesses while not part of the conversion process, add quality to the halftone process.
Sharpening and gamma mapping are two such optional processes.
Phase 2. Initiation. Preparation of the conversion process before the actual conver-
sion. Initiation includes de-weaving the data to separate planes, queuing up the image
data into a cache, and loading the halftone templates into another cache.
Preprocessing
Source raster
Initiation
Load default
halftone dictionaries
User selects Halftone arrays Scan conversion Halftone
new halftone and processes
User halftone
dictionary
Loaded at startup Load at any time Scan conversion initiation Scan conversion instance
Page 12
Phase 3. Instance. The activity of converting contone to halftone. This is the process
that receives the most attention from engineers and reference books. The physical
factors of scan conversion, movement direction through the bit-plane, threshold
conversion, neighborhood error diffusion, conversion speed, print-head movement,
droplet size control, tonal level accuracy, noise elimination, optimum patterns, etc.
are considered at this phase.
To sum up, the halftone process converts contone data to halftone data by changing the
amplitude and frequency of the data twice, once: contone-to-contone to prepare the
data for the halftone instance and then: contone-to-halftone to enact that instance.
Gamma correction is frequently accomplished in the contone domain with the use
of a transfer function or Tone Reproduction Curve (TRC). However the key/value
template lookup table can also serve the same purpose. Each template can be keyed
to its physical density rather than its amplitude value. For example the tonal level
at 48% with dot perimeter gain produces a 50% density value. Therefore the 50%
key links to the 48% tonal level resulting in a 50% density.
The halftone instance may include the preprocessing phase. Three processes that
are folded into the halftone instance are gamma correction, deweaving and scaling.
Deweaving can be incorporated with gamma correction and scaling. A CMYK raster
image may have its hue values arranged in a pixel order, i.e., CMYKCMYKCMYK….
The halftone procedure may require the hue values to be in separation order of
CCCCC…, MMMMM…, YYYYY…, KKKKK… (See Figure 5)
Simple scaling can be provided by serving the current contone value to the halftone a
number of times. For example, if the contone resolution is 100 ppi and the halftone
resolution is 200 dpi, then each pixel is served twice. (See Figure 6)
Figure 5.Deweaving interleaved data to a separation file during he halftone instance Figure 6. Scaling during the contone to halftone instance
Page 13
Chapter 5
The Cluster halftone is the first digital halftone method in common use. It is the
halftone method described in the PostScript Language as Type 1,2,3,4,5,6,10, and
16 halftones.
The recursive and dispersed halftones are a blue-noise creation process. In these
halftones the distance between potential positions is in phase with the matrix and
the pattern is as homogeneous and isotropic as possible. Recursive patterns were
originally used on the Apple Macintosh Plus computer monitor, and in the GIF
graphics format. This process limited distracting patterns at many tonal levels but
dot gain is non-linear. Dispersed halftones are used with inkjet printers.
The preprocessing, initiation and instance are very simple to implement. In the
following example the halftone amplitude is 1-bit. Let’s look at the workflow and
then examine what occurs.
Phase 1. Preprocessing. The contone data is change to a CMYK device color space,
separated into channels or planes of contone bitmaps according to the primary
colors, and scaled to the device resolution.
Phase 3. Instance. Each contone value is served to the halftone conversion engine
and a halftone is created in the page frame at the same position.
An array is a list of integers. The integers can repeat and can be arranged in any
geometric order. They indicate positions of each dot in a cluster and the cluster
build order. The dot position is also associated with a dot density. A matrix is the
array configured in columns and rows. Threshold arrays may be any size. The size of
a device dot from smallest to largest organization encompass several sizes.
Page 14
Conversion instance methods
If the value of the contone datum is equal to or less than the hexadecimal value at
that dot position then a value of 1 is written to a third page frame describing the
halftone page. The values in each cell of the halftone matrix are called threshold
values since they designate the range of halftone values.
If A’ + A <= B
{write 1}
else
{write 0}
repeat
The scan conversion processing loop is engaged. This loop continuously substitutes
the contone value with the halftone value and writes the halftone value to the page
frame. After each substitution, the loop moves to the next pixel, row and column
in the page.
Page 15
There are two loop-processes currently used.
Loop 1. Threshold comparison. The process is envisioned as the rows of the image data
unwound into one very long row of contone data. The page of halftone threshold
data is also unwound into one long row of data. Following the contone to halftone
conversion method described in Chapter 4, the current contone datum is compare
to the current halftone datum. The dot is either written to the halftone page frame
or passed by. The next contone value is compared with the next halftone value. This
loop repeats until the end of the page is reach. The halftone data in the page-frame
is wound back into a page matrix.
Loop 2. Key/table association. This process also consists of a long row of contone
data, but each datum is counted. This contone to halftone conversion method is
described in Chapter 4. The amplitude value of the current contone datum serves
as the lookup key for the corresponding halftone page frame. The halftone data
units are counted until the current position in the halftone data row is found. That
value is written to the page-frame cache. The next contone value is selected and the
lookup method employed. This loop repeats until the last contone datum is used.
The halftone data in the cache is wound back into a page matrix.
A point-to point conversion method can result in only part of a dot being used.
Partial dot characteristics are describe in Chapter 14.
There are many variations and efficiencies to the algorithms described above. If the
darkest and lightest shades, such as black and white, are considered either having
no do or 100% coverage then no halftone pattern is needed. The lookup method
can be bypassed. Another commonly used efficiency method is to parallel process
several halftone look-ups significantly improving conversion speed.
Page 16
Chapter 6
Noise is described as a color. There are three colors currently used to describe a kind
of noise: white, blue and green.
White noise exists when there is no major frequency of distances between dots in
all directions. All frequencies are equally represented.
The term blue noise describes the spatial characteristics of aperiodic dispersed-dot
patterns. It is any noise with minimal low-frequency components and no concen-
trated high-frequencies. The dots are homogeneously distributed. At optimum, a
high-frequency component is the most commonly occurring frequency.
Since blue is the high-frequency component to visible white light, blue noise is
analogous to the high-frequency component to white noise. White noise contains
all possible frequencies. Blue noise creates patterns visually invisible because the pat-
terns are in the frequencies least visible to the human viewer. Human visual system
research has found that blue-noise provides better low-pass filtering than a cluster
halftone organized on a grid. (See Figure 7)
Page 17
Measure the distance, (y’), between each dot and find the mean average. This is the
principal wavelength or frequency, and is representative of the tonal level. Rearrange
the dots until all the frequencies approximate y’. This is a blue noise pattern.
Green noise is the mean frequency component of white noise combined with dot
amplitude. Green noise is the domain of hybrid halftones.
Patterns are composed of homogeneously distributed dot clusters that vary in both
their size and frequency. Green-noise patterns are composed of middle frequencies.
Green is the mid-frequency component of white light and green noise is the mid-
frequency component to white noise.
In periodic clustered-dot halftones, clusters are placed along a regular grid, and
variations occur in the cluster shape and size. Green-noise patterns have variation
in both cluster shape and cluster location. Green noise requires an analysis of both
the principle frequency and the mean amplitude of the cluster.
Let:
mean-range frequency: m
highest frequency: y
lowest frequency: y’
tonal level: t
The principal wavelength or frequency is m. Rearrange the dots until all the frequen-
cies approximate m. This is a green noise frequency pattern. Now that the position
of each dot cluster is determined, the size of the cluster is then determined.
Let:
device resolution: y
tonal level: t
number of dots: n
dot locations: g
Reconfigure the dot sizes until all the cluster sizes are approximately n’. This is a
green noise pattern.
Page 18
Blue noise may be the goal of a dispersed dot formation, but contone amplitude
modulation makes this goal impossible. The modulation results in varying distances
between halftone dots. The dot field never has an isotropic characteristic.
At some level in every dispersed halftone, clusters of device dots form. These clus-
ters are call chaos clusters because it is difficult to forecast where in the dot field
the clusters will form. Chaos clusters are seen in natural occurring events. The dot
growth pattern is reflective of events in the real world. Sometimes, unexpectedly,
similar events occur consecutively in time. In fact the random grouping of events
is indicative of chaos. As the number of dots increase with an increase in contone
amplitude the dots begin to touch. If the dispersed dot algorithm contains random
perturbations, the dots will cluster at random positions in the halftone field. Chaos
clusters when first formed, and low in number, contribute a low-frequency noise.
The occurrence of chaos clusters are not completely random but are initiated by a
fractal strange attractor. That attractor is strange because it is not part of the con-
version process or identified in either the contone or halftone fields. The strange
attractor may be a direction of amplitude modulation or cycle of re-occurrence. It
may be the direction of movement of the error through the contone field.
Page 19
Chapter 7
Unlike the clustered dot, the dispersed cell consists of unstructured anisotropic
patterns. The dispersed cell, like the cluster cell, is a threshold array or a series of
masks describing the dot positions at each tonal level. The pre-processing, initiation
and instance stages are the same as described for the clustered dot.
Tonal levels are a measure of a population of dots. Both the dispersed and the clus-
tered dot has its population arranged within a matrix cell. The greater the number of
positions within the cell, the greater the frequency and the smaller the dot diameter.
Unlike a clustered halftone where a single dot represents a tonal level, a dispersed
cell has a number of dots representing a tonal level, and since at any position the
tonal level can change, its almost impossible to know what tonal level is represented
unless an mean average of frequencies is calculated.
Error diffusion
This method is the digital halftone method in common use in inkjet printers.
It is a more complex method than those described in PostScript Language. The
method of preprocessing, initiation and instance vary from one print controller
to another. In the following example of error diffusion the amplitude is 1-bit
and the contone frequency is scaled to be equal to the halftone frequency. Let’s
look at a simple example and then examine what occurs.
Phase 3. Instance. The error diffusion matrix steps through the contone.
The scan-conversion processing loop is engaged. A Boolean comparison of
the value of the contone datum to a threshold value is made at each pixel to
determine if a dot should be written. The loop continuously serves the contone
value, distributes the error to contone data ahead and writes the halftone
value to the page frame. After each cycle, the loop moves to the next contone
datum in the page.
Page 20
If the value at that pixel position is equal to or less than the threshold value,
then a value of 1 is written to a page frame describing the halftone page. The
difference between the threshold value and the contone value is called an error.
Most algorithms disperse the error in a neighborhood of adjoining pixels,
hence the name “error diffusion.”
The iterative function provides the optimal relationship of halftone tonal scale
to contone tonal scale. The perceived gray values are determined by statistically
sampling halftone gray levels, comparing the level to the source image, and
iteratively adjusting the halftone gray levels until an optimal match occurs.
After the accurate data state is attained, the blue-noise state is produced by
adjusting the pattern of dots according to a maximum distance algorithm.
At each pixel, the position and frequency of the halftone dot is changed by
swapping it with each of its nearest neighbors. The loop is terminated when if
no pixels are changed in an iteration or when a blue-noise state is reached.
Hybrid halftones
Page 21
Chapter 8
An 8-bit contone pixel contains 256 levels of amplitude from the brightest value to
black, (0 to (N – 1)). The contone amplitude is half gray between the127 and 128
tonal levels. The 50% or middle tonal value for a contone pixel does not exist. The
contone is divided into two sets: 0-to-127 and 128-to-255.
A 1-bit halftone consists of a matrix of 16 x 16 units or 256 dots plus no dots for
white or 257 tonal levels, (0 to N). There is not a one-to-one, contone-to-halftone,
correspondence. The result is always a conversion error.
The 50% gray level in the halftone matrix is obviously achieved when half thedevice
dots are black and half are white. The halftone matrix is half filled in when 128 units
are black. The 50% or middle tonal value for a halftone cluster is 256/2 dividing
the range into two sets. The two sets are 1-to-128 and 129-to-256. If the 0 contone
value is mapped to the 0 halftone value, 128 is mapped to the 128 halftone value,
and 255 contone is mapped to the 256 halftone value which results in an error of
one level.
The loop algorithms in Chapter 5 use the comparison operators equal to, greater
than and less than. These operators divide the tonal values into sets. The equal to
operator assigns a particular value. In a 256 unit numbering system from 0 to 255,
the 127th value divides the contone into two equal sets. Only odd number sets
have a value positioned in the middle of two sets. The halftone numbering system
is an odd number system (256 units plus white) The 128th value sits in the middle
between two equal size sets (set 1: 0-to-127 plus 128, and set 2:129-to-256). It is
the job of the comparison operator to assign the contone values of either 127 or
128 to the halftone value of 128. Such as assignation either increases or decreases
the tonal levels throughout the amplitude by one level.
The association between the contone value and the halftone value is not direct. A
difference of one level may seem minor but when comparing accuracy of output
devices, a difference of 1/256 is detectable by a densitometer and the human eye.
A typical remedy for the counting problem is to map the contone value for white to
the halftone value for white and map the first contone value to two halftone loca-
tions for the first tonal level, resulting in 255 different numbers in the array. Then
a one-to-one correspondence can be attained.
Page 22
Chapter 9
The transfer function or Tone Reproduction Curve (TRC) is a common lookup table
method for mapping contone value to other contone values more closely matching
halftone density values. The halftone values are based on the print engine density
characteristics described in Chapter 20.
The main function of a transfer function is to select a halftone value equal to the
contone pixel value with dot gain included. Since a dot diameter increase is non-
linear, the transfer function is usually a curve. Transfer functions always result in
fewer tonal levels. For example, a simple linear function:
The halftone tonal range consists of 255 numbers, not 256 numbers.
The result is each tonal value is mapped to one level less than the matching contone
value and the total number of levels is 255 including white. There is a tradeoff of
the total number of reproducible halftone values for accuracy of tone reproduction.
Curve, spline, log and power function curves all result in fewer output values.
Page 23
Scaling
Many halftone algorithms use nearest neighbor scaling. Integer rounding error is
the result of nearest neighbor scale changes to another resolution not divisible by
an integer. The illustration of parallel lines or a grate is used to demonstrate scaling
and, in Chapter 10, phase shift errors.
If the grate consisting of black lines 1 pixel in width and 2 pixels apart at 72 pixels
per inch, and the grate is scaled to 600 pixels per inch, then each line is increase
to 8.33 pixels wide. Since pixels must be in integer units, two lines will be 8 pixels
wide and the third line will be 9 pixels wide. The grate of irregular widths will be
noticeable in the halftone version. (See Figure 8)
Page 24
Chapter 10
Conflicting patterns of halftone and contone screens are a major reason for loss of
quality. Quality loss is contributed to these processes:
• Subject moiré. The halftone dot frequency is out of phase with the content repeat.
The result is a low-frequency repeat where the two patterns overlap but are out
of alignment or phase. This moiré occurs when a repeating pattern in the image,
such as the texture on a man’s suit, is offset from the halftone dot repeat.
• Low-pass effect. The halftone dot frequency is out of phase with the contone
content pattern. The pattern lies between the dots and is either eliminated or
averaged. The repeating pattern averages pixels and the result is an elimination
of pattern. The thread pattern in the suit is no loner perceptible.
• Band pass effect. The halftone frequency is out of phase with the image’s high
frequency content but in phase with mid-range and low frequencies. The texture
in the dark suit is eliminated but the sweater’s lighter texture remains visible.
Figure 9. Top: moiré or angle interference of two grates Band-pass and phase shift effects
Bottom: phase state interference
All halftone screens produce a phase-shift effect between the pixels and the lines of
halftone dots. They cannot duplicate an image with a content frequency equal to
but out of step with the halftone frequency. There are two solutions:
1. Objective: Move the repeat of the strokes of the small font to be in phase with
the halftone repeat
Result: Fonts are out of alignment with other page objects
Figure 10. When contone chunk to halftone cluster Mapping out poor halftone patterns
conversion is used the result is low-pass averaging of
In every multi-centered cluster cell certain tonal values contain unavoidable low-
the data in the contone chunk. Frequency is shown as
frequency noise. The noise is caused by the first addition of a device dot at one of
a waveform.
the sub-clusters. (See Figure 11) There are a couple of solutions:
Page 25
1. Objective: Replace the bad patterns with the closest good patterns
Result: increased banding and limited linearization
2. Objective: Change patterns over a range of gray levels to improve bad patterns
Result: Many other good patterns may become bad
The contone resolution is not in phase with the halftone resolution. When resolu-
tions are out of phase content is also out of phase. Text will incompletely reproduce.
There are two solutions:
Quantification errors
The contone amplitude is higher than the halftone amplitude multiplied by the
resolution.
2. Objective: Map the contone amplitude to lower amplitude, matching the halftone
amplitude using a power function that allows the human visual system to adapt
to the new dynamic range.
Result: Loss of definition in shadow areas
Figure 11. Odd number amplitude values
Blurring (low-pass filter effect from scaling) produce low-frequency noise in multi-
centered halftone cells (shown in orange).
Blurring is the result of changing the contone frequency and pixel configuration to The principle frequency is shown in green.
the halftone frequency and dot inclination.
1. Objective: Sharpen the image’s edges that correspond to the halftone resolution
during scaling
Result: Edges are better defined but contour areas are blurred
Page 26
Chapter 11
Dynamic Range
Dynamic range is the difference from the maximum absorption of light an output
device can attain and the maximum amount of light reflected for the surface of a
sheet of paper. Dynamic range is also the amplitude of a contone pixel or halftone
dot expressed by the physical characteristics of the device. In a grayscale printer not
all blacks absorb the same amount of light. Dye-based inkjet inks are usually not
as light absorbent as graphite toners. Not all papers are of the same whiteness. The
brightness rating contributes to the whiteness of paper.
All 8-bit printers reproduce 255 luminous levels plus paper white. The difference
between each luminous value increases as the dynamic range increases. A printer
with a large dynamic range has the potential of delivering more than 255 levels of
tone than a printer with a smaller dynamic range. There are few halftone algorithms
that can output more than 255 tonal levels but few printers produce greater than
255 tonal levels. (See Figure 12)
The Human Visual System, HVS, adapts to dynamic range and cannot discriminate
between dynamic ranges without additional tonal-levels to describe the additional
range. An image with a large dynamic range is visually adapted to appear the same
as an image with a shorter dynamic range. It is the modulation within a range of
values that informs the human eye of the larger amplitude. Usually the shadow range
has more values and greater contrast. The HVS provides the halftone designer with
tools to improve the quality of the screen.
Figure 12. The dynamic range of the right wave form is greater than the left wave, however the amplitude or bit-
depth is the same. The green lines indicate that if the levels of the right wave form were equal to the left wave then
the amplitude would increase.
Page 27
Chapter 12
Human vision behavior is similar to several image processing filters. Four filters that
are important to viewing a halftone image are the low-pass, high-pass, band-pass
functions and contrast sensitivity functions. Without these filtering effects the
human eye would see the halftone dots of the image. Instead these filters cause the
discrete halftone dots to appear as a contone image.
A low-pass function blurs the image by finding the mean value of a small neighbor-
hood of pixel values and substituting a target pixel with that value. The eye sees in a
manner similar to a non-uniform low-pass function. A typical low-pass filter blurs
the image disregarding the image characteristics. The eye’s filter non-linearly blurs.
The blur is greater in highlights than mid-tones and shadows, and the blur is greater
in the chromatic channels than in the luminous channel. The luminous channel’s
sharpness is greatest in the mid-tone range. The eye is more sensitive to low-spatial
frequencies in the luminous channel than in the chromatic channels. More sensitive
to density than to contrast in the luminous channel and less sensitive in the highlight
region and chromatic channels.
The result is that it is difficult to see the widely-spaced dots of the highlight areas
and the detail is especially observed in the mid-tones where most interest lie.
The band-pass function eliminates certain frequencies and permits others. The band
of frequencies permitted is primarily a mid-tone range of frequencies. The eye’s
band-pass function allows diminished sensitive to low and very high frequencies
and gain sensitive to mid-range frequencies.
The human eye displays a contrast sensitivity function The human eye is sensitive
to ratios of intensities, or modulation, not absolute amplitude values. The greater
the frequency the greater the amplitude needed to be sensitive to that frequency.
The lower the frequency the less the contrast sensitivity required. The greater the
contrast, then the more acute is the eye’s sensitivity to edges and resolution and to
high frequencies.
Page 28
Contrast sensitivity is proportional to the amount of amplitude and is inversely
proportional to increases in frequency. Some future halftone method may decrease
frequency as the pixel amplitude decreases. The result would be a halftone screen
easier for a device to reproduce without diminishing image sharpness.
The eye uses global nonlinear processing. The perception of color accuracy depends
on visual learning. Global processing is a two-stage process: First point-wise sensing
of the pixel and then comparison of neighborhood pixels to infer the color. The
perception of a color produced by error diffusion occurs because the eye considers
a small region in combination with a global consideration of a population of dots.
The human eye’s sensitivity to modulation, or changes of amplitude, allows the eye
to discern patterns. We are sensitive to moiré or changes in vector relationships and
differences in angle relationships. (See Chapter 10, Interference Patterns)
The human eye displays a directional sensitivity. We are sensitive to vertical and
horizontal angles and less sensitive to 45-degree inclination. Line screens at 45
degrees are harder to see than lines at 0 and 90 degrees.
Adaptation is the eye’s global processing of illumination. The lightest tone appears
white even when it has a luminous value and the darkest tone appears black. It is
adaptation that allows one printer to be able to proof another printer when those
two printer have different tonal densities. Adaptation also provides for images of
different dynamic range to appear similar.
The eye is not very sensitive to dot frequencies greater than around 1200 repeats
per inch for black and white and 600 repeats for gray and color. The perception of
spatial frequency is inversely proportional to the density or luminous value. An
image of high-dynamic range contains higher visible frequencies.
The best dot patterns employ characteristics not visible to the human visual system.
For example, a regular isotropic pattern is hardest to see. The common LCD monitor
positions pixels in a regular grid. Even at the coarse resolution of 72 ppi the pattern
of pixels is very difficult to distinguish.
Page 29
Chapter 13
Three types of threshold arrays are in common use: 1. the 1-bit halftone one-thresh-
old array, 2. the 1-bit halftone multi-threshold arrays, and 3. the multi-bit, one array
per bit level configurations.
The 1-bit, one-threshold array is the common PostScript threshold array usually
consisting of a grid of numbers. (Almost every geometric shape of array is in use.)
The numbers at each point in the array indicate a build order and shape of the dot.
The order of dots once turned on cannot be turned off. (See Figure 13)
The 1-bit, multi-threshold arrays divide the amplitude range into a number of arrays
and each array contains the same number of points. Each array describes the build
order of a range of tonal levels and the dots in each array once turned on cannot be
turned off. Each array can turn off the dots in the previous array. (See Figure 14)
The multi-bit, one array per bit level consists of one array per bit depth. Each array
determines the number and location of each dot position of each density level of Figure 13. 1-bit,
the halftone’s amplitude. (See Figure 15) one-threshold array
Figure 12 displays a 1-bit single threshold array. This array configures a quad-dot or
a cluster halftone matrix divided into four sub-arrays. Each sub-array consists of 16
device dots. The amplitude of this threshold array is 64 density levels.
Figure 14 illustrates the three arrays required for a 2-bit, one array per bit level, multi-threshold array
design. The 2-bit dot consists of no ink for white, the first level of density (33%
tone), the second level of density (66% tone) and the third level of density (100%
tone) per device dot. The binary in a 2-bit device dot is: 00 = white, 01 = 33% gray,
10 = 66% gray, 11 = 100% black. The first array counts binary 01 from one to full
coverage at 33% density of ink. The second array adds the second density of ink to
the first array for 64 levels ending in full coverage at 66% density. The third array
adds the 100% black to each position in the array until full coverage of black is
reached. Shown is a 8 x 8 array. There are 64 (8 x 8) points in each array, hence the
Figure 15 multi-bit,
array counts 3 * 64 = 192 levels of density in the same size array that a 1-bit halftone
threshold array
can count to only 64 density levels.
per bit-level
Page 30
Array counting and threshold array conversion logic
An 8-bit threshold contains values representing gray levels from 0 for black to 255
for white. Contone gray levels range from 0 for black to 1.0 for white. Gray levels in
the range 0.0 to 1.0 correspond to threshold values from 0 white to 255 black . If a
gray level value is less than or equal to the threshold value, then make a mark. A gray
level of 0.0 paints all pixels black, regardless of the values in the threshold array.
The PostScript specification for a threshold array requires an array to begin counting
device dots in the matrix cluster with 1, ending with (array positions - 1), and 0
Additive colors space is the inverse of subtractive
indicates paper white. Several problems result form this simple specification.
color space:
Additive color space for RGB primaries • Counting an array of 256 values with 255 numbers requires one number to be
No light 0.0 repeated.
Maximum intensity 1.0
• The odd number of contone tonal levels, (256 -1, white), and the even number
Additive gray space of device dots, (256), in a cluster matrix prevent the cell from even division at
No light 0.0 50%. The determination of the 50% tone is evidence of the problem. If 128 device
Maximum intensity 1.0 dots result in half of the cluster’s device dots turned on. The contone’s 256 tone
levels splits the 50% tone at either the 128 level if you count the 0 level or 127
Subtractive color space for CMY primaries
if you count tone levels with amplitude modulation. (The 50% level is between
No ink 0.0
the 127th and 128th levels.)
Maximum ink 1.0
Subtractive halftone space for CMYK primaries The 50% contone level occurs when an energy emission of certain amplitude is
Dot off 0.0 at the halfway mark – the 127th level. The 50% cluster halftone level is when half
Dot on 1.0 the device dots in the cluster are turned on – the 128th dot
Subtractive halftone space for gray • If two dots in the cluster are turned on simultaneously to create a direct relation-
Dot off 0.0 ship to the 256 contone-levels then the dot matrix cannot provide a pattern of
Dot on 1.0 dots that displays an equal number of black and white dots.
The Boolean logic used to map contone to halftone in this guide is called fence-sitting
logic. (See Figure 16) There are a two variations of fence-sitting conversion logic:
If contone levels and halftone levels are whole integers then only fences exist and
counting is from one fence to another. However, frequently the counting method
is in decimal from 0 to 1. Occasionally the conversion is from 256 contone levels to
256 dots plus white and from 16-bit or 65,536 contone levels to 256 dot plus white.
In these cases, the fences demarcate a range of numbers with the fence equaling the
highest number in the range.
Page 31
If the contone level < the threshold value
Then paint black
The lowest number in the range is the fence. The range consists of numbers greater
than the fence value but less than the next fence value. In the 8-bit amplitude, 0.0
is black, and the next value, the penultimate contone level, is 0.00391. All contone
levels from 0.0 to 0.00391, but not including 0.00391, make 0.00391. The result is
that the first contone level is mapped to the second halftone level and the relation-
ship of contone to halftone is: contone = halftone + one level.
The highest number in the range is the fence. The numbers less and equal to the
fence number quantify to the fence number. In the 8-bit amplitude range from 0.0
to 1.0, the first contone level is 0.0 and the next value is 0.00391. All contone levels
from 0.00001 to 0.00391, including 0.00391, map to 0.00391. The result is that
the first contone level is mapped to the first halftone level and the relationship of
contone to halftone is: contone = halftone.
Unfortunately fence sitting isn’t always as simple as the relationships above indicate.
The problem is that black isn’t always equal to 1. Black may be equal to 0. The
following chart illustrates this complexity.
In some cases the marking engine is a “write white” engine and 1.0 means the dot
is off. In this case the engine is an additive halftone space and an inversion must be
made from subtractive colors to additive colors.
level
Gray
level 31
Gray
level 21
Gray
level 11
Gray
level 6
Gray
0
levels
Gray 39
levels 31 to level
Gray 29 Gray
levels 21 o
t level 40
Gray 19 Gray
levels 11 to level 30
Gray 9 Gray
levels 6 to level 20
Gray 4 Gray
0 to level 10
Gray
5 Figure 16. An illustration of fence-sitting logic
Page 32
Most scan conversions are from a subtractive CMYK color space to the subtractive
halftone space. The gray additive space to gray subtractive space is an exception.
Since No light maps to no ink, or black maps to paper white, and inversion of the
grayscale must be made before the scan conversion.
In this example the pixel includes its lower fence but not its upper fence. More
precisely, for any point whose real-number coordinates are (x, y),
The pixel value is the key to find the halftone array key value. Within the
mask, the point corresponding to (x, y) is found and the halftone value written
to the page buffer. (See Figures 17 and 18)
The page buffer is the page to be printed as stored in memory. The key/value loop
moves through the halftone page buffer, following the current coordinates in the
page plane, and performing the conversion comparison.
Page 33
Chapter 14
There are three halftone schemes that share the same basic methodology: partial dots,
multi-bit dots and half-bitten dots. All require an dot array consisting of a number
of smaller device dots or micro-dots. All display device frequencies higher than the
halftone resolution. For example a 600 x 600 dpi printer may have an actual resolu-
tion of 1800 x 600 dpi or a device dot consisting of three rectilinear micro-dots in
a ratio of 1 in the X axis by 3 in the Y axis. This technology is currently available
only in electrophotographic printers.
Partial dots. The contone frequency may be greater than the printer’s halftone dot
frequency. In that case the dot frequency in the fast scan or X axis can be increase
to the micro-dot frequency or three times the frequency of the Y axis. Therefore
the contone frequency to halftone frequency conversion will be more accurate in
the fast scan direction.
Multi-bit dots. The three micro-dots form one square dot and is described by a 2-bit
halftone threshold array. The first micro-dot is considered the first density level (not Figure 19. Multi-bit dot. The micro-dot builds
white, the first tone level), the first and second micro-dots together produce the to a device dot, and the device dot is used
second density level and the first, second and third micro-dots together produce to convert the contone grate to halftone
the third tonal level. (2-bit counting: 01 first dot, 10 first and second dot, 11 first,
second and third dots)(See Figure 19)
Half-bitting. An edge of the contone content is a pixel that is positioned in the middle
of the device-dot. If the entire dot is turned on the result is a fatter line or edge. One
third or two thirds of the device dot can be turned off to provide a more accurate
content edge. However this improves the perimeter of the edge of a graphic shape
only when that shape is black or fully saturated in coloration. (See Figure 20)
Anti-ailising. The contone pixel frequency is higher than the halftone dot fre-
quency resulting in stair-step edges at angles other than 90 and 0 degrees. The
anti-ailised edge is smoothed by creating the angles edge with a growing number
of micro-dots.
1. A mapping of the contone black and white lines spanning one halftone dot to one
cluster halftone dot results in the grate reproduced as a 25% gray rectangle.
2. A point-to-point mapping retains the gray lines by converting each to half a dot.
Half a dot is a very unusual-shaped dot. (See Figure 22)
Simple mathematics, part of a whole is never equal to the whole. A whole halftone
dot array contains 256 micro-dots and any part of the cluster dot will contain fewer
micro-dots.
Simple geometry, part of a dot is smaller that a complete dot and the frequency of
smaller dots are higher that the frequency of large dots. The partial dot may be too
small to be produced by the marking engine.
Page 35
Chapter 15
Cluster dot halftone exhibit noise not found in dispersed halftones. The following
common noise characteristics of cluster dots.
Phase shift
All regular halftone screens produce a phase-shift effect between the contone pixels
and the halftone dots. They cannot accurately reproduce an image with a content
frequency equal to but out of step with the halftone frequency. Figure 23. Phase shift results in
improper halftone reproduction
The reproduction of a grate at a frequency not equal to a multiple of the halftone
phase results in inaccurate reproduction. In this example, the contone resolution is
equal to the device, or micro-dot ,resolution. The grate repeat is one gray line and two
white lines. The halftone resolution contains four device dots. A complete halftone
dot spans four lines of the grate. The lines are 25% gray. A 25% tone halftone dot
shape is used. A point-to-point scan conversion will result in partial dots with dot
shape noise. (See Figure 23)
The inaccurate reproduction of text is the result of phase shift. The grate chart
shown in Figures 24 and 25 has the same frequency as the device frequency and is
the same gray level as the halftone . The point-to-point halftone conversion results
in a mostly white image. The first two bars of the grate fall between the dots. Phase Figure 24. The phase state of the
shift loss has four solutions: grate places the bars between the
rows of dots and none are reproduced
1. Offset the contone until the bars align with the dots. In the PostScript language
this movement is referred to as hinting. While the solution results in a significant
improvement in rendering text, the text position is not accurate.
2. Increase the density of the bars to increase the diameter of the halftone dots. The
resulting bars are bolder than the contone bars.
3. Use a halftone with a higher frequency and lower amplitude. The result is accurate
rendering of bars at at a few, but not all, tonal levels.
4. Use error diffusion to map the contone text to device dots avoiding a halftone
screen. The result is accurate reproduction at most density levels with some low-
frequency noise. (Since the dispersed tonal level is the result of a population of
dots, there may not be enough dots to produce the accurate tonal level.)
Figure 25 The Phase state of the grate
places the bars to overlap the rows
of dots and only partial dots result
Page 36
Marking engine noise
Directional noise
Directional noise occurs when dot perimeter gain in one direction is greater than
any other. There are two forms of directional noise.
Designing dot shapes for each tone level that maintains a geometric symmetry and
vector consistency with an array of only 256 cells is difficult to impossible. Most
cluster dots consist of different dot shapes at different tonal levels. In a highly
modulated amplitude image, (frequent changes in detail), the various dot shapes
may add visual noise to the image.
Some shapes are less visible than others. Shapes with two-dimensional symmetry
are less visible than shapes with none or one-dimensional symmetry. Shapes with an
even number of cells are less noticeable than odd-numbered cell clusters.
Page 37
There are many examples of interrelationships of dot shapes. A multi-centered
halftone cell at various levels may resemble a recursive cell. A dispersed cell at various
levels may have an amount of order resembling a recursive cell.
A round dot screen consists of round dots at primary tonal levels but not at all levels.
At some levels the number of device dots in the cluster are insufficient to define a
circle. The 50% tone is usually a checkerboard composed of squares – not circles.
Shapes with the lowest perimeter to area ratio do not always produce the best vector
transitions. When the vector direction is considered within a gradient from white
to black the transitional shapes may not smoothly build from a shape at one tonal
level to another shape at another tonal level. (See Figure 27)
Page 38
Chapter 16
Many marking engines can produce a number of densities at each device dot.
Usually the densities are counted in 2-bit, 4-bit, 8-bit and even in 16-bit depth.
Electrophotographic printers use cluster threshold arrays to scan convert from 8-bit
and 16-bit to the amplitude of the print engine. Printers may have high-addressable
resolutions of 1200 x 600, 1800, x 600 and 2400 x 600. (High-addressable means
that the number of dots is greater in one direction than the other.) An 1800 x 600
dpi printer has the capability of producing a 3 density levels plus white – a 2-bit
halftone.
The page buffer may be considered as a grid of locations, each with the potential
of causing a dot. Each location’s dot has the potential of existing in one of several
density states.
In the case of a 2-bit halftone, the first threshold array describes tonal values from the
lightest level to the 33% tonal value. The second array describes values from 33% to
66% and the third array from 66% to 100%. When a 2-bit halftone uses a matrix of
81 positions, there are 243 tonal values plus white. (The conversion method must
take into account the quantification errors caused by mapping 256 contone values
to 244 halftone values.)
Multi-level dots reproduce the full range of color with much smaller dot clusters.
A typical 1-bit halftone requires 256 dots in a cluster and a 4-bit halftone requires
16 dots in a cluster.
Most multi-bit dots display non-linear densities. Materials like ink and toner particles
behave in an analog manner. Dot circumference gain is an example of the analog
result of the print engine. Dot-circumference gain is almost never linearly related to
the tonal level. Multi-bit halftones decrease the dot diameter,, but due to the increase
of dot frequency, and total dot gain may be greater than the amount of density gain
compared to 1-bit halftone dots.
Page 39
Multi -bit dots are created by various methods. Ink can be dropped on top of other
drops, the amount of toner can be adjusted, the substrate or print head can be moved
while the colorant is applied, and a number of micro-dots may be produced. In the
case of multiple drops of ink, the second drop does not produce twice the density
of the first drop. The result of additional liquid from the second drop results in a
larger dot the than first dot formed by the first drop. If the source’s N bit-depth value
is mapped to the first dot and the N+1 bit value to the second drop, then the N+1
density will be lower in amplitude and larger in diameter than expected. The com-
mon, and low quality, method of compensating for the nonlinear density decrease
is to use a TRC to map the source bit value to a more accurate halftone level. More
elegant solutions involve dot density modulation within a group of the ink drops.
There are four methods to create dots of different densities: (See Figure 28)
Motion. The colorant is deposited and motion over time either spreads the colorant
or provides the next location for the next deposit.
Ink density. The amount of ink varies. Inkjet printers use multiple drops of ink or
volume of ink.
Multiple micro dots per device dot. The device dot is built up from a number of
smaller dots.
Print engines with amplitude of 8-bits are sometimes referred to as a contone printer.
This is an unfortunate use of the term “contone.” A print engine does not share the
same resolution, dot arrangement or physical dot characteristics of a contone pixel.
Considerations involved in creating a halftone dot of 8-bit amplitude are different
than the considerations of a video pixel. The data in an 8-bit contone to 8-bit halftone
conversion at minimum must be scaled and converted through a TRC.
Page 40
Multi-bit halftone counting methods
The halftone amplitude designates the number of densities that can be produced
at one location on the page. A 2-bit halftone can encode three binary levels for the
lightest shade, 01, for the next darker shade, 01, and 11 for the darkest shade (00
is white). For example, 2-bit halftone creates device density values at 00%, 33%,
66% and 100%.
At 1 bit, one array of 256 dots can produce 256 tonal levels plus white
Level 128 is reproduced with 128 black data points
At 2-bit, three arrays of 81 dots can produce 243 tonal levels plus white
Level 122 is reproduced with 32 black dots or 64 medium-density dots
At 4-bit, 15 arrays of 16 dots can produce 240 tonal levels plus white
Level 120 is reproduced with 8 black dots or 6 - 75% dots or 16 - 50% dots or
many other combinations of density dots
Figure 29. Multi-bit counting
by position There are two methods to instruct the printer to write a dot of a particular density
at each page location. They are logically similar but algorithmically different.
Method 1, Bit masks. The number of arrays corresponds to the number of dot
locations per dot density. Each array consists of the position for a dot of a particular
density.
Method 2, Multiple threshold arrays. One threshold array describes the positions of
all densities for each dot bit level. Each threshold array consists of the sequence of
positions for a dot of a particular density.
For simplicity the cluster dots in Figure 29 and 30 consist of 3 threshold arrays and
each array contains 9 positions for a total of 27 tonal levels. Density accuracy is
assumed. There are many ways to fill the arrays to produce the 27 tonal levels. The
two counting methods shown are:
A typical halftone strategy is to make a threshold array for each tonal level. First
determine the number of units in each array by dividing the number of arrays by
the contone amplitude less one. For example if the print engine has a 2-bit ampli-
tude then three arrays are required. The contone bit-depth is 8-bit and 255 levels.
Therefore each array contains 92 or 81 cells. (The nearest value is 255 / 3 = 81.)
Number each cell with the first cell containing numbers from 1 to 81, the second cell
82 to 161, etc. In this example the four dot sizes are 00 for no dot, 01 for the lowest
density dot, 10 for a middle density dot and 11 for the highest density dot. The bit-
depths of the contone values are 00 = 0 density level, 01 = 85th density level, 10 =
170th density level, 11 = 255th density level. (The contone to halftone conversion will
consist of integer rounding errors described in Chapter 13.) The input amplitude to
output amplitude mapping divides the amplitude into three ranges:
1. First threshold array: 1 to 85th contone level & the 1 to 81st halftone level
2. Second threshold array: 86 to 170th contone level & the 82 to 162st halftone level
3. Third threshold array: 171 to 255th contone level & the 163 to 243st halftone level
The multi-bit counting method using three sets of 81 numbers does not always
result in a linear increase of densities, but counting accuracy doesn’t always produce
accurate reproduction of an image. If the first dot in the first array is at 33% density
it must measure the lowest possible density higher than white regardless of the
measured density. 40 dots must equal the middle density of the 81 point array. The
low-pass filtering of the human eye resolves the array as a density halfway between
white and 33% gray – discounting mechanical density changes. The HVS does not
require accuracy. A good definition of the 50% level is the level in the middle of
a series of levels with each level in one direction from the middle lighter than the
50% level and in the other direction darker. This definition is sufficient criterion to
create a linear dot growth array without measuring any tonal level.
Page 42
Multi-bit halftone creation scheme
Page 43
Dot shape strategies
The basic guideline is to begin with the design of primary shapes at major tonal
levels and build transitional shapes. Make sure that the shapes have 2-dimensional
symmetry and the shortest perimeter possible. Grow dot shape from one primary
shape to the next with the best transitions.
• Touch points
As the cluster dot grows in diameter there is a tone level where the edges of
neighboring dots must touch. When dots touch, two types of dot gain occurs:
1. Mechanical gain is greater at the intersection than around the perimeter. 2.
Optically the increase in density is greater than the actual increase in dot area.
The result is an increase in dot density greater than encountered in the adjoining
tonal levels. The most common pattern that exhibits this increased dot gain is the
checkerboard pattern at 50% gray. (The checkerboard is also a noise free pattern
that seldom measures a density of 50%.) The elliptical shaped dot is an obvious
shape to lower the number of touch points from four to two while touching at
two different density levels. Screens in the shape of lines also do not exhibit touch
point dot density gain.
• Micro-dot addressability
In this case the marking engine has a device resolution twice the resolution in one
direction than the other. The print head moves across the page in steps half the size
of the paper movement. An inkjet printer resolution of 1440 x 720 is common.
In this case the halftone dot addressability can adjust the position of the marks
within the halftone cluster cell. Such adjustments can define more exact screen
angles and more regular shaped dots. (See Chapter 18, Vector relationships)
Low frequencies cause graininess. The higher frequencies tend to be invisible, but
the longer wavelengths of the low frequencies are noticeable and detract from the
image. Low spatial-frequency components of multi-cluster cells are introduced
at odd numbered tonal levels. Odd numbered values are produced when one
of the sub-clusters are greater in size than the other clusters. (See Chapter 16,
Multi-bit dots)
Page 44
Chapter 17
Page description languages divide the graphic objects seen on the monitor and
printed page in three categories: raster, vector graphics and text. These three object
types require different types of frequency and amplitude conversions, and different
scaling and phase state considerations. (See Figure 31)
Raster describes images encoded as a matrix of pixels or dots; hence raster is depen-
dent on resolution and frequency. A photograph is an example of raster graphics.
The resolution may be the resolution provided by the scanner, camera, manually
selected in a software application, and the output device.
Vector graphics are described in functions and procedures in a page description lan-
guage and are resolution independent. A pie chart is an example of vector graphics.
A scan-conversion process is necessary to convert vectors to raster before halftoning.
A degree of anti-aliasing is required during the scan conversion to eliminate pixel
stair-steps and add smoothness.
Text is a form of vector graphics usually encoded as font. The accuracy of drawing the
glyph and the offset of glyphs sets text apart from vector graphics. Scan-conversion
to output device resolution may distort the glyph. Thickening of serifs is a common
distortion caused by the halftone dot being larger than the serif. Very small type may
be out of phase with the halftone screen resulting in the loss of a significant portion
of each character.
The following description of object halftoning requires familiarity with the Adobe
PostScript Reference. Each type of object is encoded differently and therefore is eas-
ily kept separate. Each object must be scan-converted to a raster. A typical method
is to flatten the list of objects as they are converted to raster. The scan-conversion
method often used is to first create an empty page buffer and convert the first
object to a number of pixels in the proper location in the page buffer and repeat the
Figure 31. Halftone scan-conversion by object. Red indicates vector, orange for raster and
green for text. The white squares indicate the metadata that selects the halftone. The arrows
point to the halftone array and the halftones point to the page frame.
Page 45
conversions until all objects are rasterized and written to the page buffer. A method
must be used to record the type of object each pixel represents since all pixels are
the same. One method is to create a metadata buffer that maps each pixel’s object
type. Usually the map is 2-bit in depth with each bit number representing an object.
Another method is to encode a signifier with in the run-length pixels to indicate
the object type of a string of pixels.
Let look at one instance of color space transformation for RGB to device CMYK that
results in two very different types black generation. During the color space conver-
sion, two black pixels are encountered. Each pixel is encoded as R = G = B = 0. The
metadata designates one black pixel as text and the other as image. The image pixel
is converted from RGB to CMYK using standard black generation resulting in C =
60, M = 40, Y = 40, K = 100 and is converted to a cluster halftone. (Values are not
representative of real-world results.) Often black with under-color is referred to as
rich black. The black pixel designated as text is separated as C = 0, M = 0, Y = 0, K
= 100, and is converted to device dots. (See Figure 32) The algorithm would be:
if
{pixel X is text, make K;
else
make CMYK;}
During the contone conversion to halftone instance the metadata directs the rich
black, ( a CMYK pixel), data to the halftone threshold array intended for photog-
raphy and the black data with no under color, (a K pixel) to the device resolution.
Figure 32. Halftone scan-conversion by type of black generation. The first set of four squares
of colors indicates rich black and the second set indicates grayscale black. The halftone
selection is made by the number of colors in the pixel. Metadata is not used.
Page 46
Chapter 18
The pattern, angle of relationships, shape, and touch points of dots describe a
vector in a two-dimensional representation. A vector can also be a path in a three-
dimensional representation. The third dimension describes the relationship of the
dots described in the four primary colors of the printer color space. The objective
of considering three-dimensional vectors is to determine if there is a low-frequency
component existing between the dots in each primary color.
Pattern interference and phase shift produce low frequency cycles. There are three
variations of relationships of dots: 1. dots may be positioned next to each other, 2.
on top of each other, and 3. both on top and next to each other
• Dot on Dot. Color is the result of the physical mixing of colorants. The result is
a small gamut. (See Figure 33a)
• Dot off dot. Color is the result of visual interaction of colorants. The result is a
large gamut. (See Figure 33b)
• Combination. Most halftone screen exhibit dot-off-dot patterns in highlight levels
a combination of dot on and off dots in the mid-tones, and dot-on-dot patterns
in the shadow ranges. The result is a gamut that changes size by tonal range.
(See Figure 33c)
Screen angles
Angle moiré caused by screen angle interference is avoided when the angles of dots are
30° apart, or the angle of the center dot diagonally bisects a square with the screen angle’s
incidence of two adjoining sides: Angle = degrees(atan(Y/X))
Page 47
Two tests to determine if the screen angles will exhibit a low-frequency moiré:
1. If the sum of the smaller two angles of three primaries when subtracted from
the larger angle is 0°, then no interference results. (See Figure 34)
Rosette patterns
Three and four overlapping planes of dots form circular patterns called rosettes. There
are two types of rosettes – clear center and dot centered rosettes. (See Figure 36)
Dot centered rosettes increase density resulting in a increase cyan and magenta or
producing a purple shift. The CIE a* channel is too high and CIE b* channel is too
low when the vector is charted in CIEL*a*b* color space.
Clear centered rosettes decrease density, increasing cyan and yellow, or producing
a green shift. The CIE a* channel is too low and CIE b* channel is too high when
the vector is charted in CIE L*a*b* color space. Figure 34. Typical color vector
relationships
Top: 15C, 35K, 75M
Bottom: 345C, 15M, 45K
Figure 65. RIght: clear centered rosette pattern. Left: dot centered rosette pattern
Page 48
Cluster dot angle creation methods
Rational angle refers to the alignment of dots placed periodically on a grid. The
vector direction is the rational tangent formed by the hypotenuse and the adjacent
side. The adjacent and the opposite sides must be in integers. The obvious angles
are 0 degrees, 45 degree and 90 degrees, but several other angles can be attained.
A triangle with a side ratio of 4 units by 15 units provides a screen angle of 14.931
degrees. As the number of units increase the number of angles also increase and
those angles come closer to the preferred screen angles for color reproduction of
30 degrees, 60 degrees and 15 degrees. (See Figure 37)
Irrational angle refers to angles not available to the tangent of a triangle with lengths
equal to multiples of integers. Various schemes include changes in resolution in
one axis, changes in dot diameter, adjustments in dot offset, unusual screen angles,
offsetting the cluster, grouping a number of micro-dots within the device dot and
by designing non-orthogonal supercells. (See Figure 38)
Page 49
Chapter 19
Halftone encoding
PostScript threshold arrays are dictionaries encoded in hexadecimal with and text
header
<<
/HalftoneType 5
/Black
<<
/HalftoneType 3
/HalftoneName (None)
/Width 32
/Height 16
/Thresholds
<
1B5793081A568703134A8F0718548904144C91081A568703
134A8F07185489042FBE5A102DC9650B22C05C0F2BC7630
C24BC58102DC9650B22C05C0F2BC7630C96F0E641A1F5ED
3698F1E83F9FF4EC3894F0E443A1F5ED3698F1E83F9FF4E
C3872F8D2AA7CFDDDB574F9D4AC7EFCDBB372F8D0A87AFD
DDB574F9D4AC7EFCDBB3154F840112478D0512498202114
58B06154F840112478D051651800211458B0627CE6A091F
C4600D21CC680A1DC25E0E27CE6A091FC4600D29CA660A1
DC25E0EA6F7EF319CF3EB3BA4F6EE339AF2EA3DA6F7EF31
9CF3EB3BA2F6EE359AF2EA3D76FFE2BA71FBD8B078FEE0B
86DFAD6AE76FFE2BA6FFBD8B078FEDEB66DFAD6AE195490
0717528804144D92081A568603134B8E0717528804144D9
2081A5686032CC15D0F2AC6620C25BD59102EC8640B23BF
5B0F2AC6620C25BD59102EC8640B99F1E93E9EF4EC3995F
0E542A0F5ED3797F1E7409EF4EC3995F0E542A0F5ED3775
F9D5AD7FFCDAB273F8D1A97BFDDCB475F9D3AB7DFCDAB27
3F8D1A97BFDDCB41146850111448A061650810212488C05
154F830111448A061650810212488C051ECF6B091CC35F0
E28CB670A20C5610D26CD69091CC35F0E28CB670A20C561
0DA7F7EF309BF2EA3CA3F6EE349DF3EB3AA5F7EF329BF2E
A3CA3F6EE349DF3EB3A77FFE3BB6EFAD7AF79FEDFB770FB
D9B177FFE1B96CFAD7AF79FEDFB770FBD9B1
>
>>
Page 50
PostScript spot function are formulas encoded as text
end
Page 51
Chapter 20
Most printer’s marking engines use pulse-width modulation to guide a length of time
or amount of energy necessary to make a mark on paper and to regulate between
on and of states. Pulse-width modulation uses a digital or square wave form which
when modulated results in variations of the waveform.
The halftone values control the marking engines state. The engine is either in a marking
state or not, off or on. To create black the engine state is steadily on. Its pulse width
is not modulated. For white, the engine is steadily off, and again the pulse width
is not modulated. For all other halftone values the pulse-width is modulated, and
the engine state turns from off to on. The greater the density then the longer the
on state.
• Clock cycle for length of time to build sufficient energy to create marks of equal
size. (See Figure 39)
• Clock cycle for length of time to increase energy amount to enlarge size of the
dot. (See Figure 40)
• Clock cycle for length of time for paper or print-head motion to enlarge size of
the dot. (See Figure 41)
Figure 39. Pulse-width modulation to make a constant size dot
Page 52
Chapter 21
The printer has a fast scan, usually the print head movement direction or the X-axis,
and slow scan, the paper movement direction or Y-axis. The printer’s page can be
described in a grid with coordinates at the device resolution. A dot is made when the
X and Y coordinates of the substrate and usually when the print engine is stationary.
The number of X and Y coordinates per inch is the device resolution or frequency.
Page 53
A dot is the amount of energy that results in a localized difference between the area
where a halftone dot lies and the surrounding area. That energy may be light, heat,
polarization, chemical, ink, etc.
The difference between the tonal value of the contone image and the tonal value of
the halftone reproduction of that image is the result of errors in the amount of energy
combined with the amount of colorant used to produce the dot. The result is a dot
with a diameter greater than the distance between coordinate intersections or fre-
quency. There is an energy threshold where enough energy is applied to the substrate
to attract toner particles, expose an emulsion, or drop ink. Dye-based ink bleeds
outward. Toner has a spray that produces a gray halo. Laser light is not accurately
focused. The perimeter growth is inversely proportional to the dot diameter.
There are three variables that contribute errors to achieving accurate tone levels
when reproducing a halftone image. From greatest dot radius change to lease dot
radius change, primary producers of tonal inaccuracies are:
4. Halftone pattern dot gain: The shape and pattern of the halftone dot.
Properties that do not directly contribute to dot perimeter change such as optical
dot gain, black point of the media, and white point of the substrate are considered
during contone processing and not part of the halftone process. While such proper-
ties may contribute to reproduction errors, these errors can be eliminated before the
image data reaches the halftone instance phase.
Mechanical dot perimeter movement is the most significant of the three contributors
to dot gain. The amount of dot gain can vary from no dot when the amount of energy
is too low to significant dot spread when the energy component is too high.
Figure 42. Dot shapes and dot relationships
The halftone cluster dot size and shape can either decrease or increase the mechanical
density by creating shapes with shorter perimeters.
The halftone dot shape and pattern also affects the printer device density. Figure
42 illustrates clusters of 16 device-dots in three different configurations at a 25%
tone level. The first shape is roughly triangular with a one-dimensional symmetry
but the perimeter length is greater than the dot cluster shape of the middle shape,
hence a density increase occurs. (The middle dot shape has the advantage of a two-
dimensional symmetry.) The elliptical shape at the bottom has no symmetry but a
perimeter length equal to the middle dot. However the lack of symmetry results in
greater perimeter gain than the middle dot shape. The ellipse dots also has a pattern
that causes the dots to touch. The touch points also increase the dot gain.
Page 54
In general, the density level is more accurate when the symmetry and the isotropic
relationships between the dots increase.
The mechanical dot perimeter increase is variable over time and has the greatest
effect on tonal density. The halftone shape and pattern density functions can be
determined and they never change. Only the mechanical density need be measured
and determined periodically.
The halftone resolution density cureve (yellow) is a Log function. It decreases the dot
spread in the shadows and increases the dot spread in the highlights and mid-tones.
A base-10 log function is used in this example.
The halftone pattern density curve (cyan) is a power function. In this example a
gamma of 1.4 is used. Most halftone patterns change density in a manner modeled
by a power function.
The combined density curve (dark red) in Figure 43 is used to characterize the
printer. The function used in this example is a simple average of the minimum values
and the maximum values at each tone level.
Note that the mechanical density curve does not always produce the largest dot
spread. In this example, both the halftone resolution curve and the halftone pattern
curve increase the density in the highlights and decrease density in the shadows.
Figure 43. An Excel chart of mechanical, resolution and pattern density increases
Page 55
Appendix A
2. Bit-mask LUT. This spreadsheet consists of a 1-bit array for each tonal level.
While logically identical to a threshold array the LUT is more efficient, but the
memory use may be greater.
6. Multi-bit array. The example uses an four threshold arrays to provide all 256 tonal
levels. The spreadsheet demonstrates a possible 2-bit conversion method using
00 for the first array, 01 for the second, 10 for the third and 11 for the fourth.
7. Multi-array, 1-bit conversion. The arrays change the dot frequencies from a low
frequency in the highlights to a high frequency in the mid-tone range and back
to a low frequency in the shadows.
Page 56
Appendix B
Two early patents that pioneered the development of cluster dots used on most
electrophotographic printers today are those of Thomas M. Holladay and Ronald
J.Pellar. Both were employees of Xerox Corporation in the 1970s and 1980s. Mr.
Pellar’s patent describes the process of pulse-width modulation to produce a digital
halftone in hardware. Mr. Holladay’s patent describes a halftone discrete block with
an offset procedure to move the threshold array block through the page buffer.
Robert Ulichney is with HP. He introduced the paradigm of blue noise as a measure-
ment of the quality of dispersed halftone schemes. Mr. Ulichney’s void and cluster
algorithm constructs stochastic masks.
A patent by Stephen Herron originated the use of many 1-bit threshold arrays to
make one halftone. The result is better noise reduction, smoother gradients, and
diminished dot gain.
Floyd, R.W. and L. Steinberg’s seminal research paper describes the first error
diffusion array. Much of the research in error diffusion is based on improving this
core invention.
Page 57
Appendix C
Definitions
Device dot The smallest amount of colorant that a print engine can apply
on paper. Frequently asymmetrical in the X- and Y-axis.
Page 58
Dot 1. The cluster of device dots in a traditional halftone. The shape
of the clusters may vary.
2. The smallest mark capable of being reproduced.
High address PWM A Pulse Width Modulation engine that deposits colorant at
a greater resolution in the scan direction than in the paper
advance direction. Resolutions of 1200 x 600 and 1440 x 720
are common.
LPI Lines of dot clusters per inch in the direction of screen angle.
Partial cell Frequently a portion of the image, e.g. a pixel, is smaller than
the halftone cell. When the pixel’s bit-depth is converted to a
halftone dot, only a portion of the halftone cell is used.
Page 59
Phase A particular stage in a periodic process or phenomenon. A
correlated or synchronized relationship between two regular
reoccurrences.
Pixel Trichromatic CIE red, green, and blue color space values
displayed on a color monitor.
Supercell A region containing many cells. A dot may repeat within a cell
and cells repeat within a supercell. In a traditional halftone
many dots may be arranged into many clusters within a cell.
Tonal region The region consisting of the maximum tonal levels. Frequently
organized in rectangles of 16 x 16, 8 x 32, 4 x 64, 1 x 256,
device dots. A tonal region may spread across many cells or be
contained within a cluster. The 256 device dots can be dispersed
or localized within a cell of any size.
Transformation A change from the input, or source, color space to the output,
or device, color space.
Page 60
References
[1] D. Blatner, Real World Scanning and Halftones, Peachpit Press, Berkeley, CA,
2004
[4] R.A. Ulichney, The void-and-cluster method for dither array generation, in Proc.
SPIE, Human Vision, Visual Processing, Digital Displays IV, vol. 1913, B.E.
Rogowitz and J.P. Allebach, Eds. 1993, pp. 332-343.
[5] R.A. Ulichney, Dithering with blue noise, Proc. IEEE, vol. 76, pp. 56-79, Jan.
1988.
[6] R.W. Floyd and L. Steinberg. An adaptive algorithm for spatial gray-scale, in
Proc. Soc. Information Display, 1976, vol. 17, no. 2, pp. 75-78.
[8] K. Knox, Evolution of error diffusion, J. Electron. Imaging, vol. 8, no. 4, pp.
422 - 429, 1999.
[11] K.E. Spaulding, R.L. Miller, and J. Schildkraut, Methods for generating blue-
noise dither matrices for digital halftoning, J. Electron. Imaging, vol. 6, no. 2,
pp. 208-230, 1997.
[12] C.J. Rosenberg, Measurement-based evaluation of a printer dot model for half-
tone algorithm tone correction, J. Electron. Imaging, vol. 2, no. 3, pp. 205-212,
1993.
[13] P.G. Roetling and T.M. Holladay, Tone reproduction and screen design for
pictorial electrophotographic printing, J. Appl. Photoqraph. Eng., vol. 15, no.
4, pp. 179-182, 1979.
[14] T. Mitsa and K.J. Parker, Digital halftoning technique using a blue noise mask,
J. Opt. Soc. Amer., vol. 9, pp. 1920-1929, 1992.
Page 61
[15] T.N. Pappas and D.L. Neuhoff, Model-based halftoning, in Proc. SPIE, Human
Vision, Vision Processing and Digital Display II, vol. 1453, B.E.
[16] S. Aoki, New halftoning method using adaptive cell, in IS&T’s NIP 14: Int.
Conf. Digital Printing Technologies, Toronto, Ontario, Canada, Oct. 18-23
1998, pp. 277-280.
17] D.L. Lau, Robert Ulichney, and C.R. Arce, Fundamental Characteristics of
Halftone Textures: Blue-Noise and Green-Noise, HP Laboratories external
publications, Cambridge, MA, March 2003.
[18] D.L. Lau and G.R. Arce, Modern Digital Halftoning, Signal Processing and
Communications. New York: Marcel Dekker, 2001.
[19] D.L. Lau, A.M. Khan, and C.R. Arce, Stochastic moiré in color halftoning, in
Proc. IS&T’s Image Processing Image Quality Image Capture Systems Conf.
(PICS’O1), Montreal, Quebec, Canada, Apr. 2001, pp. 96-100.
[21] I. Amidror, R.D. Hersch, and V. Ostromoukhov, Spectral analysis and mini-
mization of moire patterns in color separation, J. Electron. Imaging, vol. 3, no.
3, pp. 295-317, 1994.
[22] M. Yao and K.J. Parker, Application of the blue-noise mask in color halftoning,
in Proc. SPIE, Visual Communications and Image Processing, vol. 2727, R.
Ansari and M.J. Smith, Eds., 1996, pp. 876-
[24] S. Herron, Analysis of threshold modulation dither using space curve point move-
ment, forward propagation, and noise removal, Proceedings of SPIE Volume
3963, San Jose, CA, 2000, pp 423 - 428
[26] G. Sharma, ed., Digital Color Imaging Handbook, CRC Press, Boca Raton, FL,
2002
Page 62
Page 63
Isis Imaging Corporation
www.isisimaging.com
Page 64