[ptx] simple nonlinear antialiasing that is good for pictures.

anderson314159 at netscape.net anderson314159 at netscape.net
Fri Sep 30 14:14:19 BST 2005


just re-subscribed to this excellent list,  so please fill me in if ive 
missed something on this subject.

i would like to suggest a simple algorithm to reduce aliasing in the 
panorama stitching process.

the stitcher transforms the input images through a nonlinear remapping 
transformation,  tipicaly taking the planar projection image that the 
camera produces, reducing barreling and remaping it onto another kind 
of  projection, cylindrical equirectangular or off axis planar.  many 
of the resulting remaping transformations involve a non-linear or 
non-uniform scaleing across the image.  this makes for a difficult 
situation sometimes in removing aliasing effects from the resulting 
images.



with the software you can use huge image resolution to avoid aliasing.  
(sometimes memory and disk io intensive)

i would like to bring up for discussion a simple alternative, to 
supersample randomly.

the input image taken by the camera is assumed to have no significant 
aliasing but possibly much higher resolution than the output image.  to 
subsample the cameras image would introduce aliasing.

for this discussion imagine the input image is positioned correctly in 
front of the eye point, as the eye would see the scene the camera saw.

consider a cilynder projection as an output image.  wrap a cilynder 
around the eye point with pixels of the output image to be centered on 
a regular spaced grid laid out on the cylinder.

the software does the following:

for every output pixel on the cilynder,
  shoot a ray from the eye through the output pixel center and
   sample the intersection with the cameras image to color that output 
pixel.

the resulting images are good if the output resolution is verry high,  
but if someone were to be trying to produce modest resolution panorama 
image rendering of a scene featuring say a white picket fence for 
example, it would be realy ugly!



a simple alternative to reduce the aliasing would be to supersample 
randomly:

for each and every output pixel on the cilynder,
   shoot a biradge of random rays from the eye tightly grouped around 
the output pixel center and
   sample all the intersections with the cameras image, use all the 
samples to color that output pixel.

this would reduce aliasing artifacts despite the nonuniform scaleing 
quality of the mapping.  this kind of process produces a nice looking 
image because any aliasing that results from under sampleing would be 
broken up by the randomness and not look like strong regular 
frequencies, which is a good quality for pictures.

this is exactly like antialiasing in ray tracing algorithms where a 
bunch of random rays are fired through each pixel.

the same considerations should apply like finding how many rays need to 
be shot for each pixel.

ray tracing algorithms use a statistical criterion to determine for 
each pixel when enough rays have been fired for that pixel.  moast 
pixels get only a few rays,  but pixels near edges get alot of rays.  
so these ray tracing algorithms are fairly fast.   there are papers on 
these algorithms.

i expect it wouldnt be to slow on a modern computer to do the panorama 
remaping this way, if it produced a good image.  mabe a "biradge" 
option.

juaquin









__________________________________________________________________
Look What The New Netscape.com Can Do!
Now you can preview dozens of stories and have the ones you select 
delivered to you without ever leaving the Top Home Page. And the new 
Tool Box gives you one click access to local Movie times, Maps, White 
Pages and more.  See for yourself at 
http://netcenter.netscape.com/netcenter/



More information about the ptx mailing list