Nearest neighbor scaling (sampling) - simple and vital
After Effects allows you to use Bicubic, bilinear, and nearest neighbor ("draft") for scaling. (Also known as "sampling" or "interpolation.")
Premiere should absolutely have the option for the Motion effect to use Nearest Neighbor. (It would still be bicubic by default, as it is now.)
This is very important for sprite art, screenshots, screen recordings, etc.
Here is a forum thread on the issue from 2012, where most people unfortunately don't even understand what the problem is:
NOTE: The TRANSFORM effect currently has the option for bilinear and bicubic. It would be good to add nearest neighbor here, but that should not be the ONLY place where it is available. The Transform effect still has severe issues with buggyness, instability, and choppy movement. Again, it is important that the MOTION effect has the option for Nearest Neighbor.
Currently, Premiere uses the Lanczos method for intrinsic scale and rotation. Lanczos is an exceptionally high-quality interpolation method which generally yields better results than bicubic, bilinear or nearest neighbor. From reading the forum post, it seems that up-scaling is the real issue here. I suggest looking at the Detail-Preserving Upscale effect in After Effects. It does a really good job and gives you some parameters to tweak to fit your specific content.
@TaranVH That is true and speeds up my workflow at least a little bit until this gets implemented *nudge nudge* ;)
@phil Yes, but if you use "Replace with after Effects composition," you don't even have to render it from AE and re-import to premiere... the whole thing gets rendered all at the same time at the end.
Yes, I wish Premiere could do Nearest Neighbor on its own, (thus this feature request) but dynamic linking to AE is the best solution for now. Certainly, better than rendering from Virtualdub!
@TaranVH I mean that I don't want to have to round-trip to a different software (even if it's from Adobe) for a feature as simple as manually picking an upscale algorithm. I wish it would work like time interpolation: Right click a clip and pick the algorithm, see the attached mock-up :)
What do you mean? You can use link to AE and use After Effect's draft mode - it's the same as Nearest Neighbor.
Just make sure you set it to quality: Current settings.
There's also sharp-billinear scaling, which can be great for sprite art.
you should definitely watch this whole video: https://www.youtube.com/watch?v=fKV1JFE0_Nk
I'd love to have a per-clip option for the scaling algorithm as I work a lot with retro-game footage in tiny resolutions whose sharp pixel edges I want to preserve. Currently, the only way of not having them blur together is to do the scaling in VirtualDub and render out a new file which is tedious and feels unnecessary.
Please make nearest neighbor / integral scaling an option!
Antoine (Autokroma.com) commented
Thanks for the info Taran. Is it slower because Effects cannot use the GPU inside PPro ?
Hmmm, it's possible that RedGiant's Instant4K "draft" might actually be nearest neighbor, but I don't know. I'll have to check it out sometime.
GPUresize sucks for Premiere. If you just want 200% or 300% nearest neighbor upscale, you have to calculate the exact Width and Height dimensions manually. And if it goes beyond the frame edges, the X and Y position is offset.
Also, there's an arbitrary limit (8192) to how far I can upscale using nearest neighbor. So there are 3 things wrong with this implementation.
It's also very slow to render, which it shouldn't be, as nearest neighbor is the most basic, least processor-intensive scaling method, when done properly.
Currently (Aug 2019) linking to an AE composition that uses "draft" mode is still the best/easiest method for getting nearest neighbor into Premiere.
Any thoughts on RedGiant's Instant4K vs. PPro's basic upscale? I think the 4K is a pinch better because you can adjust a few settings, but, it's a plugin and not processed by the gpu, so it adds time to an export. It's always something with this software. Any thoughts would be highly appreciated. I'm wondering if PPro is better, but there doesn't seem to be any tests or data on the issue other than 'salesman' pitches online. I wish there was a 3rd party test on those 2.
Jan-Stefan Janetzky commented
"which generally yields better results"
better is relative to what you want to scale
Antoine (Autokroma.com) commented
Couldn't you use GPU Resize https://aescripts.com/gpuresize/ ?
I've created a comparison of several up-scaling methods for you to look at. (all upscale comparisons.png)
As you can see, only Nearest Neighbor provides the desired result with sharp pixel edges - all other methods, including detail-preserving upscale, are blurry.
Here's a direct link to the sprite so that you can try it yourself:
Put this into a 1080p Premiere sequence and up-scale it to 3000%, and you will see the same blurry result.
(Note: If you open it in Photoshop and zoom in, it WILL retain its sharp pixel edges, because Photoshop's canvas (correctly) uses Nearest Neighbor for that.)
Thank you for reading and responding to this feature request, but, with all due respect, you don't understand what we're asking for.
Detail-Preserving Upscale does NOT solve the problem of preserving sharp pixel edges. I've created another comparison to prove it to you.
This is an extreme example, but the differences between Nearest Neighbor and Lanczos are still noticeable even at 200% and 300%. I can upload more comparisons if you would like.
I've also uploaded the original sprite so that you can try it yourself. On a 1080p timeline, scale link_sprite.gif to 4000% and you will see the same result.
I love taran I’d marry him commented
Additionally, a hybrid of Nearest Neighbor and Bilinear would also be very useful.
I made a video just to explain how it works:
And here's a screenshot that makes it very clear:
Sean McNally commented
Crazy that premiere doesn't have this. They should either implement nearest neighbor, or give the option to disable interpolation altogether!
This is a simple idea but really important for a lot of editors.
Apparently, there is a Premiere plugin that will do this. I haven't tried it yet, but I hear that although it has Nearest Neighbor, it is very slow to work. https://aescripts.com/gpuresize/
I'd still very strongly prefer to get this in vanilla Premiere.
That forum post hurt to read