ART
BEAUTÉ ET BIEN-ÊTRE
ARTISANAT
CULTURE ET HISTOIRE
DIVERTISSEMENT
ENVIRONNEMENT
NOURRITURE ET BOISSONS
INGÉNIERIE INVERSE
SCIENCES
SPORTS
TECHNOLOGIE
TECHNOLOGIE PORTABLE

Error Diffusion
A photographic halftone screen makes grey by varying how BIG each dot is, on a fixed grid. That works because an emulsion will give you any dot size you ask for. A laser printer and an inkjet will not: they have one dot, the smallest they can make, and it is either there or it is not.
So the arrangement has to be turned round. Keep the dot size fixed and vary HOW MANY, and now the question is which pixels get one. Simply rounding each pixel to black or white throws away up to half a level every time and the picture collapses into two tones.
Robert Floyd and Louis Steinberg published the fix in 1976, and it is four lines long. Round the pixel. Subtract what you actually printed from what was asked for. Hand that difference forward to the four neighbours you have not decided yet, in the proportions seven, three, five and one sixteenths. The error is never discarded, only moved somewhere the eye will average it away - so a region that has been printing slightly too dark accumulates a debt that forces the next pixel white.
The cost is one row of buffer and four additions per pixel, which is why it went straight into printer firmware and stayed there. The signature is worms: at middle greys the dots chain into short drifting diagonals, because the debt travels the same way every time. A halftone screen fails by beating against another screen; error diffusion fails by growing worms, and no screen angle can fix that.
Intermédiaire
3 hours
Consignes
1
1
Diffuse the error by hand
Diffuse the error by hand
Rule a strip of eight squares on graph paper and write a grey level from 0 to 10 in each - a ramp, say, 1 2 3 4 5 6 7 8.
Work left to right. If the value is above 5, fill the square and subtract 10; otherwise leave it and subtract 0. Carry the remainder into the next square before you judge it. Eight squares in, count the filled ones: it will match the average you started with. You are the algorithm.
Matériaux pour cette étape :
Graph Paper4 feuillesOutils nécessaires :
Graphite Pencil Set
Steel Ruler (30cm)2
2
Print all three and walk backwards
Print all three and walk backwards
Print the same photograph three times at 1 bit per pixel: thresholded, ordered-dithered, and error-diffused.
Pin them up and walk away, measuring the distance at which each stops looking like dots and starts looking like a photograph. Then go back with the loupe and find the repeating tile in the ordered print and the worms in the diffused one.
Matériaux pour cette étape :
Paper6 feuillesOutils nécessaires :
Desktop Computer
Magnifying Loupe (10x)
Tape Measure3
3
Three renderings measured, and four ways to fake a grey
Three renderings measured, and four ways to fake a grey
Loading Jupyter Notebook...
Outils nécessaires :
Desktop Computer4
4
Compendium: why the weights are 7, 3, 5, 1
Compendium: why the weights are 7, 3, 5, 1
The four weights are not arbitrary and they are not optimal either. They sum to sixteen so the division is a shift, they are biased forwards and down because those are the pixels not yet decided in raster order, and the 7 dominates because the pixel immediately to the right is the one the eye will average with most strongly. Jarvis-Judice-Ninke spread the error over twelve neighbours two rows deep and Stucki over twelve with a divisor of 42; both reduce worms and both cost two row buffers instead of one. In 1976, on a printer controller, one row buffer was the entire argument.
Two failure modes are worth recognising in a real implementation. The first pixels of the image have no accumulated error, so a flat light region starts with a visible clean patch before the pattern establishes - printing rows alternately left-to-right and right-to-left, called serpentine order, breaks up both that and the diagonal drift. And error diffusion applied to each colour separately lets the four channels agree by accident and clump, so colour printers either diffuse the channels jointly or add a small random jitter to the threshold. Neither problem exists for a halftone screen, which is why it survived in offset printing long after this became the right answer everywhere else.
Outils nécessaires :
Notebook and PencilOutils requis
6- Espace réservé
- Espace réservé
- Espace réservé
- Espace réservé
- Espace réservé
- Espace réservé
Blueprints liés
Ces blueprints partagent des connaissances — techniques, matériaux ou principes
CC0 Domaine public
Ce blueprint est publié sous CC0. Vous êtes libre de copier, modifier, distribuer et utiliser ce travail pour tout usage, sans demander la permission.
Soutenez le Maker en achetant des produits via son Blueprint où il perçoit une Commission Maker définie par les Vendeurs, ou créez une nouvelle itération de ce Blueprint et incluez-le comme connexion dans votre propre Blueprint pour partager les revenus.



