How does DSC affect image quality?

Advanced display talk, display hackers, advanced game programmers, scientists, display researchers, display manufacturers, vision researchers & Advanced Display Articles on Blur Busters. The masters on Blur Busters.
Post Reply
betonKruglosuTotchno
Posts: 8
Joined: 22 Feb 2023, 13:48

How does DSC affect image quality?

Post by betonKruglosuTotchno » 08 Jul 2023, 09:00

I was going to buy my first >60Hz LCD in my entire life and I stumbled upon the fact that even recent-ish 4k 144 Hz LCDs cannot function without stream compression (VESA DSC) even if HDMI2.1 is present.

What are the reasons to compress display output? Well, there's only one: cost saving. VESA decided to implement smallest common denominator of compression which can be used in cheap and low powered devices and expensive powerful solutions are expected to use multiple connections and DisplayID instead of compression. Instead, OEMs chose DSC to save costs.

What alternatives do OEMs have if they wanted to output dense uncompressed datastream?
a) Faster HDMI 2.1 and DP2.0 link speed.
b) VESA DisplayID allows to use more than one DisplayPort connection for a single panel and is supported by Radeon at least since HD7xxx series and Nvidia has been supporting it for a long time too.

Here's an article about it:
https://media.extron.com/public/downloa ... ngedid.pdf

And there are several examples of using that technology, most notable being LCD conversion kit engineered exclusively by a smart individual:
http://www.zisworks.com/making_of_x28x39.html
https://www.reddit.com/r/Monitors/comme ... n_also_do/
https://www.youtube.com/watch?v=rG_a7Qs2odc

Okay, but what if the monitor you want to buy uses VESA DSC? Let me tell you how to evaluate it's impact.

First of all, DSC is an open standard available from VESA directly for free.
https://vesa.org/vesa-display-compression-codecs/
https://app.box.com/s/vcocw3z73ta09txis ... 1133487793

Here's a presentation about it:
https://www.astrodesign.co.jp/astro_upd ... andDSC.pdf

It's also very convenient that VESA distributes a reference implementation written in C as a console program which simulates the compression and decompression. We will use it to study compression errors.


Fact sheet:
1) It supports all important image coding options: both RGB and YCbCr, chroma subsampling and any bit depth.
2) The compression ratio is almost steplessly adjustable.
3) Requires very simple computations.
4) Operates on very small buffer (one line of pixels at most) so it does not introduce any lag by itself.
5) For a 30 bit per pixel image the compression which yields best quality is 15 bit per pixel (50%). That's very weak compression compared to most modern image codecs, so even if the codec is weak it won't yield a lot of errors.
6) It's lossy compression. "Visually lossless" may be objectively true but it's a lie to say that it's lossless.
7) Compression yields stream with very consistent bitrate.

It's possible for GPU to select best possible compression quality to transmit image so that it fits link bandwidth.

Positive characteritics:
1) There are a lot of scenarios when best possible compression yields very few or no errors.
2) There is a mechanism named Index Color History which makes it possible to code generic display test patterns losslessly and code some fine grained grids very well.
3) Smooth gradients are preserved very well regardless of direction.
4) Compression errors concentrate around hard transitions and do have small magnitude compared to the transition itself.

Negative characteristics:
1) The standard prescribes no spacial or temporal dithering.
2) The compression algorythm does not use previous frame to improve compression quality.
These mean that it's literally impossible to exactly display even a still image with DSC enabled. Contrary to that all advanced video codecs improve still image quality if it lasts multiple frames.


VESA provides sample implementation in C code along with a windows executable which can be used to evaluate effect of compression on image quality. It's in folder named DSC_model_20210623W which also contains README and templates for common encoding scenarios. For example, rc_10bpc_6bpp_420 is for 10 bit per channel image chroma-sampled in 4:2:0 mode and which will be compressed to consume at most bits per pixel on average. The program DSC.exe will
- reencode each input image using the bit depth and chroma sampling provided by config
- save intermediate image to .out file
- encode them with DSC and spit out decompressed image which you can then compare with

I've attached a sample comparison which one can do in GIMP to better understand which details of image are affected. Notably, I verified that image artifacts described in this review:
https://www.rtings.com/monitor/reviews/ ... #test_4264
cannot be a result of DSC and are insted result of a LCD firmware bug.

There are two notable tweaks which might yield better image quality if you ever get bothered:
1) the GPU will always output uncompressed image if it fits the link. Lowering refresh rate or reducing blanking is the way to go.
2) YCbCr coding. If your monitor supports it you can choose it in control panel of your GPU (at least there's direct selection of YCbCr and bit depth in my Radeon panel). YCbCr uses available bandwidth much more efficiently than RGB coding.
Attachments
gaussian 50px 800 22px blur.ref.xcf.7z
(1.72 MiB) Downloaded 247 times

User avatar
Chief Blur Buster
Site Admin
Posts: 11653
Joined: 05 Dec 2013, 15:44
Location: Toronto / Hamilton, Ontario, Canada
Contact:

Re: How does DSC affect image quality?

Post by Chief Blur Buster » 11 Jul 2023, 03:25

This is a wealth of information for readers of Area 51. Thanks for sharing!
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter

Image
Forum Rules wrote:  1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
  2. Please report rule violations If you see a post that violates forum rules, then report the post.
  3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!

Post Reply