Re: Scanner internals and SANE backends

becka@rz.uni-duesseldorf.de
Fri, 23 Apr 1999 10:16:25 +0200 (MET DST)

Hi

> Can anybody tell me what processing is performed by
> scanners, in general, before sending scanned data to
> a computer.

This varies greatly with the scanner. Most don't do much to the data,
some can interpolate it already inside the scanner (most scanners where
max x and y resolution are not the same can do so to preset a x=y resolution
to the user any time). Some scanners have internal image enhancement
algorithms, especially, if they can make use of the enhanced availability
of data inside the scanner and reduce the amount of data to be transferred
over the bus. AFAIK HP has something like that they call "AccuPage" which
enhances text scans for OCR.

> Also, what does a SANE need backend typically
> do with the scanned data before passing it on to higher
> level software.

Not much usually. Pad strange bit depths, unpack strange transfer encodings
etc.

> In particular what is line-distance correction?

That more or less falls into the strange transfer encoding category.
Scanners often have three different CCD lines for the three basic colors.
These are some fixed distance apart, which means the red, green and blue
image are received by the CCD with a fixed offset.

Some scanners buffer the image data internally and correct for it or use
backtracking for each scan block, while others jusr send the current values
on the CCD lines, so that the backend needs to "delay" two channels a bit to
compensate for that offset.

I explained that a few times in the past. Please search the ML archives
for details.

CU, Andy

-- 
Andreas Beck              |  Email :  <Andreas.Beck@ggi-project.org>

--
Source code, list archive, and docs: http://www.mostang.com/sane/
To unsubscribe: echo unsubscribe sane-devel | mail majordomo@mostang.com