Server migration complete, Welcome to version 2.1.1



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

+-Site Stats

Total Members: 15655
Latest: _composite_
New This Month: 5
New This Week: 2
New Today: 2
Total Posts: 128412
Total Topics: 15789
Most Online Today: 35
Most Online Ever: 7634
(January 21, 2020, 02:14:03 AM)
Users Online
Members: 0
Guests: 18
Total: 18

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

Unable to update RPi 5.5 to latest version by tbone321
February 04, 2023, 08:51:43 PM

help getting started, next step? by Poporacer
February 04, 2023, 06:42:08 PM

Huidu Controllers LED matrix by CaptainMurdoch
February 04, 2023, 10:18:47 AM

FPP6.2 universes by darylc
February 03, 2023, 08:48:57 PM

F16v4 Ports vs Universe Configuration Question by k6ccc
February 03, 2023, 09:32:48 AM

Need Expert Advise on F16v4 Ports vs Universe Configuration by Kairus
February 03, 2023, 09:32:33 AM

Set Time/Date by darylc
February 02, 2023, 06:09:40 PM

We moved and are and selling everything (in Boise, ID) by
February 02, 2023, 02:14:59 PM

K8-PB No network on first run by rharrington76
February 02, 2023, 01:39:47 PM

Help How I use Orange Pi with FPP by tbone321
February 01, 2023, 02:41:58 PM

Powered by EzPortal
Powered by SMFPacks Menu Editor Mod