Super interesting article! Have you tested jittering the "amount-of-shift" with each filter pass? Perhaps it only converges with fixed successive offsets (or even just half-pixel offsets)...
-
-
-
If jittering, make sure and try a good 2d low discrepancy sequence, or 2d blue noise.
End of conversation
New conversation -
-
-
I believe the property of your filter that is preventing the ringing artifacts could be linear phase. I plugged your examples in here, and yours seems to be the only one with the property. https://sooeet.com/math/online-fft-calculator.php …
-
i think youre onto something. intuitively, non linear phase means that effectively different frequency components are actually scrolling by different amounts!
- Show replies
New conversation -
-
-
Great article! Can't wait for some serious power-math experts to chime in and find the "best" solution! Following in anticipation of part 2!
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
My thinking is that an ideal filter here would be the square root of an NxN matrix M = {{0, 1, 0, 0}, {0, 0, 1, 0}, {0, 0, 0, 1}, {1, 0, 0, 0}} that is an identity matrix shifted over by 1. Non-integer matrix powers can be computed by diagonalizing/finding the eigenvectors.
-
E.g. for a 7-pixel image, sqrt(M) = {{0.641994, 0.641994, -0.229125, 0.158559, -0.142857, 0.158559, -0.229125}, ...}, where each successive row is the previous rotated to the right. Two successive applications of this kernel should produce the *exact* original image shifted 1 px
- Show replies
New conversation -
-
-
typos: "windowed sync", "mathmetical"
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
re: testing, you could diff every second frame and see when the difference goes down to zero, that would show whether your hypothesis of convergence is true. I also wonder if the pixel format matters re: convergence. Are these r8g8b8 buffers or 32-bit float ones?
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
If you want to apply a filter a gazillion times you can multiply it by itself, creating a filter that is equivalent to two applications, then repeat the process to make 4x, 8x etc. filters.
-
But you end up with lots of taps.
- Show replies
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.