augment_me 3 hours ago

1) IMO pointless to put an emphasis on extreme decompression speed but not show numbers against JPEG even

2) BCx essentially does the same codebooking/paletting but more efficiently by allowing you to interpolate between two palette entries for an even larger compression

  • DoctorOetker 39 minutes ago

    1) it may seem pointless until you realize it may allow targeting platforms which can't decode JPEG real time under certain situation

zahlman 3 hours ago

This seems like straining the definition of "compression". We have a delta-coding filter and then palettization? That's it?

Edit: I should say, I find it surprising (but cool) that it apparently works so well. I would have expected errors to accumulate since the decoder has to un-delta-code. I saw mention of Floyd-Steinberg dithering and presumably that's what it's for; seems hard to get it working across multiple colour axes simultaneously, but the complexity is all in the encoder, so.

Retr0id 3 hours ago

Worth noting that something perf-optimized for RP2350 is almost certainly not going to be optimal on a modern desktop-class core (with deep pipelines and wide ILP/SIMD).

  • raphlinus 3 hours ago

    Absolutely. This is optimized for highly resource constrained devices, not modern machines. I can tweak the README if that's at all confusing.

wiml 3 hours ago

Fun. Vaguely reminiscent of the Amiga HAM video mode.

vardump 2 hours ago

This reminds me a bit of Amiga HAM. Similar horizontal fringing.

I guess you could also call Amiga's HAM graphics mode a compression method. Getting 12-bit (4096 colors) with just 6 input bits, with the original Amiga chipset, often called as "OCS".

Or later 262144 colors with 8 input bits, with the AGA chipset.

whitten 2 hours ago

I'm impressed. The imbalance between encoding and decoding speeds seems a useful strategy when you are building special purpose hardware and software applications. It seems if you're making a central source of data that is able to tolerate a much slower write process versus a quick read process that this approach can be advantageous. Maybe using this core method in a problem space which maps to the radio/signal broadcast process of many receivers but a central source of truth. I can imagine if you had an information base that changed slowly or which was pre-processed in a batch fashion, that it could use this method. It doesn't even need for the central data to be decoded into a graphical image.

I think this radio model could map the problem space for a centralized system that maintained a list of items and their prices which needed to be broadcast to the retail outlets on a regular basis.

Or a common cache storage to make some complex data manipulation calculations centrally performed available to a large number of satellites who just need the end results but do not have the need to do local calculation.

  • whitten 14 minutes ago

    I'm trying to learn why I have been downvoted. Please reply or send me a private message so I can learn.

  • gnabgib 7 minutes ago

    There are no private messages on HN. This, and your comments in the last 3 months look (AI) generated, which is prohibited in the guidelines[0] but also loathed by the community. Can only speculate, though.

    https://news.ycombinator.com/newsguidelines.html