freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ft-devel] gamma correction demo images


From: Dave Arnold
Subject: Re: [ft-devel] gamma correction demo images
Date: Tue, 24 Nov 2015 16:17:49 -0800
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

On 11/23/2015 12:08 AM, Werner LEMBERG wrote:
I did some experimentation with my crazy patterns.  I firmly
believe now that simple box filter aka FT_LCD_FILTER_LIGHT is not
just good but in fact the best in reducing color fringes IFF used
with correct gamma.  All color-balanced filters with gamma
eliminate color fringes completely, but the box filter is obviously
the least blurry of them all.  So I reached the same conclusion as
this paper:
http://scien.stanford.edu/jfsite/Papers/ImageRendering/Displays/Xu_Farrell_Matskewich_Wandell_final.pdf
Interesting paper, although I know too little about the science
behind it to comment on how valid these results are on a wide range
of screens.  The paper itself states that numbers may vary
significantly between displays and viewing conditions.

Here's a comparison of the paper's filter to FT's light filter:
http://postimg.org/image/mxc6oa6mv/full/ (no stem darkening).  The
paper's filter appears slightly sharper or more contrasty on my
monitor but also slightly more colorful than FT's light filter.

Werner, Dave, what's your opinion on this?  I would like to change
the documentation of ftlcdfil.h to note that stem darkening is
better than filters going over 0x100 and update the filter
recommendation to the light filter for now.  Also, where does the
[a-c, a+c, 2a, a+c, a-c] formula come from?  Is the "[a b c b a]
where 2a+2b+c=1" formula newer?  I could include the paper's filter
in the documentation and sprinkle it with some source citations.

[1]: [a, b, c, b, a] where a = 0.0, b = 0.3, c = 1 - 2a - 2b = [0,
0.3, 0.4, 0.3, 0] =~ [0x00, 0x4D, 0x66, 0x4D, 0x00] with slight
rounding errors ;)
David, please help answering this – my knowledge is too limited
here :-)
The filter, [0x55, 0x56, 0x55] is close to color balanced, and is probably fine 
as a block filter.

It is true that the 5-wide filters (e.g., [0x8, 0x4D, 0x56, 0x4D, 0x8] that are color balanced are 
not quite as sharp. However, I found empirically they produce less color fringing on a slightly 
uncalibrated display. Since so many factors affect actual gamma (especially viewing angle on an 
LCD) we can't really count on an ideal gamma curve. The slightly "beveled" filter 
compared to the "block" filter trades off sharpness for color reduction. I think what 
happens is that the color error is distributed over a wider area and is less noticeable. 
Distributing the luminance over a wider area reduces the sharpness but the tradeoff seems 
beneficial for most people.

I also have not yet understood the linked paper, so I have no comments at this 
point.

-Dave



reply via email to

[Prev in Thread] Current Thread [Next in Thread]