• site home
  • blog home
  • galleries
  • contact
  • underwater
  • the bleeding edge

the last word

Photography meets digital computer technology. Photography wins -- most of the time.

You are here: Home / The Last Word / Let’s do away with resampling for printing

Let’s do away with resampling for printing

June 9, 2014 JimK Leave a Comment

There has been a spate of posts on The Luminous Landscape about resampling for printing. A few years ago, I posted results of my own studies; you can find some of those posts here. This topic never seems to go away.

Why resample before printing? Because, if you don’t, the driver – or, if you’ve got a Mac, some combination of the driver and the OS – will resample the image for you. Canon and Epson printer drivers (not the printers themselves) have “native” resolutions that are power-of-two ratios of the resolution of what printer engineers call the marking engine, and what we photographers call less precisely the printing mechanism or the print head. For Canon, the “native” resolution is 300 pixels/inch (ppi), and for Epsons, it’s 360 pixels/inch. If you check the “Finest Detail” box in the Epson driver, the native resolution is 720 ppi. There may be an equivalent setting for the Canons; since I don’t use one, I don’t know much about them. The resolution of the marking engine is much finer — 2880 or 1440 dots per inch in some Epsons — but the number of colors producible at that resolution is much fewer; from appropriate viewing distances, the viewer’s eye will average the tiny dots so that she sees a continuous toned image.

The process of going from an image with 8 or 16 bits per color plane — aka a contone image — to a pattern of ink stains on paper is called halftoning. Having looked at the Epson output under a microscope, it appears to me that the algorithm they’re using to make this transition is something called error diffusion with blue noise added, also known as diffusion/dither. In this approach, the printer driver (maybe in combination with the printer; I don’t know precisely which does what) considers the input image to be a target that cannot be hit at every point in the printed output at the resolution of the marking engine. The driver knows – or thinks it knows — the effect of putting down any given dot pattern. So, at the upper left corner of the image, it looks at the input image, and puts down a number (and size) of dots calculated to get as close as it can to the value of the image at that point. It keeps track of how far off it was. Then it considers what should happen at the next possible location where it can put ink, either to the right or down from the previous location. In deciding what ink to put there, it considers not only the value of the image at that point, but the amount and direction of the error left over from the previous printing, printing something as close as it can to a pattern that will correct the previous error and match the current input image value. It can’t do that perfectly, so it keeps track or what is now the new error, and moves on.

The use of the basic error diffusion algorithm loosely described in the previous paragraph can produce some ugly snake-like artifacts. To break these up, noise is added to the image. It works best if the noise is not flat in frequency, but rather is biased towards the higher frequencies where it is less likely to obscure image detail. Such noise is call blue noise by engineers, since blue light has a higher average frequency than, say green or red.

OK, now you know enough to be dangerous about digital halftoning. But you still don’t know why the printer driver needs to have the input image some power-of-two ratio in resolution from the resolution of the marking engine. It’s not ‘cause you’re stupid. It’s not obvious at all, at least to me. There’s no reason why the above algorithm won’t work just fine with the input image of arbitrary resolution. With such an image, there may be places where the image pixel over the dot location is ambiguous. A simple nearest-neighbor decision should be adequate.

With Epson printers, a common resolution of the marking engine is 1440 dots/inch (dpi) in one direction and twice that in the other. You can see that resampling the input image to 360 ppi (note the contone image’s resolution is measured in ppi, while the marking engine’s resolution is measured in dpi, so it’s easy to keep them straight) makes it so that there are 4×8, or 32, different possible dot locations for every pixel in the input image, so it probably makes the driver easier to write, and maybe faster to boot.

In the days when computers were a lot slower, driver speed may have been the long pole in the tent, because the driver can’t fall behind the printer. I doubt if that’s a problem today. The cost to image quality of doing things the way they’re done now is great, because, if the photography forums are any indication, knowledge that an image sent to a printer needs to be – and will – be resampled is far from universal. Writing a printer driver that did away with resampling would eliminate its negative effects on image quality, simplify many workflows, and, perhaps most importantly, give photographers one less thing to worry about.

The Last Word

← Smile! How far we’ve come →

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

May 2025
S M T W T F S
 123
45678910
11121314151617
18192021222324
25262728293031
« Apr    

Articles

  • About
    • Patents and papers about color
    • Who am I?
  • How to…
    • Backing up photographic images
    • How to change email providers
    • How to shoot slanted edge images for me
  • Lens screening testing
    • Equipment and Software
    • Examples
      • Bad and OK 200-600 at 600
      • Excellent 180-400 zoom
      • Fair 14-30mm zoom
      • Good 100-200 mm MF zoom
      • Good 100-400 zoom
      • Good 100mm lens on P1 P45+
      • Good 120mm MF lens
      • Good 18mm FF lens
      • Good 24-105 mm FF lens
      • Good 24-70 FF zoom
      • Good 35 mm FF lens
      • Good 35-70 MF lens
      • Good 60 mm lens on IQ3-100
      • Good 63 mm MF lens
      • Good 65 mm FF lens
      • Good 85 mm FF lens
      • Good and bad 25mm FF lenses
      • Good zoom at 24 mm
      • Marginal 18mm lens
      • Marginal 35mm FF lens
      • Mildly problematic 55 mm FF lens
      • OK 16-35mm zoom
      • OK 60mm lens on P1 P45+
      • OK Sony 600mm f/4
      • Pretty good 16-35 FF zoom
      • Pretty good 90mm FF lens
      • Problematic 400 mm FF lens
      • Tilted 20 mm f/1.8 FF lens
      • Tilted 30 mm MF lens
      • Tilted 50 mm FF lens
      • Two 15mm FF lenses
    • Found a problem – now what?
    • Goals for this test
    • Minimum target distances
      • MFT
      • APS-C
      • Full frame
      • Small medium format
    • Printable Siemens Star targets
    • Target size on sensor
      • MFT
      • APS-C
      • Full frame
      • Small medium format
    • Test instructions — postproduction
    • Test instructions — reading the images
    • Test instructions – capture
    • Theory of the test
    • What’s wrong with conventional lens screening?
  • Previsualization heresy
  • Privacy Policy
  • Recommended photographic web sites
  • Using in-camera histograms for ETTR
    • Acknowledgments
    • Why ETTR?
    • Normal in-camera histograms
    • Image processing for in-camera histograms
    • Making the in-camera histogram closely represent the raw histogram
    • Shortcuts to UniWB
    • Preparing for monitor-based UniWB
    • A one-step UniWB procedure
    • The math behind the one-step method
    • Iteration using Newton’s Method

Category List

Recent Comments

  • JimK on Goldilocks and the three flashes
  • DC Wedding Photographer on Goldilocks and the three flashes
  • Wedding Photographer in DC on The 16-Bit Fallacy: Why More Isn’t Always Better in Medium Format Cameras
  • JimK on Fujifilm GFX 100S II precision
  • Renjie Zhu on Fujifilm GFX 100S II precision
  • JimK on Fuji 20-35/4 landscape field curvature at 23mm vs 23/4 GF
  • Ivo de Man on Fuji 20-35/4 landscape field curvature at 23mm vs 23/4 GF
  • JimK on Fuji 20-35/4 landscape field curvature at 23mm vs 23/4 GF
  • JimK on Fuji 20-35/4 landscape field curvature at 23mm vs 23/4 GF
  • Ivo de Man on Fuji 20-35/4 landscape field curvature at 23mm vs 23/4 GF

Archives

Copyright © 2025 · Daily Dish Pro On Genesis Framework · WordPress · Log in

Unless otherwise noted, all images copyright Jim Kasson.