Andrew Kolakowski wrote:What do you loose when you process in YUV 32bit float space compared to RGB, when you start and end in YUV? Nothing and actually gain speed and accuracy.
it's in fect a quite complex question, and i'm not sure, if i'm really able to grasp it in all practical consequences. it's not more then a personal opinion or estimation, that i can express about it.
i think, the main draw back of all kinds of internal YUV representation (in the actual video world its mostly YCbCr) should be seen in the uncommon and often more complicated math necessary. the only benefit you get, are some more ore less neglectable advantages concerning rounding issues, but otherwise it's mainly a more abstract representation, which doesn't fit very well into common approaches of image processing.
in fact, YUV data is in most cases used for
display referred color information. that's a very bad starting point, even for quite simple creative image modifications. sure, the same will happen, if you take for example sRGB data and process it in a simple and unreflected way, without additional translation into linear space.
just take a look into this introductory article, to grasp, how important this is -- and how obvious the visual consequences may look, even for simple tasks, like blurring an image:
http://ninedegreesbelow.com/photography ... blend.htmlit wasn't always taken for granted, that we have to consider this more complicated issues of color handling in digital image processing. many simple applications still do it in a quite unsatisfying manner until now -- and for simple video processing it's commonly handled even worse!
-- that's why i consciously used the notion:
non-legacy software.
i really like applications, that work more careful in this respect. often this implies some consequent break with the past and legacy broadcast traditions.
it's not only a question of the mathematics used within the programs, it also effects adequate representation and measurement tools. (e.g. traditional vectorscopes aren't a very useful kind of feedback, if you work beyond the rec709 conventions. other ways of chromaticity diagrams are much more useful and desirable in this case.)
so i would finally state, that it isn't RGB or YUV representation, that makes the difference (because that's usually just a different 'projection' of quite the same data), but more a matter of the real
color science used while working with the affected images. in general, i would feel more alarmed in this respect, if applications try to work as close as possible to some given device referred color representation. this approach is usually quite counterproductive and insufficient, if you really want to get accurate color processing.