Czy nieprzetworzone zdjęcia tego samego aparatu mają ten sam rozmiar?

11

Mam projekt, w którym próbuję zrównoważyć obciążenie między kilkoma urządzeniami komputerowymi. Urządzenia te są podobne i powinny mieć segment kamery. Urządzenie przechwytuje obraz, a następnie przetwarza obraz.

Dla uproszczenia chcę rozważyć obciążenie jako liczbę obrazów oczekujących w kolejce procesów, ale wymaga to, aby obrazy były tego samego rozmiaru i miały te same specyfikacje.

Moje pytanie brzmi więc, czy obrazy tego samego aparatu mają ten sam rozmiar? Wiem, że kompresja zdjęć i konwersja ich do formatu .jpeg prawdopodobnie zmieni ich rozmiar, ale co powiesz na surowe obrazy tego samego aparatu? Czy surowe obrazy mają ten sam rozmiar?

Pablo
źródło
2
Mówiąc ze strony programistycznej / obliczeniowej tego pytania, dane obrazu, na których operujesz, będą tak bliskie identycznej wielkości, jak nie ma znaczenia; po zdekodowaniu obrazów (z formatu raw lub JPEG) rozmiar mapy bitowej będzie taki sam, a etapy dekodowania są zwykle niezwykle szybkie.
Chrylis
@chrylis Dziękuję bardzo, twój komentarz był dla mnie bardzo pomocny.
Pablo
1
Jeśli wykonywane zdjęcia mają podobny skład i podobne warunki i ustawienia (oświetlenie, ISO, czas otwarcia migawki itp.). Obrazy będą bardzo zbliżone do tego samego rozmiaru. Jeśli same zdjęcia bardzo się różnią, to i rozmiar.
JPhi1618
2
vtc b / c OP nie wykonuje zadania, od którego oczekuje się, że fotograf miałby jakąkolwiek wiedzę specjalistyczną; pytanie jest niemożliwe do odpowiedzi bez dodatkowych informacji na temat konkretnych zaangażowanych kamer; a OP mógł łatwo odpowiedzieć na to pytanie, robiąc i analizując kilka zdjęć.
xiota
1
@xiota Z drugiej strony podstawowe pytanie i odpowiedzi z pewnością mają praktyczną wartość dla fotografów. To sprawia, że ​​tutaj jest temat.
Michael C

Odpowiedzi:

26

Zdjęcie warte tysiąc komórek arkusza kalkulacyjnego, oto histogram wielkości plików RAW z mojego aparatu na 2018 rok (EOS 70D, 20Mpx). Rozmiary są w tysiącach K (nie tak naprawdę MB).wprowadź opis zdjęcia tutaj

Dla matematycznie skłonnych:

Average:    24538
Median:     24300   
Std dev.:    2119
ksenoid
źródło
Może mógłbyś zamieścić średnią i SD? Byłoby to pouczające
Azor Ahai
2
Wielkie dzięki. Czy mógłbyś wyjaśnić, co pokazują oś X i oś Y? Nie jestem pewien, jakie dokładnie są te wartości.
Pablo
3
X to rozmiar („24” oznacza zdjęcia między 24000 K a 25000 K), a Y to liczba zdjęć w wiadrze.
ksenoid
4
1000 KB = MB, 1024 KiB -> MiB. Typowe systemy operacyjne zgłaszają 1000 bajtów KB i 1 000 000 bajtów MB, z wyjątkiem pamięci RAM, jak standardowo.
Dietrich Epp
5
Jeśli chcesz podzielić włosy, są to 1000 KiB :) Kształt histogramu pozostałby taki sam ...
xenoid
26

Wiele aparatów cyfrowych stosuje bezstratną kompresję z plikami raw. Oznacza to, że rozmiar nieprzetworzonych plików z tej samej kamery jest nieco zależny od zawartości.

Im więcej szczegółów i różnych kolorów zawiera scena, tym większy będzie plik. Im więcej jednorodności zawiera scena, tym mniejszy będzie plik. Stopniem różnic będą również rządzić różnice w rzeczach, takich jak hałas w ciemnych obszarach (hałas zwykle zwiększa rozmiar pliku, tworząc większą liczbę unikalnych poziomów jasności).

Michael C.
źródło
1
Warto zauważyć, że Sony miało niesławny błąd w niezbyt bezstratnej kompresji, więc wielu z nas wyłącza go i pisze nieskompresowane pliki raw, które mają ten sam rozmiar za każdym razem. Przekształcenie ich w DNG zwykle powoduje bezstratne zmniejszenie wielkości o 40-65%.
Chrylis
@chrylis Poniżej znajduje się odpowiedź Sony. Ponadto konwersja do DNG jest zupełnie inną puszką robaków, która jest również wysoce zależna od kodeków oryginalnych plików raw, jakie informacje zawierają lub nie zawierają oraz czy użytkownik końcowy chce / musi wykorzystać tę część informacji który jest usuwany z plików, gdy są one konwertowane na DNG. To, IMHO, jest trochę warte do omówienia w tak krótkiej i ogólnej odpowiedzi, jak ta (biorąc pod uwagę, że OP nie określił marki aparatu / konkretnego typu surowego pliku). Jeśli uważasz, że jest to tak ważne, możesz uwzględnić to w swojej odpowiedzi.
Michael C
4

Trochę dodatkowych informacji: jeśli plik raw zawiera podgląd (zazwyczaj tak jest), który prawdopodobnie zostanie skompresowany w formacie JPEG i spowoduje niewielką zmianę rozmiaru pliku.

Sprawdzając niektóre nieprzetworzone pliki CR2, które sfotografowałem wczoraj (trzymam starego Canona 350D na biurku), 3 ujęcia zasadniczo tej samej sceny różnią się o około 3%. Bawiłam się oświetleniem i używałam bardzo czarnego tła, więc jedno z nich ma zarówno rozświetlone pasemka, jak i (prawie) czystą czerń, które dobrze kompresują się nawet bezstratnie.

Jednak jeśli chodzi o równoważenie obciążenia, prawdopodobnie wszystko jest w porządku: uśrednione na rozsądnej liczbie obrazów, obciążenie będzie wystarczająco podobne, chyba że twój system znajduje się na krawędzi, a transfer lub dekompresja są ograniczone.

Chris H.
źródło
4

Istnieją dwa główne typy metod kompresji:

  1. bezstratna kompresja
  2. Kompresja stratna

Jak wspomniałeś, JPEG jest metodą kompresji stratnej, która wykorzystuje pewne matematyczne sztuczki do zapisywania danych, a zatem utraty informacji o obrazie, co powoduje utratę jakości.

Zasadniczo, jeśli zapiszesz zdjęcie i zapiszesz informacje o kolorze dla każdego piksela bez kodowania, wówczas każde zdjęcie najprawdopodobniej będzie miało dokładnie ten sam rozmiar.

Ale ponieważ istnieją metody kompresji bezstratnej, możesz zapisać rozmiar pliku bez utraty jakości. Najbardziej podstawowym przykładem byłoby kodowanie w czasie wykonywania, w którym można łączyć identyczne kolejne informacje, a tym samym oszczędzać miejsce, które trzeba by przechowywać po kolei. Na przykład przechowujesz informacje takie jak „2 białe, 3 czarne” zamiast mówić „biały, biały, czarny, czarny, czarny”.

Powoduje to kompresowanie zdjęć bez dużej rozbieżności do względnie małych rozmiarów plików, przy czym nie jest to możliwe dla osób z dużą zmiennością.

Dlatego różne surowe zdjęcia wykonane tym samym aparatem najprawdopodobniej będą miały różne rozmiary plików.

zabity
źródło
3

Może to zależeć od aparatu, ale w przypadku mojego aparatu Canon EOS 7D Mark II różne surowe obrazy zdecydowanie nie są tego samego rozmiaru:

# ls -l *.cr2
-rwx------ 1 tew tew 23868042 Jan 21 10:59 20190121105920-6996.cr2
-rwx------ 1 tew tew 24408037 Jan 21 11:07 20190121110757-7002.cr2
-rwx------ 1 tew tew 25928707 Jan 21 11:08 20190121110823-7003.cr2
-rwx------ 1 tew tew 23777211 Jan 21 11:08 20190121110852-7004.cr2
-rwx------ 1 tew tew 25369539 Jan 21 11:09 20190121110922-7005.cr2
-rwx------ 1 tew tew 22675822 Jan 21 11:11 20190121111113-7006.cr2
-rwx------ 1 tew tew 23377077 Jan 21 11:11 20190121111119-7007.cr2

Wszystkie są dość zbliżone, ale zdecydowanie istnieje pewna wariancja, która wynika przede wszystkim z kompresji surowych danych z czujników, a także metadanych i osadzonego obrazu podglądu JPG.

twalberg
źródło
Dzięki. Ponieważ nie mam wystarczającej wiedzy na temat fotografii, chciałem wiedzieć, czy ta różnica wielkości jest tak duża, że ​​nie mogę uznać obciążenia za liczbę zdjęć? Czy „23868042” oznacza 23,8 megabajta?
Pablo
1
Prawidłowo - 7D II ma matrycę o rozdzielczości 20,2 megapiksela, a wynikowe nieprzetworzone obrazy mają zwykle od 19 do 36 megabajtów, biorąc pod uwagę moją aktualną kolekcję zdjęć ...
twalberg
0

Teraz, jeśli interesują Cię również mniej popularne marki, oto jak Sony obsługuje RAW.

Aktualnie używane pliki RAW (rozszerzenie pliku „.ARW”) występują w 2 typach: 8 bitów na piksel (zwany „Compressed RAW”) i 16 bitów na piksel („Nieskompresowany RAW”). Niektóre kamery są ograniczone do 8 bitów, zaawansowane kamery mogą pisać dowolny typ.

W związku z tym wszystkie pliki RAW z danego aparatu mają prawie taki sam rozmiar, równy liczbie megapikseli (dla 8 bitów) lub dwukrotności liczby megapikseli (dla 16 bitów). Rzeczywiste rozmiary plików zmieniają się nieco ze względu na osadzony podgląd JPEG, ale same dane RAW są zawsze stałe.

szulat
źródło
Czy aparaty Sony naprawdę zmniejszają głębię bitową skompresowanych plików RAW? Po co „surowe” pliki o takiej samej głębi kolorów jak JPEG?
xiota
@xiota 8 bitów danych pliku dla każdego piksela, ale nie dosłowny 8-bitowy obraz - efektywna głębia bitowa zależy od lokalnego kontrastu i może wynosić od 11 do 7 bitów, a następnie krzywa gamma (podobna do JPEG) rozciąga wyjście do 13 bitów. artefakty wprowadzone przez ten algorytm kompresji są niewidoczne na typowych obrazach, a właściciele Sony zwykle nawet nie wiedzą, że te pliki nie są tak naprawdę RAW. nie jest to zły algorytm, ale szkoda, że ​​żaden aparat APS-C firmy Sony nie potrafi nagrać prawdziwego RAW - nie ma opcji przejścia na nieskompresowany RAW w rzadkich przypadkach, gdy robi to różnicę.
szulat
Pliki @xiota Raw nie mają żadnej głębi kolorów. Są to monochromatyczne wartości luminancji.
Michael C
Zawierają „monochromatyczne” wartości luminancji światła, które przeszło przez filtry kolorów , reprezentując w ten sposób kolor. Może nie zawierać pełnych informacji o kolorze dla każdego piksela, ale nadal jest głębią kolorów.
xiota
0

Pliki RAW mogą mieć dokładnie taki sam rozmiar, ale w praktyce prawie zawsze nie. Powody obejmują:

  • Zmienny rozmiar metadanych. ( twalberg )
  • Zmienny rozmiar miniatur podglądu JPEG. ( Chris H , szulat )
  • Kompresja bezstratna. ( Michael C , sLaiN )
  • Kompresja stratna. ( sLaiN )
  • Pliki raw o zmniejszonej rozdzielczości.
  • Pliki raw o zmniejszonej głębi bitów.

Nie wiedząc dokładnie, jakich urządzeń używasz, nie możesz bezpośrednio i dokładnie odpowiedzieć na twoje pytanie.

  • Pliki Canon - CR2 są kompresowane bezstratnie. ( Chris H , Twalberg , Xenoid )
  • FujiFilm X-Series - Aparaty wykorzystujące czujniki G1 / G2 X-Trans (16mp) i czujniki Faux-X Bayer nie używają kompresji surowych danych. Czujniki G3 i nowsze X-Trans (24mp) mają opcję zastosowania kompresji bezstratnej.
  • Nikon - ???
  • Olympus - ???
  • Panasonic - ???
  • Pentax - ???
  • Sony - ( szulat )
Xiota
źródło
0

Prosta odpowiedź na twoje pytanie:

  1. Pliki RAW z tej samej kamery, nagrane w tej samej rozdzielczości, najprawdopodobniej nie będą miały podobnego rozmiaru, jeśli używasz plików RAW, które są albo bezstratne, albo luźno skompresowane.

  2. Z drugiej strony, jeśli nie zostaną skompresowane, różnica wielkości między nimi będzie nieistotna dla kamer z czujnikami o dużej liczbie pikseli (> = 30 megapikseli i> = 12 bitów), a głównie ze względu na osadzony podgląd JPEG w plikach raw (luźno skompresowany z definicji).

  3. Jeśli podczas fotografowania nieskompresowanych plików RAW zmiana ich rozmiarów jest znacząca, aparat kompresuje je i nie mówi o tym.
abetancort
źródło