xvYCC / x.v.Color - Was genau ist dieser Farbraum?

  • Hallo,
    was genau ist dieser Farbraum? Ich weiß folgendes: Die Basis ist SRGB, die RGB-Werte sind mit diesem Profil assoziiert. Nun werden in allen normalen Videoformaten (und auch JPEG) keine RGB-Werte gespeichert, sondern YCrCb, ein RGB-Tripel wird mit einer Matrix in eine Helligkeitskomponente und zwei Farbkomponenten umgewandelt (lässt sich bessere komprimieren, ermöglicht Farbunterabtastung). Dafür sind zwei Matrizen verbreitet: 601 und 709, wobei die zweite für HD gedacht ist und die andere für SD (die neuere ist 709 und besser auf SRGB abgestimmt (=Helligkeitskomponente Y entspricht eher der "echten" Helligkeit)).
    Soweit haben wir nur normales SRGB, der Trick ist nun der, dass bei Videos aus historischen Gründen die Komponenten zwar mit 8 Bit gespeichert werden, aber bei Y nur der Bereich 16-235 genutzt wird und bei Cb/Cr nur 16-240 (die effektive Bittiefe liegt damit etwas unter 8 Bit, nicht der Farbraum wird kleiner!). Ohne die vorherigen Definitionen zu ändern erweitert nutzt man bei Cb/Cr nun auch einfach die Werte unter 16 und über 240.
    Das kann bei der simplen Matrix-Umrechnung zurück zu SRGB dann dazu führen dass ich negative Komponenten habe oder welche die über 255 liegen - bei 8 Bit, also Werte außerhalb des normalen SRGB Bereichs.


    Nun dazu meine Fragen:
    1.) Hab ich das soweit richtig verstanden?
    2.) Der genaue Farbumfang des Farbraumes hängt dann doch von der verwendeten Matrix ab (601/709)?
    3.) Wie groß ist dieser Farbraum nun im Vergleich zu z.B. AdobeRGB? Kann da jemand mal so einen tollen 3D-Plot machen wie bei den Monitortests?
    4.) Angeblich könnte wenn man xvYCC nutzt mit nur 8 Bit sich die Qualität verschlechtern bzw. Banding eintreten, ist damit nur die Konvertierung von/zu RGB gemeint oder die Codierung der YCbCr-Werte? Denn da werden ja quasi nur bisher verschwendete Bits genutzt, also sollte da die Nutzung von 8 Bit mit xvYCC doch kein Nachteil sein, nur wenn man den dann in einen RGB-Bereich von 0-256 stopfen will?
    5.) Kann man diesen xvYCC einfach in einen "normalen" Farbraum überführen, mit Werten von 0 bis 1 * 2^Bittiefe, sodass man damit in normalen Programmen arbeiten kann und dann davon mit einer speziellen Matrix in die SRGB-kompatiblen YCbCr-Werte umrechnet?


    Vielen Dank
    Stefan