Dateien im YCbCr-Format?

Gast #3386781
Lesenswert?

Hallo
ich schreibe gerade für eine Kamera eine Konvertierung
von YCbCr nach RGB24. Es gibt jetzt noch ein paar Probleme, weswegen ich
gerne ein paar Testdaten hätte, mit denen ich meine Software testen 
kann.
Kennt jemand z.B. ein Bildformat, in dem die Pixel als YCbCr gespeichert 
sind,
und man einfachen Zugriff drauf hat, also keine 
(De-)kompressionsverfahren etc. nötig sind.
Oder kennt jemand Alternativen, evtl. mit Hilfe von Scilab ?

Vielen Dank für alle Tipps
Gast #3391583
Lesenswert?

Hallo,

ich versuche es mit Scilab. Ist für mich nur ein Freizeit-Projekt, 
deshalb die späte Meldung.
Mit der Matrix
M = [1  0      1.402;
     1 -0.344 -0.714;
     1  1.772  0];

sollte dann die Umrechnung von YCbCr auf RGB funktionieren, lt div 
Quellen.
Vielleicht nochwas: Kann ich mich darauf verlassen, dass Y in [16 219] 
und
Cb,Cr in [0 224] liegen, oder ist das Kamerahersteller-abhängig.

Gruß
xy
Persönliche Seite #3391976
Lesenswert?

xy schrieb:
> Hallo,
>
> ich versuche es mit Scilab. Ist für mich nur ein Freizeit-Projekt,
> deshalb die späte Meldung.
> Mit der Matrix
> M = [1  0      1.402;
>      1 -0.344 -0.714;
>      1  1.772  0];
>
> sollte dann die Umrechnung von YCbCr auf RGB funktionieren, lt div
> Quellen.

Was sind denn das fuer Quellen? Ich habe in Wikipedia folgende Matrix 
gefunden:
[0.299 0.587 0.114; -0.168736 -0.331264 0.5; 0.5 -0.418688 -0.081312];

Dazu muss man bei Cb und Cr noch 128 draufaddieren

> Vielleicht nochwas: Kann ich mich darauf verlassen, dass Y in [16 219]
> und
> Cb,Cr in [0 224] liegen, oder ist das Kamerahersteller-abhängig.

Ist wohl eher Kamerahersteller-abhaengig. Moeglich sind jeweils 8-bit 
Werte soweit ich bis jetzt gesehen habe.

Gruss Christoph
Gast #3394046
Lesenswert?

>8 Bits
Es gibt auch Kameras mit mehr Bits.

>128 addieren
Sind die Daten wirklich offset-beaufschlagt?
Dann dürfte das mit den 224 nicht stimmen, oder?

> Kann ich mich darauf verlassen, dass Y in [16 219]
Woher kommt das? Ich meine die Werte gehen bis 232 oder 233.
Gfs war das aber ein anderes Format.
Persönliche Seite #3394189
Lesenswert?

Carsten schrieb:
>>128 addieren
> Sind die Daten wirklich offset-beaufschlagt?
> Dann dürfte das mit den 224 nicht stimmen, oder?

Ich beziehe mich auf Wikipedia:
http://de.wikipedia.org/wiki/Jpeg#Farbraumumrechnung

>> Kann ich mich darauf verlassen, dass Y in [16 219]
> Woher kommt das? Ich meine die Werte gehen bis 232 oder 233.
> Gfs war das aber ein anderes Format.

Y ist die Helligkeit, wieso sollte man wenn sowieso 8 bit benoetigt 
werden die nicht ausnutzen und die Helligkeit in 256 Stufen angeben?

Gruss
#3394220
Lesenswert?

Werte unter dec16 werden im Broadcastbereich als "Subblack" bezeichnet 
und für diverse Effekverfahre, wie z.B, das Keying benötigt. Bei den 
üblichen 10bit in diesem Bereich fällt das auch nicht weiter ins 
Gewicht.

Von dort hat es sich dann auch in Consumergeräte und -schnittstellen 
geschlichen. Deshalb sind HDMI und DVI z.B. zwar elektrisch 
weitestgehend kompatibel der Signalsenke muss aber mitgeteilt werden, ob 
pures schwarz durch dec0 oder dec16 repräsentiert wird. (nennt sich 
häufig movie- oder cinema mode...)
Gast #3396360
Lesenswert?

>Was sind denn das fuer Quellen? Ich habe in Wikipedia folgende Matrix
>gefunden:
>[0.299 0.587 0.114; -0.168736 -0.331264 0.5; 0.5 -0.418688 -0.081312];

>Dazu muss man bei Cb und Cr noch 128 draufaddieren

Sorry, hatte da einen Gedankensprung drin, den ich nicht erwähnt habe. 
Meine Matrix berechnet RGB, deine berechnet YCbCr.
Habe ich aus
http://de.wikipedia.org/wiki/JPEG

Zu den nicht ausgenutzten Y,Cb,Cr Wertebereichen:

Steht so in
http://www.itwissen.info/definition/lexikon/luminance-chrominance-blue-chrominace-red-YCbCr-YCbCr-Farbmodell.html

und da in der Berechnung der Linux-API  unter
http://linuxtv.org/downloads/v4l-dvb-apis/colorspaces.html
auch solche Berechnungen drin sind, habe ich das mal als gegeben 
angenommen.

Naja, ich muss nochmal dran rumbasteln bevor ich mehr sagen kann.

Gruß

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren