Czy format Canon * .CR2 / CRW zawiera dane „prawdziwie RAW”?

11

W swojej pracy mam do czynienia z surowymi obrazami * .CR2 wykonanymi lustrzanką Canon w trybie raw. Kiedy czytam o formacie tutaj , byłem zaskoczony, że ma 4 IFDs TIFF), które zawierają oryginalny rozmiar JPEG b) JPEG Miniatura c) dane nieskompresowany RGB d) Lossless JPEG.

Moje wrażenie do tej pory było takie, że każdy plik RAW zarejestrowany przez aparat miałby dane Bayera RAW, tj. R, Gr, B, Gb, a także niektóre dane EXIF ​​dotyczące ustawień przechwytywania z kamery itp.

Ale po przeczytaniu tej specyfikacji CR2 jestem nieco zdezorientowany, jak może mieć dane RGB, a nawet zaskakująco dane JPEG. Wydaje się, że są to dane po demozaikacji (uzyskanie brakujących danych pikseli R / G / B dla oryginalnego wzorca Bayera). W takim przypadku nie uważałbym * .CR2 za „prawdziwie surowe” dane. Dokonał demozaikacji przed zrzuceniem tak zwanego surowego pliku.

Czy coś brakuje?

Czy jakieś inne formaty Camera Raw (np. Nikon - * .NEF, Kodac - * .kdc, Pentax - * .ptx / pef, ...) zawierają prawdziwe nieprzetworzone dane Bayera bez żadnego przetwarzania?

złoty środek
źródło
2
Strona, do której prowadzi link, mówi, że zawiera wzorzec Bayera, więc tak, ma wzorzec Bayera.
Link do formatu jest zepsuty
Pedro77

Odpowiedzi:

11

Myślę, że zdecydowanie czegoś brakuje. Zastanów się: JPG służy do przechowywania (i zwykle kompresji, strat) obrazów. Dowolny obraz. Co to jest obraz? To świetny duży pakiet pikseli, gdy wszystko jest powiedziane i zrobione.

Sygnał wyjściowy z czujnika kamery jest również świetnym dużym pakietem pikseli. Zdarza się, że nie są pełnokolorowymi pikselami RGB, są to piksele monochromatyczne - to, czy jakikolwiek pojedynczy piksel reprezentuje RG lub B, zależy od jego położenia na znanym czujniku obrazu. Ale ich monochromatyczny, kolor podany według pozycji nie oznacza, że ​​nie można ich skutecznie przechowywać w sposób JPG. Pakiet pikseli to pakiet pikseli i po co wymyślać koło ponownie?

Przyjrzyj się dokładniej dokumentowi. „Więc z siatką BAYER RG / GB, parzyste wiersze przeplatały dane HuffCode / Diff dla ... RGRGRG ..., podczas gdy nieparzyste wiersze to ... GBGBGB ...". Tak więc, surowe dane wyjściowe Bayera są przechowywane w formacie JPG. Bezstratnie jest powiedziane (inaczej mielibyśmy problem!) I prawdopodobnie na głębokości większej niż 8 bitów. Zbyt często gotujesz to, aby uzyskać przydatne zdjęcie.

Pozostałe obrazy JPG są używane do podglądu w aparacie, histogramu itp. Warto je gotować raz na zawsze, gdy robione jest zdjęcie, zamiast robić to w locie za każdym razem, gdy chcesz na nie spojrzeć. Oznacza to również, że komputer może wyłapać je w celach miniatur po rozładowaniu aparatu do komputera.

*** Z jakiegoś powodu nie mogę dodać komentarza, więc oto tutaj: Goldenmean, co sprawia, że ​​myślisz, że istnieje problem z brakiem pełnych informacji RGB dla każdego piksela? Zakładając, że tworzysz format RAW i masz pomiar 128 z „czerwonej” komórki czujnika; możesz wybrać zapisanie tego jako 128.0,0 lub 128.188.108 lub, jeśli czujesz się mądry, 128, „dane z następnej komórki”, „dane z komórki później”, aby zaoszczędzić trochę miejsca. To naprawdę nie ma znaczenia. Zadaniem konwertera RAW jest śledzenie tego (chociaż jestem pewien, że programiści doceniliby to, gdybyś udokumentował, jak zdecydowałeś się przechowywać dane z czujnika) i zrobić z niego rzeczywisty obraz.

Staale S.
źródło
2
Format stratny JPG, który wszyscy znamy, najwyraźniej różni się od myląco nazwanego schematu „Lossless JPEG” stosowanego w tych surowych plikach.
Lyman Enders Knowles
2
@Lyman: Tak jest. Jest również używany na przykład w DNG, więcej: en.wikipedia.org/wiki/Lossless_JPEG
Guffa
Rozumiem - „wszystko jest pikselami”, a także „bezstratny kodek JPEG”, ale wciąż pozostaje pytanie, w jaki sposób może mieć 3 komponenty dla każdego piksela przechowywane w surowym formacie. Sensor nie daje trojaczki dla każdego fizycznego piksela, ale daje tylko jeden z 3 (R, G lub B), nie wszystkie 3, które formaty wydają się przechowywać dla eack piksela. To jest qn.
goldenmean
2

DNG zawiera bezstratną skalę szarości JPG o rozdzielczości 4 razy większej niż plik „jpg w kolorze ” normalnym . Czy teraz jest bardziej jasne?

Na czym polega problem z umieszczeniem 3 rodzajów czarnych piłek w koszyku, który ma pomieścić 3 kolorowe kulki ?

W pliku JPG nie ma kolorów, są tylko liczby, jak w każdym innym formacie pliku. I używają JPG, ponieważ łatwiej jest go zakodować w ten sposób, ponieważ procesor aparatu jest już stworzony do tworzenia takich plików.

Prawdopodobnie zapisaliby dane macierzy w formacie zip, rar, flac lub w innym bezstratnym formacie prawie w ten sam sposób. Wymagałoby to jednak szeregu algorytmów dodanych do oprogramowania kamery, które nie są potrzebne.

użytkownik 28170
źródło
Jestem zdezorientowany twoim wyjaśnieniem. link już nie działa, ale OP wskazuje, że istnieją pliki TIFF. Jeśli aparat może generować pliki TIFF, to dlaczego musi kodować surowe dane do JPG? Bezstratny JPG oznacza brak utraty danych podczas kompresji, ale to niekoniecznie oznacza, że ​​konwersja z surowych danych macierzy do JPG nie przekształca lub nie traci w jakiś sposób informacji, prawda?
MikeW