[comp.graphics] Smoothing digitized newspaper photos

doug@xdos.UUCP (Doug Merritt) (01/09/90)

On the subject of smoothing digitized images of halftoned pictures,
e.g. from newspapers or magazines, the obvious approach is to translate
each square in the halftoned grid into a digital pixel with the corresponding
uniform grey value.

But I notice that actual newspaper pictures have an interesting peculiarity:
while light grey areas contain black ink circles on a white background,
the dark grey areas look like they contain white circles on a black
background. This appears to be due to the tendency of the ink dots to
run together when they reach a certain critical diameter, so that they
form a black square background with white centers in the places where
the lighter areas have vertices.

Should one just ignore this effect? Is this just an undesirable artifact
of newspaper halftone printing? Even if it is, is there some way to
correct the halftone-to-grey-scale transformation in such a way as
to get better results? For instance, is there subpixel information
that might be encoded in this smearing?

Also, how could one deal analytically with the fact that the centers
of the newspaper pixels shift in position towards the previous vertices
of the sampling grid as the tone increases in darkness? Or again, should
one just treat this as an optical illusion?
	Doug
-- 
Doug Merritt		{pyramid,apple}!xdos!doug
Member, Crusaders for a Better Tomorrow		Professional Wildeyed Visionary

dave@imax.com (Dave Martindale) (01/09/90)

In article <606@xdos.UUCP> doug@xdos.UUCP (Doug Merritt) writes:
>On the subject of smoothing digitized images of halftoned pictures,
>e.g. from newspapers or magazines, the obvious approach is to translate
>each square in the halftoned grid into a digital pixel with the corresponding
>uniform grey value.
>
>But I notice that actual newspaper pictures have an interesting peculiarity:
>while light grey areas contain black ink circles on a white background,
>the dark grey areas look like they contain white circles on a black
>background. This appears to be due to the tendency of the ink dots to
>run together when they reach a certain critical diameter, so that they
>form a black square background with white centers in the places where
>the lighter areas have vertices.

It's actually much more complex than that.  Consider the following
method of generating the halftone pattern in the first place:

Determine where the centre of your halftone dots are going to be (maybe
a rectangular grid, maybe a hexagonal one, oriented at some angle to
the horizontal).  Then define a smooth continuous function F(x,y) that
takes the value zero at the dot locations, one at the locations centred
between the dots, and smoothly interpolates between these two values
for intermediate values.  For a rectangular grid, this would look a lot
like "eggcrate" foam.  Also, note that the spacing of the halftone dots
is typically much coarser than the pixels in your original image.

Now, for each pixel in your original image, compare the brightness
at that point to the value of F(x,y) at that same point.  If the
image brightness is greater, that point in the output will be white.
If the image brightness is less, that point in the output will be
black.  (Assume B&W reproduction for now).

Now, notice what is going on:  If your image is of uniform brightness,
you are essentially "slicing" horizontally through the F(x,y) surface
at some level, and the appearance of that slice depends on the level
you slice it at.  If your image is uniform black or white, the output
page will be totally black or totally white.  If your image is 50%
intensity grey, the output will be approximately a "checkerboard"
rectangular or "beehive" hexagonal pattern, with equal amounts of white
and black (but not necessarily straight edges between the white and
black areas).  As you go from 50% towards 0, the result will look more
and more like a black area with white circular dots.  As you go from
50% towards 100% intensity, the result will look more and more like
black circular dots on a black background.

But what you really have is not dots, but a boundary between black and
white, and the boundary's shape depends on the local brightness.

Now, notice what happens if your original image is not a uniform colour,
but contains detail.  Low-frequency information in the image,
which changes more slowly than the halftone dot spacing, produces
overall changes in dot size as described above.  High-frequency
(small) details, though, cause localized changes in the shape of
the boundary between black and white.  As a result, the halftone image
carries fine detail that is considerably finer than the spacing of
the halftone dots.

Although the process I've described above isn't a physical model of
what really happens with photographic halftone screens, I think it's a
pretty good analogue.  In real film halftones, the black/white
decision is performed by high-contrast film, and the "eggcrate"
function is produced by a distorting optical element, but the process
is really a continuous thresholding operation taking place at extremely
high resolution (the grain size of the film).

The point is that, like dither, this technique preserves fine
detail.  It is *not* equivalent to filtering the image to be the
resolution of the halftone screen, and then plotting circular dots
whose size is controlled by the pixel intensities.

All of the above assumes B&W images.  For colour, you first separate
into CMYK, then apply the technique separately to the 4 colours.
The 4 halftone screens are oriented to 4 different angles to minimize
Moire patterns.

Now, how to reconstruct the original image?  Just low-pass filtering
will get you a viewable image, but without all the high-frequency
information that was preserved by the halftoning process.  To get as
much back as you can, I think you'd need to work with a model of
the halftoning process, and try to calculate the original image
"most likely" to have generated the halftone you have.  This gets
into image processing techniques beyond my present knowledge;
perhaps someone else can take it from here?

Note that for this to work, you will have to digitize the halftone
picture at very high resolutions, so the boundary between white and
black shows the small deviations caused by high-frequency information.

	Dave Martindale
	dave@imax.com, dave@imax.uucp