Tại sao hầu hết các máy ảnh không hỗ trợ định dạng PNG?


56

Tôi thích định dạng PNG hơn JPG, vì JPG sử dụng nén mất dữ liệu .

Khi tôi chụp màn hình trong PC hoặc quét ảnh hoặc tài liệu trong máy quét, tôi luôn lưu chúng dưới định dạng PNG.
Nếu một máy ảnh có thể lưu dữ liệu của nó ở định dạng PNG, tôi sẽ sử dụng tính năng này ngay cả khi tôi cần mua thêm thẻ nhớ.

Nhưng tôi không thấy máy ảnh nào. Tại sao không? Tại sao hầu hết (hoặc bất kỳ) máy ảnh nào hỗ trợ định dạng PNG?

PS Máy ảnh của tôi không hỗ trợ RAW.


7
Nhiều hỗ trợ TIFF, cũng hỗ trợ nén không mất dữ liệu. Nhưng sau đó, câu hỏi trở thành "Tại sao hầu hết các trình duyệt web không hỗ trợ TIFF?"
mattdm

3
Bạn thích PNG hơn JPG để chụp ảnh? Tôi chưa thấy một cuộc tranh luận cho điều đó trước đây.
dpollitt

1
Thật là mỉa mai khi liên kết bạn đưa ra sử dụng png như một sự nén mất mát :)
Toby Allen

6
@JZL Mặc dù PNG hỗ trợ các bảng màu (màu được lập chỉ mục), nhưng nó không yêu cầu chúng. Tôi chắc rằng chúng ta đang nói về màu RGB 24 hoặc 48 bit cũ ở đây. Mặt khác, GIF chỉ hỗ trợ màu được lập chỉ mục và bị giới hạn ở 256 màu trong bảng màu.
coneslayer

2
@Pacerier Hầu hết trong số họ. Thay vì liệt kê, hãy xem bảng này trên wikipedia .
mattdm

Câu trả lời:


58

Định dạng JPEG có lợi thế là cho các tệp nhỏ. Các định dạng RAW có lợi thế là bảo toàn tất cả dữ liệu được thu thập tại ảnh.

Định dạng PNG không mang lại lợi ích nào trong số này, do đó bạn thậm chí không nhận được sự thỏa hiệp giữa các định dạng khác, bạn hầu như chỉ nhận được những hạn chế từ cả hai định dạng.


3
Một điểm cần lưu ý ở đây, không có "định dạng RAW". Vì vậy, nếu Benjamin muốn có một tiêu chuẩn, anh ta sẽ phải chuyển đổi RAW thành DNG.
Leonidas

Có, RAW chỉ có nghĩa là định dạng bên trong của máy ảnh và thay đổi từ máy ảnh này sang máy ảnh khác. Gần đây tôi đã sử dụng một máy ảnh có định dạng thô liên quan đến hai byte cho mỗi pixel và thêm vài nghìn byte tiêu đề / chân trang (ugh).
John Robertson

Tôi có xu hướng đồng ý với Leonidas ở đây. Vấn đề thực sự là DNG không được nhiều nhà sản xuất máy ảnh chấp nhận. Là các nhiếp ảnh gia, chúng tôi sở hữu các tiêu cực của chúng tôi, nhưng các tiêu cực kỹ thuật số của chúng tôi bị khóa trong các định dạng tệp độc quyền, thường có các chi tiết được che giấu theo NDA. Việc áp dụng DNG bởi Canon hoặc Nikon sẽ đi một chặng đường dài để giải quyết điều đó. Nó sẽ không xảy ra, mặc dù.
RBerteig

2
@ John, sử dụng 2 byte / pixel có bất thường không? Làm thế nào khác bạn sẽ phù hợp với giá trị 12 hoặc 14 bit mà cảm biến cung cấp cho mỗi pixel? Bạn có thể thực hiện một chút nén sau đó, nhưng đối với một loạt các dữ liệu ngẫu nhiên ít nhiều có thể không đáng giá.
Nick T

1
@John Robertson: Hầu hết các chip chỉ ghi một màu cho mỗi pixel chứ không phải ba, vì vậy RAW 14 bit tương ứng với 42 bit RGB, sau khi hai thành phần màu trên mỗi pixel đã được nội suy từ các pixel xung quanh.
Guffa

44

Bỏ qua kích thước hình ảnh, một lý do lớn là PNG không có phương tiện nhúng EXIF ​​được tiêu chuẩn hóa và điều đó sẽ ngay lập tức khiến các nhà sản xuất máy ảnh tránh xa nó. Kết quả là sẽ có rất nhiều thông tin bị mất khi thực hiện chuyển đổi hình ảnh sang PNG trong máy ảnh và, đối với hầu hết các phần, có lẽ sẽ bị xem là tiêu cực bởi hầu hết các nhiếp ảnh gia.


7
+1 Không bao giờ nhận ra rằng không có nhúng EXIF ​​được chuẩn hóa cho PNG. Tốt để biết.
coneslayer

5
Lý do rất có thể. Siêu dữ liệu là tốt đẹp.
Leonidas

3
Wiki : iTXt chứa văn bản UTF-8, được nén hay không, với một thẻ ngôn ngữ tùy chọn. Đoạn mã iTXt với từ khóa 'XML: com.adobe.xmp' có thể chứa Nền tảng siêu dữ liệu mở rộng (XMP).
Kevin Peno

6
Thiếu dữ liệu EXIF ​​sẽ bị các nhiếp ảnh gia "xem là tiêu cực"? Bah! Những nhiếp ảnh gia kỹ thuật số trẻ tuổi snipper-snappers! Vào thời của tôi, các nhiếp ảnh gia đã sử dụng phim và biết những gì tiêu cực thực sự trông như thế nào! :-)
Oddthinking

4
@Oddthinking Ít nhất là tiêu cực có một chút siêu dữ liệu ở các cạnh!
coneslayer

27

PNG có thể sử dụng thuật toán nén không mất dữ liệu, nhưng nó bị mất so với dữ liệu thô. Bạn mất độ sâu bit, máy ảnh có thể giới thiệu các vật phẩm làm mất màu, bạn có thể nướng trong cân bằng màu xấu, máy ảnh có thể áp dụng độ sắc nét không phù hợp, giảm nhiễu trong máy ảnh có thể làm mất chi tiết, v.v. Tôi không nghĩ rằng có nhu cầu lớn đối với một định dạng lớn như thô, nhưng ít có khả năng xử lý hậu kỳ.


3
.Png gần như chắc chắn sẽ lớn hơn nguyên liệu vì png sẽ phải lưu trữ ba giá trị màu trên mỗi pixel thay vì một mẫu thô, vì vậy đối với png 8 bit là 24 bit cho mỗi pixel so với 12 hoặc 14 bpp cho nguyên.
Matt Grum

3
@ John Nhưng nó còn tệ hơn cả raw, đó là những gì bạn nên sử dụng để chỉnh sửa. PNG có vẻ như là một phương tiện không hài lòng giữa JPEG và raw.
coneslayer

5
@Matt Vì PNG cũng sử dụng nén (quá), kết quả hoàn toàn không phải lớn hơn (phụ thuộc vào thuật toán). Để đặt nó cho bạn trong một câu hỏi: nếu bạn chuyển đổi tệp ASCII (8 bit cho mỗi ký tự) thành tệp UTF16, liệu kết quả nén có trở nên lớn hơn đáng kể không? Nếu bạn trả lời bằng "có", vui lòng đọc lại thuật toán nén.
Leonidas

1
@Leonidas Bạn đã đúng, nhưng tôi hy vọng rằng bất cứ ai yêu cầu đầu ra PNG (thay vì thô) sẽ mong đợi kết quả có thể sử dụng được ngay lập tức từ máy ảnh, điều đó có nghĩa là bạn muốn những thứ như làm sắc nét để giảm thiểu bộ lọc khử răng cưa và có thể giảm nhiễu. Không cần thiết về mặt kỹ thuật, nhưng nếu các tệp PNG của bạn yêu cầu chỉnh sửa thêm, thì, một lần nữa, tôi không thấy lợi ích so với thô.
coneslayer

2
@coneslayer Tôi đoán rằng Benjanmin có cùng một vấn đề tôi gặp phải khi làm lại hình ảnh: (1) JPG đã bị mất một số dữ liệu hình ảnh và (2a) RAW là độc quyền (phần mềm chỉ có sẵn trong một thời gian), (2b) không phải mọi máy ảnh cung cấp RAW. Cách đây vài năm, tôi đã rất mong muốn TIFF hoặc PNG trong máy compact của mình.
Leonidas


2

PNG là đồ họa mạng di động . Nó được nhắm mục tiêu cho web và hình ảnh khá đơn giản (màu sắc). Khả năng nén của nó rất kém hiệu quả đối với đồ họa chân thực vì bạn sẽ chụp bằng máy ảnh, vì vậy kết quả gần như không bị nén. Như vậy, sau đó bạn có thể chỉ cần sử dụng các tệp RAW, điều này làm tăng thêm lợi ích, rằng không có chuyển đổi mất mát sang không gian màu RGB.

Lý do JPEG được sử dụng đơn giản là khả năng nén của nó rất tốt và hoạt động rất tốt với đồ họa chân thực hơn, nơi các tạo tác riêng lẻ không thể nhìn thấy bằng mắt người. Ngoài ra, JPEG được hỗ trợ bởi gần như bất kỳ thiết bị nào và cung cấp nhiều cách để thêm siêu dữ liệu bổ sung, bao gồm cả cấu hình màu.

Không có định dạng tệp RGB duy nhất có thể lưu trữ hình ảnh chính xác như cảm biến máy ảnh nhìn thấy; luôn luôn có một số loại mất mát trong chuyển đổi đó. Vì vậy, thật hợp lý khi sử dụng một định dạng có độ nén tốt mà không thực sự gây hại cho bức tranh. Nếu bạn đang tìm kiếm một định dạng lossless thực sự, RAW của máy ảnh là hướng duy nhất bạn có thể đi, từ đó bạn có thể tạo bất kỳ tệp nào bạn muốn.


Chuyển đổi tổn thất sang không gian màu RGB? Làm sao vậy Bạn chính xác mất gì khi chuyển đổi dữ liệu cảm biến (dữ liệu phụ gia) của Bayer sang một dạng của các phiên bản RGB? (Btw: PNG cũng cung cấp các cấu hình ICC về nguyên tắc, FF có kế hoạch hỗ trợ nó, tôi đã đọc.)
Leonidas

@Leonidas: Không có không gian màu nào của RGB RGB. Máy ảnh thu thập nhiều thông tin hơn những gì có thể hiểu được bởi bất kỳ không gian màu RGB nào (sRGB, Adobe RGB, v.v.). Như vậy khi chuyển đổi được thực hiện thành tệp RGB, luôn có một số thông tin / màu sắc bị mất. Cách duy nhất để bảo tồn điều đó là lưu dữ liệu theo cách máy ảnh nhìn thấy, tức là RAW.
chọc

@poke Bạn có thể giải thích làm thế nào một cảm biến RGGB điển hình tạo ra dữ liệu không thể chuyển đổi thành lossless ở bất kỳ định dạng RGB nào không? (Tôi biết rằng có nhiều, lưu ý "một dạng của các phiên bản RGB".)
Leonidas

@Leonidas: Tôi có thể sai với nó, và nếu bạn biết rõ hơn (hoặc đang lừa tôi nói điều gì đó sai ở đây), xin vui lòng sửa cho tôi, nhưng cho rằng cảm biến không tách ánh sáng mà nó nhìn thấy thành 256 bước cho mỗi màu , Tôi không nghĩ rằng bất kỳ định dạng tệp RGB hoặc không gian màu RGB bình thường nào cũng có thể chứa tất cả thông tin đó. Tôi biết rằng cảm biến sẽ thu thập dữ liệu dưới dạng thông tin RGB, vì vậy về mặt lý thuyết có thể có một không gian màu RGB nếu có một cảm biến có thể chứa nhiều thông tin như hình ảnh thực sự chứa.
chọc

@poke Không có mẹo nào ở đây, tôi thực sự nghi ngờ rằng sẽ không có bất kỳ định dạng RGB nào cung cấp gam màu của cảm biến. Liên quan đến sự phân biệt đối xử - Tôi nghĩ rằng các định dạng 16 bit / kênh cung cấp đủ chỗ để nhận nó. Ví dụ: trong photo.stackexchange.com/questions/8707/raw- Processing-software / sắt jrista đề cập đến việc khử màu được gọi là Bayer Dri khó mà dường như được thiết kế để giữ bất kỳ dữ liệu nào có sẵn.
Leonidas

1

Cả hai định dạng đều có ưu và nhược điểm.

Nhưng lý do thực sự khiến JPEG phổ biến hơn PNG là những người đứng sau JPEG thực hiện cấp phép mạnh mẽ, điều mà PNG thiếu. (www.libpng.org/pub/png/)

Điều này rất giống với MP3 so với OGG so với FLAC. Người tạo MP3 được cấp phép mạnh mẽ ngay từ đầu ... dẫn đến sự phổ biến. Do đó, bây giờ, các nhà sản xuất tiếp cận MP3 để lấy giấy phép!


0

IMO bạn nên luôn luôn chụp ở định dạng RAW, nếu bạn không lo lắng về chi phí bộ nhớ thì RAW là cách tốt nhất. Điều này cung cấp cho bạn cơ hội tốt nhất để chỉnh sửa hình ảnh trong xử lý bài.

Dưới đây là một trích dẫn từ: http://www.hackerfactor.com/blog/index.php?/archives/252-PNG-and-Cameras.html

PNG là hoàn toàn tuyệt vời để lưu trữ hình ảnh màu 24 bit thực sự. Xử lý tệp PNG rất đơn giản và không yêu cầu các trường dành riêng cho ứng dụng. Tuy nhiên, nó đắt tiền về mặt tính toán, thiếu khả năng lưu trữ nhiều hình ảnh và không có nhiều trường văn bản được tiêu chuẩn hóa để quản lý dữ liệu meta.

JPEG là một định dạng tệp lãng phí chứa đầy các lĩnh vực chuyên ngành. Nó cũng là một lựa chọn kém cho đại diện màu sắc thực sự. Tuy nhiên, nó không tốn kém về mặt tính toán, hỗ trợ lưu trữ nhiều hình ảnh và nhân rộng hình ảnh là chuyện nhỏ. Và đáng buồn thay, nó được chấp nhận rộng rãi như là tiêu chuẩn thực tế.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.