The other day I was reading the HDMI spec. I realised, in almost full horror, it’s stupidly streaming pixels instead of image deltas. When every TV has memory enough for several full frame images, this is just crazy.
Rethink that. If HDMI were delta-compressed, then what happens if you exceed the bandwidth limit for several frames in a row? To be reliable, it needs to have as much bandwidth allocated as is needed for bitmap streaming. And in that case, why not just stream the bitmaps...
> what happens if you exceed the bandwidth limit for several frames in a row?
There's no way deltas would exceed deltas that are just full frames. If you can't send a full frame over the wire, then you are trying to push too many pixels and need to downsample on any of the 3 dimensions you have to play with.
The assumption that a target (or source) device has a buffer and encoding hardware capable of delta pixel encoding is would drive costs up to the point where HDMI would not be an accepted industry standard.
If you see any of popular video standards (both connectivity and formats like H.264) they avoid framebuffer and memory requirements like the plague.
Having said that, DSC exists and has been adopted by both HDMI and DisplayPort standards. But only on the highest end of capability because it costs a lot to implement on both sides.
> The assumption that a target (or source) device has a buffer
A full-frame 8K image with 32 bits per pixel takes up 128MB of RAM. An FHD one is 16 times less, 8MB. This is not a lot of memory for an appliance in 2002, when HDMI was introduced.
I've recently came to despise HDMI too. When I realized how many OFFICIAL standard revisions are there and how many fakes are on the market...
With DisplayPort you have one cable serving you for a DECADE of HW revisions, supporting all framerates and resolutions. With HDMI you have to buy a new cable for each upgrade and when, for example, HDMI 2.0 says "Supports 4K" it only means 60Hz, and you have to buy a "8K" cable to connect a 4K gaming display. Not to mention varieties of "ethernet-enabled", "ARC-capable" and other bullshit out there on the market. And some rare proprietary HDMI cables too! Not to mention some 2.1 cables are actually optical...
For a late '90s/early '00s digital spec, that doesn't strike me as terribly surprising. Especially since it was a replacement for analog signals. Also means way fewer components and much simpler firmware.
Sounds clever but it’s pointless because you have to guarantee that you have enough bandwidth for the worst case, in your scheme when every pixel is changing every frame, anyway.
Sure, but if you are not on the worst case (as in a desktop or anything where you don’t need every pixel changing on every frame) you can get higher spatial and temporal resolutions than you’d get from the dumb pipe as designed.
Rethink that. If HDMI were delta-compressed, then what happens if you exceed the bandwidth limit for several frames in a row? To be reliable, it needs to have as much bandwidth allocated as is needed for bitmap streaming. And in that case, why not just stream the bitmaps...