[comp.graphics] effective resolution and anti-aliasing

lamaster@pioneer.UUCP (06/08/87)

I have heard that it is possible to represent lines of less than 1 pixel in
width with greyscale or color images using data filtered from a higher
resolution image or object.  I have never seen either the algorithms or the
theoretical basis for an algorithm.  [An example would be a representation,
using a greyscale picture, of a line less than one pixel or dot width in size].
I have looked in standard graphics textbooks and find no mention of this [but
I could have missed something or not understood what I was looking at].  Does
anyone know of any references for this?  Are there any devices out there which
make use of it [e.g. a monitor with a much higher resolution frame buffer than
the tube and a filter to reduce the resolution before output to the tube]?



  Hugh LaMaster, m/s 233-9,  UUCP {seismo,topaz,lll-crg,ucbvax}!
  NASA Ames Research Center                ames!pioneer!lamaster
  Moffett Field, CA 94035    ARPA lamaster@ames-pioneer.arpa
  Phone:  (415)694-6117      ARPA lamaster@pioneer.arc.nasa.gov

"In order to promise genuine progress, the acronym RISC should stand 
for REGULAR (not reduced) instruction set computer." - Wirth

("Any opinions expressed herein are solely the responsibility of the
author and do not represent the opinions of NASA or the U.S. Government")

bobr@zeus.UUCP (06/09/87)

If you've seen anything in those textbooks about anti-aliasing, then you've
seen the methods used to perform this miracle of modern technology.
Aliasing is the effect of producing false images by undersampling source
images with higher spacial frequency than the display.  A line of less than
one pixel width exhibits this higher than displayable spacial frequency.
The techniques of anti-aliasing sample the image at a high enough frequency
to capture such details and then averages those samples in such a way that
some representation remains when actually displayed.  The general effect is
one of blurring the details.  Thus the less-than-a-pixel-wide line becomes a
softened image that may still look like a line.

-- 
Robert Reed, Tektronix CAE Systems Division, bobr@zeus.TEK

kens@hpldola.UUCP (06/10/87)

Years back, Jim Blinn had a head and shoulders shot of a woman which
appeared to be off of a standard monitor, broadcast television.  His
comment:  "You'd swear that you can see this..." while tracing along a
single hair, floating free from the woman's head.  The picture was only
at 256x256 sort of resolution with greyscale, so it *couldn't* really
be there.

There's a lot that we don't know...

	Ken Shrum
	HP - Logic Design Operation
	hpldola!kens

nelson@esunix.UUCP (06/10/87)

in article <1713@ames.UUCP>, lamaster@pioneer.arpa (Hugh LaMaster) says:
> 
> I have heard that it is possible to represent lines of less than 1 pixel in
> width with greyscale or color images using data filtered from a higher
> resolution image or object.  I have never seen either the algorithms or the
> theoretical basis for an algorithm.  [An example would be a representation,
> using a greyscale picture, of a line less than one pixel or dot width in size].
> I have looked in standard graphics textbooks and find no mention of this [but
> I could have missed something or not understood what I was looking at].  Does
> anyone know of any references for this?  Are there any devices out there which
> make use of it [e.g. a monitor with a much higher resolution frame buffer than
> the tube and a filter to reduce the resolution before output to the tube]?
> 
>   Hugh LaMaster, m/s 233-9,  UUCP {seismo,topaz,lll-crg,ucbvax}!
>   NASA Ames Research Center                ames!pioneer!lamaster
>   Moffett Field, CA 94035    ARPA lamaster@ames-pioneer.arpa

Disclaimer: Please don't take this as a sales pitch, it is intended
for information only.

There is one line drawing system currently on the market with a much
higher effective resolution than the actual screen resolution.  This
is the Evans & Sutherland PS 390.  The visible portion of the frame
buffer is 1024 x 864 pixels with the line filtering occurring when
the lines are drawn into the frame buffer.  The effective resolution
is 8192 x 6912.

I and several other engineers here have done extensive research on
anti-aliasing techniques and we know of no literature (available
outside of our company :-> ) on this subject.  Most of what I have
seen on anti-aliasing lines is actually misleading.  The usual
methods in the top computer graphics books have roping on the lines
which causes moire patterns when lots of lines are together and some
temporal aliasing effects when lines are moved slowly.

I have personally seen lines moving by only 1/8 of a pixel on a
PS 390 where the motion could be seen with the unaided eye.  On
this machine, the higher effective resolution applies to line
positioning but not to line width.  To get lines with an actual
effective line width of less than one pixel you will have to buy
a CT-6. :-)

-----

    Scott R. Nelson
    Evans & Sutherland Computer Corporation

UUCP Address:  {decvax,ucbvax,ihnp4,allegra}!decwrl!esunix!nelson
Alternates:    {ihnp4,seismo}!utah-cs!utah-gr!uplherc!esunix!nelson
               seismo!usna!esunix!nelson

"Smooth lines, they're not just for vector displays anymore."

turk@apple.UUCP (Ken "Turk" Turkowski) (06/12/87)

In article <1713@ames.UUCP> lamaster@pioneer.arc.nasa.gov (Hugh LaMaster) writes:
>I have heard that it is possible to represent lines of less than 1 pixel in
>width with greyscale or color images using data filtered from a higher
>resolution image or object.  I have never seen either the algorithms or the
>theoretical basis for an algorithm.  [An example would be a representation,
>using a greyscale picture, of a line less than one pixel or dot width in size].
>I have looked in standard graphics textbooks and find no mention of this [but
>I could have missed something or not understood what I was looking at].  Does
>anyone know of any references for this?  Are there any devices out there which
>make use of it [e.g. a monitor with a much higher resolution frame buffer than
>the tube and a filter to reduce the resolution before output to the tube]?

The theory is really quite simple.  Imagine an infinite resolution
image over which a low-pass filter is passed, with cutoff frequency
consistent with the Sampling Theorem.  Sample the sucker, and what do
you get?  A line of one pixel in width whose amplitude is attenuated
linearly as a function of the line width.  Note that this model also
accommodates sub-pixel positioning.

Unfortunately, such lines do not look quite as good as 1 pixel wide
lines because there are less quantized intensity values available to
interpolate with.  If the line gets real thin, you end up with a
Bresenham.

To do the computations in image space one could certainly use a
Bresenham line-drawer at a higher resolution and then decimate
(down-sample) the image, but I am am a proponent of object space
algorithms.  For references, theory, and algorithms, see:

Turkowski, Keneth
Anti-Aliasing through the use of Coordinate Transformations
ACM Transactions on Graphics, Vol. 1, No. 3, July 1982 pp. 215-234.

For thinner lines, you would just scale the line spread function.
Another reference is:

Gupta, S and Sproull, R
Filtering Edges for Gray-scale Displays
SIGGRAPH 1981 proceedings, vol. 15, no. 3, pp. 1-5.
-- 
Ken Turkowski @ Apple Computer, Inc., Cupertino, CA
UUCP: {mtxinu,sun,nsc,voder}!apple!turk
CSNET: turk@Apple.CSNET
ARPA: turk%Apple@csnet-relay.ARPA

jbm@aurora.UUCP (Jeffrey Mulligan) (06/12/87)

in article <347@esunix.UUCP>, nelson@esunix.UUCP (Scott Nelson) says:
> 
> in article <1713@ames.UUCP>, lamaster@pioneer.arpa (Hugh LaMaster) says:
>> 
>> I have heard that it is possible to represent lines of less than 1 pixel in
>> width with greyscale or color images using data filtered from a higher
>> resolution image or object.
> 
> 
> Most of what I have
> seen on anti-aliasing lines is actually misleading.  The usual
> methods in the top computer graphics books have roping on the lines
> which causes moire patterns when lots of lines are together and some
> temporal aliasing effects when lines are moved slowly.
>

These types of effects will occur when the color lookup table
is not set up correctly to produce linear intensity values on
the display (gamma correction).

> 
> I have personally seen lines moving by only 1/8 of a pixel on a
> PS 390 where the motion could be seen with the unaided eye.  On
> this machine, the higher effective resolution applies to line
> positioning but not to line width.
>

On an 8-bit per pixel display, you should be able to move a line
or point by 1/500 of a pixel.  (Calculate the displacement of
the centroid of the light distribution for these two pixel pairs:
(x1,y1,i1)=(0,0,255)	(x2,y2,i2)=(1,0,254)
and
(x1,y1,i1)=(0,0,254)	(x2,y2,i2)=(1,0,255)

At a viewing distance of 3-4 feet, a pixel will typically subtend
about 1 minute of arc of visual angle.  The smallest vernier
offsets and/or motions that can be seen by the human eye are
in the range of 3-5 arc seconds; certainly never less than
1 sec. (references upon request).  To fully appreciate how small
these numbers are, consider that the foveal cones (light collecting
receptor cells) have a diameter of 30 src seconds.  The point
here is that, depending upon viewing distance, 8 bits of gray levels
may not be necessary for effective anti-aliasing.

It is interesting that anti-aliasing techiniques must necessarily
INCREASE the width of lines.

To represent lines having a width
of less than one pixel, all you can do is reduce the contrast.
Try this:  with a one-pixel-wide line on the screen, increase
your viewing distance.  The line will appear thinner until
its apparent width is equal to the optical point spread function
of the eye.  Increasing the viewing distance further will reduce the
contrast of the line but not its width.  So just make sure that
you use a viewing distance such that the pixel size is less than
or equal to 30 minutes of arc (approx. point spread diameter).

>  To get lines with an actual
> effective line width of less than one pixel you will have to buy
> a CT-6. :-)
> 

I didn't get this joke :-(




-- 

	Jeff Mulligan (jbm@ames-aurora.arpa)
	NASA/Ames Research Ctr., Mail Stop 239-3, Moffet Field CA, 94035
	(415) 694-5150

ferwerda@batcomputer.UUCP (06/16/87)

In article <1713@ames.UUCP> lamaster@pioneer.arc.nasa.gov (Hugh LaMaster) writes:
>I have heard that it is possible to represent lines of less than 1 pixel in
>width with greyscale or color images using data filtered from a higher
>resolution image or object.  I have never seen either the algorithms or the
>theoretical basis for an algorithm.  [An example would be a representation,
>using a greyscale picture, of a line less than one pixel or dot width in size].
>I have looked in standard graphics textbooks and find no mention of this [but
>I could have missed something or not understood what I was looking at].  Does
>anyone know of any references for this?  Are there any devices out there which
>make use of it [e.g. a monitor with a much higher resolution frame buffer than
>the tube and a filter to reduce the resolution before output to the tube]?
>
>
I'm glad you asked.

Two classic papers on this topic are 

Crow, F.C. The Use of Grayscale for Improved Raster Display of Vectors and
Characters. Proc. SIGGRAPH 1978, 1-5.

and

Kajiya, J. and Ullner, M. Filtering High Quality Text for Display on
Raster Scan Devices. Proc. SIGGRAPH 1981, 7-15.

there's also a paper by

Leler, W.J. Human Vision Anti-Aliasing and the Cheap 4000 Line Display.
Proc. SIGGRAPH 1980, 303-318.

for an exhaustive review of this whole topic, with more theory than
you'd ever want, and with real empirical tests of its usefulness in
static and dynamic raster displays, you can also read my thesis

A Psychophysical Approach to the Aliasing Problem in Realistic Image
Synthesis. Cornell University, 1987. by (me) James A. Ferwerda

Happy Reading.

Jim Ferwerda
jaf@squid.tn.cornell.edu{.UUCP}