Better and faster image resizing and resampling

Nicolas Robidoux, John Cupitt, Chantal Racette, Anthony Thyssen, Adam Turcotte, Frederick (Fred) Weinhaus
https://www.ohloh.net/accounts/NicolasRobidoux

Play (32min)

Download: MP4 | MP3

Regular talk in the form of a series of linked lightning talks. We would of course like some time for questions. Could eat up a one hour block with 5 min Q&A after each 5 min talk? (This would mesh better with RiverTV than having all the questions at the end? We’d love feedback and discussion: Much of this is work in progress.

* Jinc-windowed Jinc clamped Elliptical Weighted Averaging: A superior alternative to Lanczos Sinc-windowed Sinc filtering

Several improvements to Heckbert’s EWA method have produced a filter with the desirable features of the classical Lanczos filters. The method, suitable for demand-driven systems (GEGL, VIPS…) will be described, its strenghts and weaknesses stated, and comparative results involving image enlargement and reduction, computed with the ImageMagick implementation, will be shown. (Presenter: NR. Authors: NR, ATh, FW and CR.)

* High quality automated JPEG thumbnail and reduced image production with adaptive prefiltering

JPEG is still the format of choice for the electronic transmission of small and full size versions of natural images. At low quality levels, however, its block and ringing artifacts reduce its edge over JPEG2000 and dithered PNG8. These artifacts can be reduced by increasing the strength the lowpass filter used to reduce the size of the image. ImageMagick examples, illustrating these and other ways of maximizing bang for the buck, will be discussed. (Presenter: NR. Authors: NR and FW.)

* Nohalo subdivision with Locally Bounded Bicubic finish: A halo free upsampling method

LBB-Nohalo is a novel halo-free resampling method which can be roughtly described as an adaptive blend of Hermite and Catmull-Rom interpolation. The method, suitable for demand-driven systems, will be described, its strenghts and weaknesses stated, and comparative results involving image enlargement, computed with the VIPS implementation, will be shown. (Presenter: NR. Authors: NR, CR, JC and ATu.)

* Jacobian adaptivity: How to smoothly blend a resampling method tuned for upsampling with one tuned for downsampling

Suppose that you have a favorite sampler tuned for upsampling, and a favorite sampler tuned for downsampling. How do you “”blend”” them so that the “”right”” one is used, yet without “”switching”” artifacts when warping goes from up- to downsampling within an image (as can happen when performing a perspective transformation) or in different directions at a single point (like when resizing by making the width smaller but the hight larger)? Answer: Blend depending to the singular values of the Jacobian of the transformation at the point under consideration. Details will be provided, and GEGL results hopefully shown (still coding! the machinery is built into GEGL but no high quality sampler currently uses it). (Presenter: ATu. Authors: NR, ATu, CR and others.)

* The hacker’s guide to the computation of common resampling filters and related geometrical quantities

Several simple but little known formulaic simplifications for common filters (bilinear, Catmull-Rom, Blackman, …) leading to speedups will be presented. Most have already been implemented in ImageMagick and VIPS. In some cases, calling them directly is faster (and more accurate) than using Look Up Tables. Another example of simplification: Highly efficient trig.-free computation of the smallest ellipse containing both the image of a disk by an linear tranformation and the disk itself, and computation of the containing parallelogram with horizontal top and bottom sides. (Presenters: NR and CR. Authors: NR, JC, ATh and CR.)

* Highly accurate polynomial approximation of windowed-Sinc and windowed-Jinc filter kernels

The Boost C++ minimax package can be used to produce fast and highly accurate polynomial approximations of non-polynomial filter kernels. Examples involving both the Sine and Bessel versions of Lanczos 2 and Lanczos 3 will be given. Similar approximations are used by ImageMagick. (Presenter: CR. Authors: NR, CR and ATh.)