PDA

Zobacz pełną wersję : Kompresja NEFa w D50



Majster7
06-11-2006, 10:10
Witam wszystkich.
Mam pytanie i prośbę do bardziej doświadczonych fotografików.
Posiadałem wcześniej kilka modeli Finepix (5000, 5500, 5600 potem 9500). Pliki RAW z tych aparatów zajmowały mi 20-25MB na karcie. W swoim D50 plik NEF ma około 5MB. Doczytałem, że jest to NEF skompresowany.
Czy ktoś może mi wyjaśnić o co tu chodzi? Dlaczego kompresować aż tak NEFa, czy przy tym procesie nie ma strat danych o obrazie.

Z góry dziękuję za odpowiedź, pozdrawiam serdecznie.

stig
06-11-2006, 10:51
Posiadałem wcześniej kilka modeli Finepix (5000, 5500, 5600 potem 9500). Pliki RAW z tych aparatów zajmowały mi 20-25MB na karcie. Conajmniej dziwne, bo niekompresowany NEF z D200 wazy raptem 15 MB.



W swoim D50 plik NEF ma około 5MB. Doczytałem, że jest to NEF skompresowany.
Czy ktoś może mi wyjaśnić o co tu chodzi? Dlaczego kompresować aż tak NEFa, czy przy tym procesie nie ma strat danych o obrazie.
NEF kompresowany, to NEF poddany kompresji :D Oznacza to kompresje stratna.
Kiedy kupilem D200 (ktory ma mozliwosc zapisu zarowno do NEFa kompresowanego jak i niekompresowanego), zrobilem sobie kilka zdjec testowych z i bez kompresji. Powiem tak: mimo mojego "kota" na punkcie jakosci nie moglem sie doszukac jakis konkretnych roznic. A jesli juz cos takiego bylo, to naprawde nie ma zadnego znaczenia, zeby z tego powodu produkowac 2x wieksze pliki.

Majster7
06-11-2006, 11:29
Dzięki Wielkie Stig. Będę już spał spokojnie ;-)))

dzidch
06-11-2006, 11:43
Majster nie wiem skad wziales takie Rafy z fuji jedynie raf z S3pro i to w wersji wide waży 25 mb pozostalem takie jak np S7000 maja około 12 mb :)

hicks
06-11-2006, 11:52
s7000 ma 6Mpx a s9600 9Mpx wiec 18MB spokojnie moze wyjsc, ale 25 to troche jednak za duzo

Majster7
06-11-2006, 14:10
...nie pamiętałem dokładnie wielkości otrzymywanego pliku z FinePixa. Napisałem 20-25, bo tak mi się wydawało, że są dosyć spore. Nawet te 18MB w porównaniu do 5-ciu z D50 to niezła różnica. Wydawał mi się tylko trochę dziwny fakt kompresowania danych w NEF, gdy wszyscy trąbią, że to bezstratny format.
Ale dzięki uprzejmości Stiga wszystko mi się wyjaśniło :)

hicks
06-11-2006, 14:21
ja wlasnie jako zalete d50 postrzegam wlasnie male rozmiary nefow - a dodajac do tego ze z tego na szybko mozna wyciagnac jpga, to cud, miod, malina wszystko teraz robie w nefie - do pamiatkowych fotek do albumu 10x15 wyciagam jpgi previewextractorem i ewentualnie delikatnie obrabiam w picasie, a jak chce robic wieksza oditke to obrabiam nef

freefly
06-11-2006, 17:56
Conajmniej dziwne, bo niekompresowany NEF z D200 wazy raptem 15 MB.



NEF kompresowany, to NEF poddany kompresji :D Oznacza to kompresje stratna.
Kiedy kupilem D200 (ktory ma mozliwosc zapisu zarowno do NEFa kompresowanego jak i niekompresowanego), zrobilem sobie kilka zdjec testowych z i bez kompresji. Powiem tak: mimo mojego "kota" na punkcie jakosci nie moglem sie doszukac jakis konkretnych roznic. A jesli juz cos takiego bylo, to naprawde nie ma zadnego znaczenia, zeby z tego powodu produkowac 2x wieksze pliki.

Kompresji NEF nie można porównywać do kompresji JPG. Kompresja NEF to raczej spakowanie pliku (kompresja bezstratna), tak jak w przypadku ZIP, dzięki któremu można plik poddać dekompresji ( rozpakować) i odzyskać identyczną postać pierwotną.

Erie
06-11-2006, 18:08
Niestety Freefly mylisz się - też tak kiedyś uważałem. Ale jednak jest to stratna kompresja - tak naprawdę to mimo iż przetwornik jest 12bit to zapisywane jest trochę mniej - traci się choćby w obszarach świateł. Kiedyś nawet chyba Ken pisał o tym, albo Fred i Miranda - nie pamiętam dokładnie, ale znajdę to w wolnym czasie.

w międzyczasie
http://www.cambridgeincolour.com/tutorials/RAW-file-format.htm
http://forums.dpreview.com/forums/read.asp?forum=1021&message=17260793

spiritchaser
06-11-2006, 18:26
Kompresja NEF w D50 zachodzi z grubsza w poniższy sposób (nie wdając się w zbytnie szczegóły):

Każdy kodowany 12-bitowo punkt może przyjmować 2^12=4096 poziomów od 0 (minimum) do 4095 (maximum).
NIKON przyjął następujący algorytm kompresji:
- wartości od 0 do 215 nie są zmieniane, zapisywane są w takiej postaci jak w nieskompresowanym zapisie NEF,
- wartości od 216 do 4095 zostały podzielone na 653 grupy w sposób nieliniowy, tzn. grupy "ciemniejsze" zawierają mniej wartości niż grupy "jaśniejsze".
W ten sposób zapis przyjmuje tylko 216 + 653 = 869 wartości zamiast 4096.
Następnie te 869 poziomów jest poddawanych kompresji bezstratnej typu RLE, dającej w efekcie zapis, który potrzebuje średnio 6 zamiast 12 bitów do zapisania każdego piksela.

Dekompresja następuje z uwzględnieniem porównywania sąsiednich pikseli, żeby możliwie wiernie odtworzyć utraconą na skutek "grupowania" informację i zapenić jak najpłynniejsze przejścia tonalne.

Erie
06-11-2006, 18:43
Spirit, pewnie masz rację bo zgadza się to z tym co pamiętam z tamtego artykułu.

Pozdrawiam
Erie

stig
06-11-2006, 18:44
Kompresji NEF nie można porównywać do kompresji JPG. Kompresja NEF to raczej spakowanie pliku (kompresja bezstratna), tak jak w przypadku ZIP, dzięki któremu można plik poddać dekompresji ( rozpakować) i odzyskać identyczną postać pierwotną. Tak? To wytlumacz mi:
-- po co w ogole w takim razie istniala by mozliwosc zapisywania NEFa niekompresowanego? Zeby wiecej na karcie zajmowal? :D
Kompresja pliku (czyli to, o czym piszesz) -- wystepuje takze w NEFie rzekomo niekompresowanym. Gdyby tak nie bylo, to taki plik z D200 wazylby 28 MB a nie 15.
NEF kompresowany, to NEF z kompresja stratna. Byla juz wilokrotnie o tym mowa wczesniej.

JK
07-11-2006, 10:46
stig, przecież w NEFie zapisane są stany wszystkich 10 milionów (z jakimś ułamkiem na końcu) sensorów, z których każdy jest 12 bitowy, a nie 10 milionów pikseli RGB. Razem daje to 10 x 12, czyli 120 milionów bitów, czyli 15 milionów bajtów. W rzeczywistości jest nieco więcej, bo matryca ma 10,2 milionów sensorów, dochodzą nagłówki, profile, ustawienia obrazu w body, JPEG Basic itp. W efekcie, niekompresowane pliki NEF mają około 15-16 Megabajtów.

Remol71
07-11-2006, 11:11
NEF kompresowany, to NEF poddany kompresji :D Oznacza to kompresje stratna.


To że plik jest poddany kompresji to wcale nie znaczy, że jest to kompresja stratna. Jakoś nie chce mi się wierzyć, że surowa informacja o obrazie jaka jest zapisana do pliku .NEF jest poddana kompresji stratnej. Nie miało by to żadnego sensu.

stig
07-11-2006, 11:35
Panowie... W takim razie wytlumaczcie mi zasdnosc istnienia NEFow kompresowanych i niekompresowanych. :) Bo osobiscie nie widze sensu, zeby w ogole dodawac do body opcje NEFa kompletnie niekompresowanego i kompresowanego bezstratnie. Przeciez jakosciowo one w ogole sie nie beda roznic -- wiec po co istnieje NEF niekompresowany?

Majster7
07-11-2006, 11:37
Jakoś nie chce mi się wierzyć, że surowa informacja o obrazie jaka jest zapisana do pliku .NEF jest poddana kompresji stratnej. Nie miało by to żadnego sensu.

...stąd własnie mój post. Bo JPG zajmuje 3.5MB, a NEF 5MB. Pewnie, że to zupełnie inne algorytmy kompresji, ale nie wierzę, że jest ona bezstratna! Jaki jest więc sens NEFa kompresowanego w aparacie?

Erie
07-11-2006, 11:52
Spróbuję ja, nawet jeśli NEF jest kompresowany stratnie to i tak jest o wiele lepszy od JPG - bowiem utrata informacji jest tylko taka jak napisał powyżej spiritchaser. W przypadku JPG jest utrata informacji duuuuuużo większa:
a) w JPG od razu zapisany jest przetworzony obraz więc trudniej z nim zrobić coś więcej
b) z powodu zamiany na YCrCb i skwantowania Y do np. 8bit i chromatycznych do 4bit
c) z powodu transformaty cosinusowej (ten słynny podział obrazu na bloki 8x8 pikseli i zastąpienie obrazu złożeniem transformat) co wprowadza artefakty kompresji
d) potem trzeba zrobić transformatę odwrotną, co w przypadku liczb typu integer (RGB są 8bit integerami) wprowadzi błąd zaokrągleń

ergo... nawet skompresowany NEF będzie dużo lepszy niż JPG

Pozdrawiam
Erie

spiritchaser
07-11-2006, 11:53
...stąd własnie mój post. Bo JPG zajmuje 3.5MB, a NEF 5MB. Pewnie, że to zupełnie inne algorytmy kompresji, ale nie wierzę, że jest ona bezstratna! Jaki jest więc sens NEFa kompresowanego w aparacie?

Sens jest taki, że skompresowany NEF zajmuje mniej miejsca na dysku (karcie pamięci), a jednocześnie nie ma widocznej straty jakości, z uwagi na własciwości ludzkiego wzroku. Nasze postrzeganie też jest nieliniowe i łatwiej rozróżniamy delikatne różnice między ciemnymi tonami niż miedzy jasnymi, stąd można stosować kompresję stratną z punktu widzenia informacji zapisanej w pliku ale nie powodującej pogorszenia jakośći czy wierności odwzorowania obrazu dla obserwatora.

JK
07-11-2006, 12:20
Panowie, przecież tego porównywać nie można. Kompresowane jest zupełnie coś innego.

- Kompresowany JPEG to kompresowany stratnie obraz złożony z pikseli RGB (8 bitów na każdą składową koloru).
- Kompresowany NEF to kompresowany stratnie obraz sensorów matrycy (12 bitów na sensor).
- Niekompresowany NEF to obraz sensorów matrycy (12 bitów na sensor) zapisany bez żadnej kompresji.

Stratna kompresja NEFa polega na tym, że tracone są informacje w światłach, czyli nformacje, którch i tak jest tam dużo za dużo, informacje których praktycznie i tak nie daje się wykorzystać. Człowiek nie widzi tych subtelnych zmian w obszarze świateł i dlatego część tych informacji można prawie bezkarnie pominąć. Ktoś już opisał w tym wątku na czym to polega. Jeśli przeciętny oglądacz obrazu zauważa zmianę jasności o około 1%, to w konsekwencji w ostatecznej wersji JPEGa, czy TIFFa zmniany w zakresie 246-255 będą praktycznie niemożliwe do zaobserwowania. Jest to 10 różnych wartości, z których możemy pozostawić tylko dwie (245 i 255) lub trzy (245, 249 i 255) i to praktycznie bez żadnej straty dla odbioru zdjęcia. W NEFie ten obszar 10 wartości z JPEGa odpowiada mniej więcej zakresowi wartości 3935-4095 (160 różnych wartości). Pośrednie wartości odczytane z matrycy można więc śmiało pominąć już podczas zapisu NEFa. Ze względu na dalszą obróbkę takiego NEFa zapewne nie jest pomijany cały ten zakres i zapisywane są jeszcze jakieś wartości pośrednie, ale i tak ich ilość jest znacznie zmniejszona w stosunku do oryginału. Zapamiętywanie wszystkiego co zarejestrowała matryca ma niewielki sens i dlatego Nikon pisze o kompresji NEFa, jako o kompresji, która jedynie w minimalnym stopniu ma wpływ na ostateczny obraz.

Jedną z niewielu przyczyn, dla których warto zapisywać niekompresowane NEFy jest późniejsza korekta ekspozycji w dół (dajmy na to o 2EV). Podczas takiej korekty może czasem zabraknąć, tych informacji o światłach utraconych podczas kompresji, które są pozornie "przyciemniane" o -2EV, czyli około 4 razy. Niektóre wartości pośrednie by się wówczas przydały, ale ich nie ma. Jeśli NEF nie jest kompresowany, to taka korekta o -2EV zazwyczaj da nieco lepsze rezultaty, ale i tak te drobne różnice będą na granicy postrzegalności przez oko człowieka.

Erie
07-11-2006, 12:28
Ze względu na dalszą obróbkę takiego NEFa zapewne nie jest pomijany cały ten zakres i zapisywane są jeszcze jakieś wartości pośrednie, ale i tak ich ilość jest znacznie zmniejszona w stosunku do oryginału.

...ale i tak te drobne różnice będą na granicy postrzegalności przez oko człowieka.

Właśnie dla dalszej obróbki, a nie dla postrzegania przez ludzkie oko korzystać należy z NEFa (kompresowanego lub nie jeśli takowy jest w aparacie). Jesli potem zechcemy w jakiś sposób obrabiać zdjęcie za pomocą filtrów to może się okazać, że zabraknie nam tych wartości pomiędzy. Dlatego jeśli zdjęcie idzie od razu na odbitki to robić można JPG (po co potem się bawić w przetwarzanie z NEFa do JPG), jeśli do obróbki to robić NEFy i już. I jeśli jest mozliwość robienia a NEFach bez kompresji to wybierać należy ją ze względu na wspomniaą przez spirtichasera/ JK większą ciągłość w półtonach.

Pozdrawiam
Erie

JK
07-11-2006, 12:35
Erie, tak dla ścisłości, o "ciągłości w półtonach" nie można tu mówić. Zapis nie jest analogowy tylko cyfrowy, czyli już z założenia nie jest ciągły. Trzeba raczej mówić o wiekszej ilości wartości (tonów) pośrednich, a nie o "większej ciągłości", choć w ostatecznym rachunku obserwator odbiera to w bardzo zbliżony sposób.

Erie
07-11-2006, 12:48
Jacku

Jak już nie masz co odpowiedzić to czepiasz się sformułowań. Wiem dobrze (pewnie jak każdy człowiek), że zapis cyfrowy jest skwantowany, czyli nie ciągły a dyskretny. A użyte sformułowanie jest skrótem myślowym - chodzi o to że z im większą częstotliwością (lub w tym przypadku dokładnością) próbkujesz sygnał tym bardziej jest zbliżony do ciągłego. Sam zresztą to napisałeś: "w ostatecznym rachunku obserwator odbiera to w bardzo zbliżony sposób" - również używając skrótu myślowego i paraleli.

A z tego co wiem pytanie było od amatora fotografii (i na takim poziomie jest prowdzona dyskusja), a nie od specjalisty od przetwarzania sygnałów.

Pozdrawiam i proszę nie czepiaj się sformułowań
Erie

pebees
07-11-2006, 13:02
Panowie... W takim razie wytlumaczcie mi zasdnosc istnienia NEFow kompresowanych i niekompresowanych. :)

Więcej/mniej wejdzie na kartę oraz szybciej/wolniej się zgrają na kompa ;-)

JK
07-11-2006, 13:07
Erie, obaj o tym wiemy. Wie o tym jeszcze wielu innych forumowiczów, ale czyta to forum także wiele osób (moim zdaniem zdecydowana większość), które o tym nie wiedzą, bo nie każdy człowiek musi o tym wiedzieć. Nie czepiam się, tylko traktuję to jako drobne wyjaśnienie, żeby za chwilę nie pojawiła się tu dyskusja o ciągłości tonalnej cyfrowego obrazu. Na tym forum już tak wielkorotnie bywało, że stosowano różne (czasem baaardzo daleko idące) skróty myślowe, a w konsekwencji stosowania tych skrótów myślowych nie było możliwe porozumienie się w najprostszych sprawach.

Erie
07-11-2006, 13:15
ok, zatem przepraszam - trochę pochopnie oceniłem, że się czepiasz

Przyznasz jednak, że dla osób zajmujących się grafiką/ fotografią termin "większej ciągłości w półtnonach" jest bardziej zrozumiały niż większa ilość wartości pośrednich pomiędzy poziomami A i B. Część ludzi jak widzi matematyczny lub zbliżony do niego zapis od razu przestaje czytac i rozumieć tekst (z różnych powodów, ale bynajmniej nie z ograniczenia czy czegoś takiego - to taka uwaga aby nikt mnie zaraz nie posądził o obrażanie kogokolwiek od czego jestem tak daleki jak to tylko możliwe).

Pozdrawiam
Wojtek PŁONKA
(Erie)

JK
07-11-2006, 13:45
Erie, wierz mi, na tym forum matematyków, informatków, elektroników, czy programistów jest garstka. I są to całkowicie normalne proporcje. Moim zdaniem, warto wyrażać się możliwie precyzyjnie i dbać o drobiazgi w swoich wypowiedziach, szczególnie wtedy, gdy ktoś jest w danej dziedzinie specjalistą. I nie dotyczy to tylko tych grup zawodowych, ale wszystkich innych również. Precyzyjne wypowiedzi na forum to taka drobna forma wzajemnej edukacji w różnych dziedzinach. Takie pozornie niewinne skróty myślowe (które są oczywiście dopuszczalne w pewnych dyskusjach w gronie specjalistów) w necie zaczynają czasem żyć własnym życiem i obrastać w zadziwiające teorie (patrz elaboraty o doszukiwaniu się logarytmicznego działania liniowej matrycy, o definiowaniu rozpiętości tonalnej matryc w jednostkach EV fotografowanej sceny, czy o rewelacyjnej rozpiętości tonalnej cyfrowych matryc Fuji). Moim zdaniem, każdy taki skrót myślowy na forum powinien być dobrze przemyślany, żeby nie stawał się źródłem nieporozumień i przekłamań. Wiem, że czasem nie jest to łatwe, że czasem się o tym zapomina, ale chyba warto próbować.

stig
07-11-2006, 13:55
Więcej/mniej wejdzie na kartę oraz szybciej/wolniej się zgrają na kompa ;-)

Pebees... Nie zrozumiales istoty pytania. Zadalem je w obliczu zapewnien, ze kompresowany NEF jest kompresowany bezstratnie. Jesli tak niby by bylo -- to po co by istnial NEF niekompresowany -- skoro przenosilby dokladnie te same informacje jak bezstratnie kompresowany?

pebees
07-11-2006, 14:38
stig - it łoż e dżołk, a poza tym, to jak to po co - by być trendi, dżezi i w ogóle cool :)

freefly
07-11-2006, 17:08
http://www.pcworld.pl/news/news.asp?id=77930
ttp://www.zoom.idg.pl/news/78026.html

Mam pytanie, kiedy Nikon wprowadził swój format RAW i jakich modelach NEF występuje w obu wersjach i czy były modele w których występował tylko NEF niekompresowany. Klucz do zagadki może tkwić w informacji zawartej w linku. Tylko proszę nie najechać na mnie natychmiast, lecz przemyśleć sprawę, dlaczego dwie wersje NEFa w niektórych modelach i czy może to mieć związek z polityką Nikona odnośnie oprogramowania dekompresującego NEFy.

JK
07-11-2006, 17:33
To raczej spiskowa teoria dziejów. Jasne jest, że Nikon bardziej woli sprzedawać soft, niż go nie sprzedawać - jak każdy. Dlatego broni się przed różnej maści podrabiaczami i kombinuje z plikami NEF. Ale trzeba też pamiętać, że są takie metody szyfrowania, kóre mogą praktycznie uniemożliwić korzystanie z danych, nawet bez robienia kompresji. Wystarczy je zaszyfrować. Złamanie takiego szyfru, to dobre kilka lat, a za kilka lat będzie już nowy - inny algorytm szyfrowania i nowe puszki.

Ja bardziej bym się przychylał, do chęci zaoferowania użytkownikom najlepszej mozliwej jakości w NEFie bez kompresji i jednocześnie bardzo dobrej jakości z kompresją, jeśli problemem może być pojemność karty, czy databanku. Pamiętaj, że kompresję NEFa miał D70, ale wówczas karty o pojemności 1 Giga były drogie i dość trudno dostępne. W dobie D200 problem przestał istnieć. Na porządku dziennym są karty 4 lub 8 Giga. Moim zdaniem właśnie to jest główna przyczyna istnienia NEFów z kompresją i NEFów bez kompresji. Ale inwencja programistów Nikona jest oczywiście nieograniczona.