Pixel accuracy and QC

laserpilot's picture

I know most of you brilliant people on here are extremely aware of and probably have wrestled with these issues in the past, but this was a fascinating learning process for me and I wanted to share my first trials with pixel accuracy.

I was tasked with helping with this bizarre LED video wall that has dozens of triangular panels and a strange mess of hexagonal pixel arrangements.

The signal path is: mac pro, to dvi scaler, to black box which has a precise pixel location for each pixel on the wall, and then that gets sent over cat5 to the wall.

The mac sends a 1280x1024 signal, but the wall only uses a small portion of this (something like 1060x660). On top of this..the physical position of screen pixels is slightly different from how they are mapped in the black box or on an actual computer screen..so things have to be slightly squished beforehand to fit on the wall..then they look normal when they're on the wall. Precise pixel control is desired..but this is a super difficult problem.

I was given a geometrically perfect illustrator file of the wall (sort of originally consulted when designing the wall)..and scaling things to a template that I knew was pretty close to the actual wall. I wasn't in front of the wall so I had to send test patches to someone who was with it. It took 5 different versions to make this illustrator file actual scale correctly on all parts of the wall..ie it looked correct in one area, but off by a few pixels in another. Obviously, I started to suspect something else was going on with the scaling in QC.

QC uses (I'm told) nearest neighbor interpolation so there is quite a bit of blurring/aliasing/interpolation going on at the pixel level. Dropped in a calibration image that Kyle McDonald cooked up for me and began to see all of the crazy moire patterns when scaling was used and understood much more about image scaling. I haven't had to worry about it too much in the past..but suddenly things were making sense. Scaling anything was going to introduce a ton of pixel level distortion. Makes sense..but these things don't always stick out at you when you're deep in a project, hah.

Other content was being designed with this geometrically perfect mask/overlay..but even in illustrator there was interpolation happening at the pixel level…photoshop is much better for true pixel accuracy. Unfortunately, there wasn't an option given to me to work within this truly pixel accurate world, so some kind of scaling must occur..and consequently some kind of distortion.

So what I learned is that there wasn't really a way to reconcile perfect geometry on this bizarre wall and perfect pixel accuracy...and what a glorious day it was...now I can tell them that they really shouldn't worry about a pixel being off by one or two because no one is going to see it from far away anyway.

The pictures are of the hugely scaled qc image, the original calibration image (each color line is an individual pixel..thats just zoomed in) and a scaled image in photoshop

PreviewAttachmentSize
pixelaccurate3.png
pixelaccurate3.png45.45 KB
pixelaccurate2.png
pixelaccurate2.png15.11 KB
pixelaccurate1.png
pixelaccurate1.png22.26 KB
horizontal.png
horizontal.png10.47 KB

vade's picture
Re: Pixel accuracy and QC

Search for how to enable nearest neighbor filtering in QC. Its easy, and ought to solve this.

Also ensure your billboard lands on pixel boundaries and not half pixel opengl units.

jersmi's picture
Re: Pixel accuracy and QC

Interesting story, interesting project. Where's the wall?

jersmi's picture
Re: Pixel accuracy and QC

vade wrote:
Also ensure your billboard lands on pixel boundaries and not half pixel opengl units.
Does this mean use the pixel aligned checkbox?

vade's picture
Re: Pixel accuracy and QC

Yes, however, if your billboard moves, depending on its size, you may notice 'snapping' in the motion, as its motion is essentially being quantized to pixel increments in QC units.

laserpilot's picture
Re: Pixel accuracy and QC

Thanks, Kyle had mentioned looking for how to enable nearest neighbor filtering...but i feel like it would still screw up exact pixel accuracy on the wall..especially when the original illustrator file isn't technically pixel accurate anyway...it's just kind of a waste of time to mess around with different options if i'm not sitting right next to the wall to debug

the wall is for a touring band..I guess I shouldn't mention who..but I'm just helping with technical backend, not actual content..vade probably knows since he knows lublin though

if I enable that type of filtering through a ci kernel, would I just have to do my resizing prior to the billboard? does a billboard/sprite automatically choose that scaling mode? (EDIT: oops..make sure to completely read AND comprehend previous posts before asking repetitive questions)