Home

Awesome

Power of garamond window

In the research Finding the best methods for image scaling (https://github.com/garamond13/Finding-the-best-methods-for-image-scaling) I presented the garamond window.

w(x) = 1.0 - pow(abs(x) / R, n), where n is in the range (0.0, +inf] and R is the kernel radius
at n=1.0, w(x)=linear window
at n=2.0, w(x)=welch window
as n aproaches +inf, w(x)=box window

Here, I will present the power of garamond window with one extra free parameter (m).

w(x) = x < R : pow(1.0 - pow(abs(x) / R, n), m) : 0.0, where n and m are in the range [0.0, +inf] and R is the kernel radius
at m=1.0, w(x)=garamond window
at m=0.0, w(x)=box window
at n=1.0 m=1.0, w(x)=linear window
at n=2.0 m=1.0, w(x)=welch window
as n aproaches +inf and m<=1.0, w(x)=box window

Similarly to the generalized normal window (gnw) (https://ieeexplore.ieee.org/document/6638833) and the said window (https://www.hpl.hp.com/techreports/2007/HPL-2007-179.pdf), the power of garamond window can approximate other windows. In contrast to the gnw and the said window, approxiations can be scaled to any radius. Here, I will show the test results of approximating some windows using the same settings for all kernels (base=sinc, kernel-blur=1.0, kernel-radius=5.0, antiringing=0.0, light=gamma). The test image, 960x540 will be upscaled to 1920x1080. The table below shows mesured differences in psnr (dB) between a native window and its power of garamond approximation at some (n) and (m).

approximationpsnr
(lanczos) n=1.861 m=1.38457.843
(hann) n=1.942 m=2.27761.777
(cosine) n=1.906 m=1.10660.0923
(blackman a=0.16) n=1.879 m=3.36660.4385