Sorry for the delay... on vacation.
Quote:
Originally posted by Charles Black
Have you actually done a comparison between gamma corrected video and linear-light video scaling in a streaming system? |
Yes.
Quote:
If so what was the hardware you used? What would be the data rate of the linear-light stream. How much computing power is needed? How did you evaluate the results? |
Ordinary PCs. The other answers I either don't know or can't say.
Quote:
Do you know of any specific problems processing Y'CbCr where the result is bad and not fixable with careful coding? |
It's always bad working in Y'CbCr, because as mentioned before it's not a linear space. Any normal linear math you might want to do, like interpolation, completely fails because the final R, G, and B values are all dependent on more than one of Y', Cb, and Cr. Interpolated Y'CbCr values do not map to the same colors as the equivalent RGB values equivalently interpolated.
In R'G'B' it's a little better, but not much. Again, linear operations (like interpolation) produce incorrect results. The short version of the problem is that all edges get pulled toward black.
The "careful coding" solution is simple: convert to linear.
Quote:
Do you have an issue with 4:4:4 other than data rate? |
No, not at all. I meant to type "4:2:2." Chroma subsampling is not the free lunch people seem to think it is. However, it may be that it's a decent tradeoff, given the problems caused by overquantizing. If we didn't subsample the chroma channels, we'd have to quantize them more severely to get the same compression ratios, and that might look even worse.
Quote:
That's funny since you just recommended doing exactly that (Y'CbCr->R'G'B'->RGB...) in your best pipeline for scaling scenario. |
Not at all. I said you can't linearize Y'CbCr, and you can't. You can convert it to R'G'B', and then linearize that to RGB. Y', for example, cannot be converted directly to Y. You can convert Y'CbCr to R'G'B', then R'G'B' to RGB, and then calculate Y from that, but there is no simple calculation to get directly from Y' to Y. This is what Poynton is getting at when he says that luma (Y') isn't luminance (Y). Luma isn't even gamma-corrected luminance, which is why the abbreviation Y' is misleading.
Don