Mengapa sebagian besar kamera tidak mendukung format PNG?

56

Saya lebih suka format PNG daripada JPG, karena JPG menggunakan kompresi lossy .

Ketika saya menangkap layar di PC saya atau memindai gambar atau dokumen di pemindai saya, saya selalu menyimpannya sebagai format PNG.
Jika kamera dapat menyimpan datanya dalam format PNG, saya akan menggunakan fitur itu bahkan jika saya perlu membeli lebih banyak kartu memori.

Tapi saya belum melihat kamera yang melakukannya. Kenapa tidak? Mengapa sebagian besar (atau ada) kamera tidak mendukung format PNG?

PS Kamera saya tidak mendukung RAW.

Benjamin
sumber
7
Banyak mendukung TIFF, yang juga mendukung kompresi lossless. Tetapi kemudian pertanyaannya menjadi "Mengapa sebagian besar browser web tidak mendukung TIFF?"
mattdm
3
Anda lebih suka PNG daripada JPG untuk fotografi? Saya belum melihat argumen untuk itu sebelumnya.
dpollitt
1
Agak ironis bahwa tautan yang Anda berikan menggunakan png sebagai contoh kompresi lossy :)
Toby Allen
6
@ JZL Sementara PNG mendukung palet warna (warna yang diindeks), PNG tidak membutuhkannya. Saya yakin kita berbicara tentang warna RGB 24-atau 48-bit yang baik di sini. GIF, di sisi lain, hanya mendukung warna yang diindeks dan terbatas pada 256 warna di palet.
pemain coneslayer
2
@Pacerier Kebanyakan dari mereka. Daripada mendaftar, lihat tabel ini di wikipedia .
mattdm

Jawaban:

58

Format JPEG memiliki keunggulan memberikan file kecil. Format RAW memiliki keunggulan dalam mempertahankan semua data yang dikumpulkan saat pengambilan gambar.

Format PNG tidak memberikan keunggulan ini, sehingga Anda bahkan tidak mendapatkan kompromi di antara format lainnya, Anda hampir mendapatkan hanya kekurangan dari kedua format tersebut.

Guffa
sumber
3
Satu hal yang perlu diperhatikan di sini, tidak ada "format RAW". Jadi jika Benjamin menginginkan standar, ia harus mengubah RAW-nya menjadi DNG.
Leonidas
Ya, RAW berarti format internal kamera, dan bervariasi dari kamera ke kamera. Saya baru-baru ini menggunakan kamera yang format mentahnya melibatkan dua byte per piksel dan beberapa ribu byte header / footer tambahan (ugh).
John Robertson
Saya cenderung setuju dengan Leonidas di sini. Masalah sebenarnya adalah bahwa DNG tidak diadopsi oleh lebih banyak pembuat kamera. Sebagai fotografer, kami memiliki negatif kami, tetapi negatif digital kami dikunci dalam format file berpemilik, seringkali dengan detail yang tersembunyi di bawah NDA. Adopsi DNG oleh Canon atau Nikon akan sangat membantu memecahkannya. Tapi itu tidak akan terjadi.
RBerteig
2
@ John, menggunakan 2 byte / pixel tidak normal? Bagaimana lagi yang Anda paskan dengan nilai 12 atau 14-bit yang disediakan sensor untuk setiap piksel? Anda bisa melakukan sedikit kompresi setelahnya, tetapi untuk banyak data acak yang kurang lebih bahkan tidak layak.
Nick T
1
@ John Robertson: Kebanyakan chip hanya merekam satu warna per piksel, bukan tiga, jadi 14 bit RAW sesuai dengan 42 bit RGB, setelah dua komponen warna per piksel diinterpolasi dari piksel sekitarnya.
Guffa
44

Ukuran gambar mencatat, alasan utama adalah bahwa PNG tidak memiliki cara standar untuk menanamkan EXIF ​​dan yang akan segera menghindarkan pembuat kamera dari itu. Akan ada banyak informasi yang hilang dengan melakukan konversi gambar ke PNG di kamera sebagai hasilnya dan, sebagian besar, mungkin akan dilihat sebagai negatif oleh sebagian besar fotografer.

John Cavan
sumber
7
+1 Tidak pernah menyadari bahwa tidak ada penyisipan EXIF ​​standar untuk PNG. Senang mendengarnya.
pemain coneslayer
5
Alasan yang paling mungkin. Metadata itu bagus.
Leonidas
3
Wiki : iTXt berisi teks UTF-8, dikompresi atau tidak, dengan tag bahasa opsional. Potongan iTXt dengan kata kunci 'XML: com.adobe.xmp' dapat berisi Platform Metadata Extensible (XMP).
Kevin Peno
6
Kurangnya data EXIF ​​akan "dilihat sebagai negatif" oleh fotografer? Bah! Fotografer digital muda ini! Di zaman saya, fotografer menggunakan film dan tahu seperti apa sebenarnya negatif itu! :-)
Oddthinking
4
@ Otak Berpikir Setidaknya yang negatif memiliki sedikit metadata di tepinya!
pemain coneslayer
27

PNG dapat menggunakan algoritma kompresi lossless, tetapi lossy dibandingkan dengan data mentah. Anda kehilangan kedalaman bit, kamera dapat memperkenalkan artefak demosaicing, Anda dapat memanggang dalam keseimbangan warna yang buruk, kamera dapat menerapkan penajaman yang tidak tepat, pengurangan noise di dalam kamera dapat menghilangkan detail, dll. Saya tidak berpikir ada permintaan besar untuk format yang sama besar dengan mentah, tetapi kurang bisa menerima postprocessing.

pemain coneslayer
sumber
3
.Png akan hampir pasti lebih besar daripada yang mentah karena png harus menyimpan tiga nilai warna per piksel daripada satu sampel mentah, jadi untuk png 8bit itu 24 bit per piksel vs 12 atau 14 bpp untuk mentah.
Matt Grum
3
@ John Tapi itu lebih buruk daripada mentah, yang harus Anda gunakan untuk mengedit. PNG sepertinya media yang tidak bahagia antara JPEG dan mentah.
pemain coneslayer
5
@ Matt Karena PNG memang menggunakan kompresi (juga), hasilnya tidak harus lebih besar sama sekali (tergantung pada algoritma). Untuk menyampaikannya kepada Anda dalam pertanyaan: jika Anda mengonversi file ASCII (8 bit per karakter) ke file UTF16, haruskah hasil yang dikompresi menjadi jauh lebih besar? Jika Anda menjawabnya dengan "ya", harap baca kembali algoritma kompresi.
Leonidas
1
@Leonidas Anda benar, tetapi saya berharap bahwa siapa pun yang meminta keluaran PNG (alih-alih mentah) akan mengharapkan hasilnya segera dapat digunakan di luar kamera, yang berarti Anda ingin hal-hal seperti mengasah untuk mengurangi filter antialiasing dan mungkin pengurangan kebisingan. Secara teknis tidak diperlukan, tetapi jika file PNG Anda memerlukan pengeditan lebih lanjut, maka, sekali lagi, saya tidak melihat manfaatnya dari mentah.
pemain coneslayer
2
@coneslayer Saya kira Benjanmin memiliki masalah yang sama dengan / ketika saya mengerjakan ulang gambar: (1) JPG sudah kehilangan beberapa data gambar dan (2a) RAW adalah hak milik (perangkat lunak hanya tersedia sekarang untuk beberapa waktu), (2b) tidak semua kamera menawarkan RAW. Beberapa tahun yang lalu saya terlalu berharap untuk TIFF atau PNG di compact saya.
Leonidas
2

PNG adalah grafik jaringan portabel . Ini ditargetkan untuk web, dan gambar yang agak sederhana (dalam warna). Kompresinya sangat tidak efektif untuk grafik yang realistis karena Anda akan memotret dengan kamera, sehingga hasilnya hampir tidak terkompresi. Dengan demikian, Anda dapat menggunakan file RAW, yang memang menambah manfaatnya, bahwa tidak ada konversi yang hilang ke ruang warna RGB.

Alasan JPEG digunakan adalah karena kompresinya sangat bagus dan bekerja sangat baik dengan grafik yang lebih realistis di mana artefak individu tidak terlihat oleh mata manusia. Selain itu, JPEG didukung oleh hampir semua perangkat dan menawarkan banyak cara untuk menambahkan metadata tambahan, termasuk profil warna.

Tidak ada satu pun format file RGB yang dapat menyimpan gambar persis seperti yang dilihat oleh sensor kamera; selalu ada semacam kerugian dalam konversi itu. Karena itu masuk akal untuk menggunakan format yang memiliki kompresi yang baik yang tidak benar-benar merusak gambar secara total. Jika Anda mencari format lossless sungguhan, RAW kamera adalah satu-satunya arah yang dapat Anda tempuh, dari mana Anda kemudian dapat membuat file apa pun yang Anda inginkan.

menyodok
sumber
Konversi lossy ke ruang warna RGB? Bagaimana? Apa yang Anda benar-benar kehilangan saat mengonversi data sensor-Bayer (data aditif) ke satu bentuk versi RGB? (Btw: PNG memang menawarkan profil ICC pada prinsipnya juga, FF berencana untuk mendukungnya, saya baca.)
Leonidas
@Leonidas: Tidak ada ruang warna RGB "the". Kamera mengumpulkan lebih banyak informasi daripada yang dapat ditafsirkan oleh ruang warna RGB (sRGB, Adobe RGB, dll.). Dengan demikian ketika konversi dilakukan ke file RGB, selalu ada beberapa informasi / warna yang hilang. Satu-satunya cara untuk melestarikan itu adalah dengan menyimpan data cara kamera melihatnya, yaitu RAW.
colek
@poke Bisakah Anda menjelaskan bagaimana RGGB-sensor menghasilkan data yang tidak dapat dikonversi menjadi lossless dalam format RGB? (Saya sadar ada beberapa, perhatikan "satu bentuk versi RGB".)
Leonidas
@Leonidas: Saya bisa salah dengan itu, dan jika Anda lebih tahu (atau menipu saya untuk mengatakan sesuatu yang salah di sini), tolong koreksi saya, tetapi mengingat bahwa sensor tidak memisahkan cahaya, ia melihat ke dalam 256 langkah untuk setiap warna , Saya tidak berpikir bahwa format file RGB normal atau ruang warna RGB dapat berisi semua informasi itu. Saya sadar bahwa sensor menangkap data sebagai informasi RGB, jadi secara teori mungkin ada ruang warna RGB jika ada satu yang bisa menampung informasi sebanyak yang sebenarnya terdapat pada gambar.
colek
@ aduk Tidak ada trik di sini, saya hanya serius ragu bahwa tidak akan ada format RGB yang menawarkan keseluruhan sensor. Mengenai diskriminasi - Saya pikir 16 bit / channel-format menawarkan ruang yang cukup untuk menerimanya. Misalnya di photo.stackexchange.com/questions/8707/raw-processing-software/... jrista menyebutkan demosaicing yang disebut Bayer Drizzle yang benar-benar dirancang untuk menjaga data apa pun tersedia.
Leonidas
1

Kedua format memiliki Pro dan Kontra.

Tetapi alasan sebenarnya mengapa JPEG lebih lazim daripada PNG adalah bahwa orang - orang di belakang JPEG melakukan perizinan yang agresif, yang tidak dimiliki PNG. (www.libpng.org/pub/png/)

Ini sangat mirip dengan MP3 vs. OGG vs. FLAC. Pencipta MP3 dilisensikan secara agresif di awal ... yang mengarah ke popularitas. Karena ini, sekarang, produsen mendekati MP3 untuk mendapatkan lisensi!

MyPreciousss
sumber
0

IMO Anda harus selalu memotret dalam RAW, jika Anda tidak khawatir tentang biaya memori, RAW adalah jalan yang harus ditempuh. Ini memberi Anda peluang terbaik untuk mengoreksi gambar dalam pemrosesan pasca.

Di bawah ini adalah kutipan dari: http://www.hackerfactor.com/blog/index.php?/archives/252-PNG-and-Cameras.html

PNG benar-benar luar biasa untuk menyimpan gambar warna 24-bit yang sebenarnya. Memproses file PNG sangat sederhana dan tidak memerlukan bidang khusus aplikasi. Namun, ini mahal secara komputasi, tidak memiliki kemampuan untuk menyimpan banyak gambar, dan tidak memiliki banyak bidang teks standar untuk mengelola data meta.

JPEG adalah format file boros yang diisi dengan bidang khusus. Ini juga merupakan pilihan yang buruk untuk representasi warna yang sebenarnya. Namun, ini murah secara komputasi, mendukung penyimpanan banyak gambar, dan penskalaan gambar sepele. Dan sayangnya, itu diterima secara luas sebagai standar de facto.

Ronald Olds III
sumber