Charles Poynton, a color and video engineering expert, publishes FAQs and papers on gamma, color, luminance, and video formats.
Commenters call his Color FAQ excellent and his books the clearest introduction to color science and gamma, though the site looks very 90s.
> You're going to have a hard time calibrating that without a whole bunch of patches with known reflectance/transmission profiles
If you care about accurate color, you do use a card with "whole bunch of patches" of different colors. For example, these British Library guidelines on photographing and scanning archival material say:
"An industry-approved colour chart or greyscale reference card is essential in
order to check the accuracy of the colour captured in the photographs. This is
a physical card that is available to purchase on the internet. It cannot be
downloaded from the internet and printed, or inserted into your image using
software. Approved colour checkers that have been used in EAP projects
include: Gretag Macbeth ColorChecker, QP cards, Kodak Color Control Q13
card, Past Horizons Bookmark Photo Scale."
(https://eap.bl.uk/sites/default/files/Guidelines%20for%20photographing%20and%20scanning%20archival%20material%20%202017.pdf)
ColorChecker (“Macbeth”) Chart: https://poynton.ca/notes/color/GretagMacbeth-ColorChecker.html
QP cards: https://www.argraph.com/QP202.html
Kodak Q13: https://www.kodak.com/en/motion/page/color-separation-guides-and-gray-scales
Bookmark photo scale: https://www.pasthorizonstools.com/Photo_scale_bookmark_p/bookscale.htm
The
{Gamma,Color}FAQ pair[1] are the traditional entries in that category, although my own experience implementing colorspace transformations is that they may be making the subject appear more complicated than it needs to be.
At the same time, I’m not sure if the “falsehoods” path is the simplest here, or if an explanatory “what is” approach would be better. There’s no end to mistaken things people get confused into believing, but the fundamentals of emissive colour are just not that hard—a (mostly) linear system can only be so complicated. In that respect I think I found the introductory part of the Matplotlib colormap talk[2] to be the most helpful source on the basics.
(There are difficult things about color, of course. But perceptual similarity does not in my opinion count as part of the fundamentals. And while the science of paint and light-matter interaction in general is basically endless, unless you’re doing print design or photorealistic rendering it’s probably not an immediate concern for you.)
[1] https://poynton.ca/notes/colour_and_gamma/
[2] https://bids.github.io/colormap/
I have actually seen a lot of different explanations why the sRGB EOTF has a linear part, and can come up with a few more theories myself. In the Poynton FAQ, it says it "minimizes the effect of sensor noise in practical cameras and scanners". Wikipedia says "The purpose of the linear section is so the curve does not have an infinite slope at zero, which could cause numerical problems." Poynton's book Digital Video and HD: Algorithms and Interfaces talks about "veiling glare" and then says that the sRGB function almost perfectly inverts L* from the CIELAB color space (a pure 2.2 gamma would not do so). His thesis[1] goes into more detail.
One possible theory why there's a linear term is so that negative values are well-defined. In consumer HDMI, reference black is 10 (as opposed to 0 in sRGB), and reference white is 235 (as opposed to 255 in sRGB).
Since there no doubt be experts here, I'd love to see an authoritative answer. (I'm considering writing an explanation of sRGB and if so would really like to get this right)
[1]: http://poynton.ca/PDFs/Poynton-2018-PhD.pdf
Check out Andrew Glassner’s Principles of Digital Image Synthesis, it starts with an overview of color.
http://www.realtimerendering.com/Principles_of_Digital_Image_Synthesis_v1.0.1.pdf
Also these days there may be better and more focused resources online if you know where to look.
http://poynton.ca/notes/colour_and_gamma/ColorFAQ.html
http://www.cvrl.org/
https://www.handprint.com/HP/WCL/color2.html (https://www.handprint.com/CE/book.html)
https://www.realtimerendering.com/
http://paulbourke.net/miscellaneous/colourspace/ (Old but still useful)
The original compositing paper (which didn’t address issues of perception or non-linearity): https://keithp.com/~keithp/porterduff/p253-porter.pdf
> For 8-bit, 16 maps to 7.5IRE which is the well understood legal black. Mapping 235 means they mapped peak to 110IRE.
Generally no -- in an 8-bit NTSC-M Rec. 601 system, 16 maps to E'Y = 0 at 7.5 IRE, and 235 maps to E'Y = 1 at 100 IRE. See https://www.poynton.ca/pdf/Poynton-1996-TechIntrDigiVide.pdf
The "16" digital black level is independent of the "7.5 IRE" analog setup. E.g. in Japan with an 8-bit "NTSC-J" Rec. 601 system, my understanding is that 16 still maps to E'Y = 0 which is now at 0 IRE, and 235 is still E'Y = 1 at 100 IRE.
The big takeaway here is that you should never perform brightness arithmetic on sRGB. You need to remove gamma to make brightness linear, do your math, then re-apply gamma.
The full correct formula is:
https://stackoverflow.com/a/13558570
Interestingly gamma correction also includes a linear component. For more info on why:
https://poynton.ca/notes/colour_and_gamma/GammaFAQ.html#gamma_correction