Server migration complete, Welcome to version 2.1.1



Welcome, Guest.
Please login or register.
Forgot your password?

+-Site Stats

Total Members: 15525
Latest: Guinner16
New This Month: 33
New This Week: 21
New Today: 4
Total Posts: 127343
Total Topics: 15630
Most Online Today: 135
Most Online Ever: 7634
(January 21, 2020, 02:14:03 AM)
Users Online
Members: 7
Guests: 57
Total: 64

Temporal dithering?

Started by theturtle32, November 07, 2021, 06:39:26 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


Hi there!

I'm wondering if any of the Falcon pixel controllers have support for built-in temporal dithering of 8-bit pixels to support gamma correction? Or if this is something in mind for future products or firmware upgrades?

There are a few projects out there that have implemented this to great effect -- it **drastically** improves the visual perception of 8-bit pixels -- but I haven't seen it be implemented in any of the mainstream pixel controllers available and accessible for the DIY Holiday Light community. At least not ones that act as a bridge for E1.31 or ArtNet. I've been wanting a pixel controller that implements this for years now, but have yet to see any come out with this feature.

I think the first project to popularize this technique with WS2811-based pixels was the FadeCandy controller.

Temporal dithering was also implemented in the popular open-source FastLED library for Arduino-based projects, which I have made use of myself for some smaller projects.

There was some discussion about implementing this back in 2013 by the creator of the Sandevices controllers, but he never ended up releasing a version of the firmware with that feature in it.

My experience with FastLED and how much better it makes 8-bit pixels look is why this has become my #1 sought-after feature. I used it with WS2812 pixels, but nowadays I almost exclusively use APA102C pixels (I have about 40 4-meter strips of APA102C pixels...) which have a drastically faster refresh rate and so are a perfect candidate for temporal dithering.

I did notice that Advatek has just announced that they have implemented this feature for their upcoming generation of pixel controllers targeted at professional installers (complete with UL certification, rack-mount or DIN-rail housing, and the dramatically higher price tags to match).

Since I'm a software engineer, one approach I'm considering for now is to write my own dithering implementation to consume E1.31, apply dithering and gamma correction, and then output a new E1.31 stream at, say, 2 or 4 times the original frame rate, and see how well that works. It's quite a bit of extra complexity for an installation, though. I'm also not sure what the frame rate limitations are of various controllers out there. I've been using Advatek PixLite 16 MK2 Long-Range controllers and exporting my sequences at about 100fps without any issues, but I might need to step down my framerate to add the dithering.

Another potential approach would be to write a program to read an .fseq file and transform it to a new one at double or 4x the frame rate with the dithering already baked in. Only downside there is that it doesn't help with having an accurate preview while designing sequences.

Support FPP

+- Recent Topics

What am I doing wrong? FPP I’m ZCCP? by rudybuddy
Today at 09:01:26 AM

FPP Playlist by dkulp
Today at 07:14:42 AM

Setting up LOR to serial of F16v3 and configure in xLights by brmeadows
Today at 05:46:42 AM

FPP not releasing control to WLED when idle by Poporacer
December 06, 2022, 10:39:18 PM

1 player/2 remote by Poporacer
December 06, 2022, 08:07:48 PM

K8-PB Network Issue by Kensington Graves
December 06, 2022, 07:40:50 PM

Failed V1.03 diff receiver boards by bud29
December 06, 2022, 07:13:38 PM

XLights Variant by Poporacer
December 06, 2022, 06:56:52 PM

FPP Oddness. Remote not remoting, schedule not scheduling??? by Poporacer
December 06, 2022, 06:27:33 PM

Text inverted by dreiman
December 06, 2022, 06:12:17 PM

Powered by EzPortal
Powered by SMFPacks Menu Editor Mod