The trouble is that the fact we are scaling 1.5 in both the ‘x’ and ‘y’ axes you are taking 4 input pixels and going over a 9 pixel area:
o a o
b o c
o d o
Where {a,b,c,d} is the input and o is an artificial output of the upscaler.
My gut instinct says that the above arrangement is optimal for a 3x3 grid, as any other pixel arrangement will result in some pixels having only 1 neighbour.
The problem would come with how the neighbouring ‘3x3’ pixels are generated:
o a1 o o a2 o ...
b1 o c1 b2 o c2 ...
o d1 o o d2 o ...
o a3 o o a4 o ...
b3 o c3 b4 o c4 ...
o d3 o o d4 o ...
Results in repeated 2x2 blocks of 'o’s which means that there is only the information from 2 neighbouring pixels (partial information ‘might’ be gatherable from diagonal neighbours but those pixels are further away.
The question then becomes whether it is worth ‘sliding’ some elements to change the 2x2 block into the awkward tetris shape? My gut instinct is that such a change would reduce maximal sub pixel distance from a source pixel:
o a1 o o d4 o
b1 o c1 o a2 o
o d1 o b2 o c2
o a3 o o d2 o
b3 o c3 o a4 o
o d3 o b4 o c4
Where the ‘2nd’ 3x3 column has be shifted down 1 panel pixel (and ‘d4’ is used simply to demonstrate this slide, not intended to actually take that pixel value). I’m unsure whether the 3rd such column should either shift down again (keeping a constant awkward tetris shape), or shift back up (causing alternate awkward tetris shapes). My gut instinct here is that an alternating pattern will repeat every 6 pixels, whereas the constant downshift will repeat every 9 pixels, so constant downshift may result in a less discernible pattern.
Note that a ‘shifted’ pattern returns a greater value if you:
- Generate a spreadsheet with 0 for the 'o’s and 1 for the {a,b,c,d}. for 12x12 grid
- Below the spreadsheet and starting in the middle create a 6x6 grid with all cells having a formula such that =Max(sum(cells adjacent),4*cell) which would return either:
a) 4 if the cell is an input pixel, so is fixed.
b) 4 if the cell has information on all neighbours so has as much information as possible for the scaler to assign a value.
c) 0-3 depending on how many input neighbours the pixel has if it has fewer than all neighbours.
- Sum this formula over all the possible pixels in the arrangement.
This is because in the slid arrangement, the same number of cells return 4, but some of the cells that would return 2 now return 3 (but not all).
None of the above applies if the pixels aren’t arranged in a ‘square’ grid manner.