Yeah, I was gonna say that. In 2D it's actually called bi-linear interpolation, because you interpolate on the X and Y axises. But the idea is basically the same.
Let's say we have 2 pixels: green and white. Or better said, we have 2x1 image with the values (0, 255, 0) and (255, 255, 255). Now, if would stretch that to 4 pixels, depending on the algorithm used, you will get a different result. Nearest neighbor will give you (0, 255, 0), (0, 255, 0), (255, 255, 255), (255, 255, 255) while lerp will give you (0, 255, 0), (85, 255, 85), (170, 255, 170), (255, 255, 255). Since the two pixels in between don't exist in the initial image, their values need to be calculated in a certain way. Nearest neighbor just takes a copy of the "nearest pixel" while lerp calculates the values as an average between the "extremes" (which are the original 2 pixels), depending on their distance from these extremes. So the second pixel will be a slightly brighter shade of green and the third a much brighter shade of green.
There are a few minor problems with bi-linear interpolation since you have to decide how to treat the image. Applying lerp to an image where you consider the "center of the pixel" as the reference point will yield difference results than if you consider the "top-left corner of the pixel" as reference point. And this also makes a lot of sense in terms of pixel data when working with floats. If you take the first pixel, its index is 0. The second one is 1. But logically you can still go to a coordinate like 1.99999999 which is virtually the top-right corner of the second pixel. I took this into account when writing my algorithm in XPA_Window which is why I keep suggesting you use it. xD I had to adjust the values and parameters for hours until I finally got it right. The trickiest part in this was to make sure that both upscaling and downscaling work properly since there seem to be logical differences in how you're supposed to treat the pixels. But once I actually got the algorithm right, the problem vanished by itself which also kinda confirmed that I finally did it right. xD