Ưu điểm của việc sử dụng một định dạng tệp hình ảnh cụ thể là gì?


11

Nếu tôi chỉnh sửa tệp hình ảnh bằng một số ứng dụng như GIMP, Photoshop hoặc MS Paint , trong khi lưu, tôi sẽ được yêu cầu chọn định dạng tệp được yêu cầu. Có nhiều định dạng khác nhau, các định dạng phổ biến là JPEG , PNGBMP , GIFTIFF . Với một số chương trình, thậm chí còn có nhiều định dạng hơn như JP2 .

Vậy tôi nên chọn phương án nào? Những ưu điểm và nhược điểm của việc sử dụng một định dạng tệp cụ thể là gì?


Tôi hy vọng rằng bản chỉnh sửa của tôi không vi phạm bất kỳ điều gì được nói trong "Có phải hệ thống đang chơi trò chơi để chỉnh sửa một câu hỏi mà bạn cũng đã trả lời không?" - Nếu có, hãy thoải mái cuộn lại. Ý định chỉnh sửa: Đó là một câu hỏi hay có tiêu đề quá cụ thể (IMHO), đặc biệt là khi HEIF và các định dạng khác đang bắt đầu trở nên phổ biến.
flolilo

@flolilolilo Tôi không nghĩ đó là một vấn đề ở đây .. Tôi hơi lo ngại rằng điều này sẽ nhận được ít lưu lượng tìm kiếm không phải trả tiền và chúng tôi sẽ phải đóng nhiều bản sao thủ công hơn, nhưng, eh.
Xin vui lòng đọc hồ sơ của tôi

@mattdm Xin lỗi, tôi không có ý giới thiệu thêm lao động ở đây! Tôi chỉ nghĩ rằng "tôi nên sử dụng JPEG, BMP hay PNG" để mở ra cánh cửa cho ... tốt, tất cả các codec khác. Nếu chỉ là tôi, thì không cần phải giữ nó theo cách này.
flolilo

Câu trả lời:


12

JPEG

JPEG bị mất, có nghĩa là nó nén hình ảnh (một phần) bằng cách loại bỏ dữ liệu. Dữ liệu mà nó loại bỏ (thông thường) được chọn để giảm thiểu ảnh hưởng đến chất lượng hình ảnh, nhưng nó (hầu như) luôn mất ít nhất một chút chất lượng - và tùy thuộc vào mức chất lượng bạn chọn, nó có thể mất khá nhiều. Đối với hầu hết các bức ảnh, nó nên được coi là định dạng chỉ hiển thị - một khi bạn đã chuyển đổi một cái gì đó thành JPEG, bạn không muốn chỉnh sửa thêm nữa. Nếu bạn cần thực hiện thay đổi, bạn bắt đầu lại từ một số định dạng khác, thực hiện các thay đổi và thực hiện chuyển đổi JPEG khác.

JPEG 2000, JPEG XR

Có các phiên bản mới hơn của đặc tả JPEG. Chúng xác định các hình thức nén hình ảnh mới thường có thể đánh đổi tốt hơn giữa kích thước tệp và chất lượng hình ảnh - sự lựa chọn của bạn có cùng chất lượng với một tệp nhỏ hơn hoặc chất lượng tốt hơn với cùng kích thước tệp. Chúng cũng hỗ trợ độ phân giải màu cao hơn (ví dụ: 16 bit trên mỗi kênh và các định dạng dấu phẩy động để hỗ trợ dải động cao). Từ góc độ kỹ thuật, chúng cực kỳ hấp dẫn. Nhược điểm lớn là gần như không nhiều chương trình biết cách đọc, hiển thị, thao tác hoặc viết chúng.

HEIF

Giống như TIFF, HEIF thực sự là một định dạng chứa, có thể chứa hình ảnh được mã hóa bằng nhiều phương thức khác nhau (chủ yếu là h.265, nhưng cũng là h.264 và JPEG). Nó cung cấp tỷ lệ chất lượng tốt hơn so với kích thước tệp so với JPEG gốc. Giống như TIFF (hoặc GIF), bạn có thể đóng gói toàn bộ chuỗi hình ảnh thành một tệp duy nhất. Mặc dù có sự phô trương đáng kể khi HEIF được giới thiệu vào năm 2014, với nhiều tuyên bố về việc cuối cùng nó sẽ là định dạng giết chết JPEG như thế nào, hầu hết sự phấn khích dường như đã xì hơi mà không làm thay đổi JPEG ở bất kỳ mức độ đáng kể nào.

BPG

BPG là một định dạng được thiết kế bởi lập trình viên nổi tiếng Fabrice Bellard. Nó tương tự như HEIF về cơ bản là một thùng chứa cho một hình ảnh được mã hóa với h.265. Tuy nhiên, trình bao bọc có một chút khác biệt, vì vậy cả hai không tương thích với nhau. Tuy nhiên, từ quan điểm nhiếp ảnh, BPG có một lợi thế khá đáng kể: nó trực tiếp hỗ trợ nhúng dữ liệu EXIF ​​vào tệp hình ảnh.

JPEG lossless

Mặc dù những gì chúng ta thường nghĩ là JPEG bị mất, các thông số kỹ thuật của JPEG cũng xác định các định dạng tệp sử dụng nén không mất dữ liệu. Vì nén không mất dữ liệu, chúng thường không tạo ra các tệp nhỏ như nén JPEG thông thường, nhưng chúng thực sự làm rất tốt cho nén không mất dữ liệu - tốt hơn nhiều so với nén đa mục đích như mã hóa LZW hoặc Huffman thông thường thậm chí còn hy vọng trên hình ảnh. Giống như JPEG 2000 và JPEG XR, chúng hoạt động tốt, nhưng thiếu sự hỗ trợ.

QUÀ TẶNG

GIF chỉ sử dụng nén không mất dữ liệu, nhưng bị giới hạn ở các màu 8 bit (256), điều này khá hạn chế đối với các bức ảnh.

PNG

PNG được thiết kế để thay thế cho GIF và chủ yếu là thành công. Nó hỗ trợ màu 24 bit (mỗi bit 8 bit cho màu đỏ, xanh lá cây và xanh dương) và sử dụng nén không mất dữ liệu. Nó có độ phân giải màu cần thiết cho ảnh, nhưng nén mà nó sử dụng có xu hướng khá kém hiệu quả đối với hầu hết các ảnh, vì vậy các tệp có kết quả khá lớn. Nhược điểm lớn khác của PNG là nó không xác định cách lưu trữ dữ liệu EXIF ​​(hoặc tương tự), vì vậy nếu bạn sử dụng nó để lưu trữ ảnh, bạn phải lưu trữ siêu dữ liệu riêng biệt. Điều đó có thể tốt cho việc sử dụng của riêng bạn, nhưng có nghĩa là nó thường sẽ bị mất nếu bạn sử dụng nó trên một trang web, hoặc bất cứ điều gì tương tự.

TIFF

TIFF thực sự là một định dạng chứa cho phép bạn chèn nhiều loại dữ liệu vào trong thùng chứa. Mặc dù nó được sử dụng chủ yếu cho hình ảnh, nhưng nó thực sự giống như một hệ thống tệp, vì vậy về mặt lý thuyết bạn có thể sử dụng nó cho hầu hết mọi loại dữ liệu. Điều này có một vài hậu quả. Một là ngay cả khi một chương trình hỗ trợ các tệp TIFF, nó có thể không hỗ trợ tất cả các tệp TIFF - ví dụ: nhiều chương trình không hỗ trợ các hình ảnh được nén LZW. Trong thực tế, rất ít chương trình hỗ trợ tất cả các tệp TIFF có thể. Một hậu quả khác là TIFF có xu hướng có một lượng chi phí khá lớn và việc viết mã để hỗ trợ TIFF (hoàn toàn tốt) là một nỗi đau (đó là lý do tại sao rất nhiều chương trình chỉ hỗ trợ nó không đầy đủ).

BMP

BMP về cơ bản chỉ là một bitmap độc lập của thiết bị Windows được ghi ra đĩa. Nó chỉ hỗ trợ cực kỳ hạn chế cho việc nén (và hầu hết các BMP đều không nén). Các chương trình được viết cho Windows có thể đọc / ghi BMP thực sự dễ dàng, nhưng không có gì khác để giới thiệu nó (đặc biệt, các tệp BMP có xu hướng khá lớn đối với lượng dữ liệu được lưu trữ). BMP thiếu mọi cách để lưu trữ siêu dữ liệu EXIF ​​(hoặc tương tự). BMP giống như PNG, nhưng cụ thể hơn đối với Windows.

Phần kết luận

JPEG là hữu ích như một định dạng đầu ra (ví dụ, để hiển thị mọi thứ trên các trang web thật tốt vì nó nhỏ gọn và hầu như mọi người đều có thể đọc nó).

TIFF thường được sử dụng như một định dạng trung gian để (ví dụ) lưu trữ một tệp mà sau này có thể được chỉnh sửa.

Giới hạn 256 màu làm cho GIF gần như vô dụng đối với các bức ảnh. BMP và PNG về cơ bản là vô hại đối với ảnh, nhưng không thể lưu trữ siêu dữ liệu và việc nén chúng sử dụng hiếm khi rất hiệu quả đối với ảnh (mặc dù giá lưu trữ hiện đủ thấp để khá nhiều người có thể không quan tâm đến điều đó).


4
PNG thực sự hỗ trợ 32 bit, vì nó cũng hỗ trợ 8 bit kênh alpha. Không quan trọng để lưu trữ các bức ảnh hoàn chỉnh, nhưng nếu ví dụ tạo ra một hình ảnh được sử dụng trên một trang web, thì kênh alpha 8 bit có thể thực sự quan trọng.
Pete

Tại sao PNG không hữu ích cho ảnh?
Clickety Ricket 15/03/19

1
@ClicketyRicket: Tôi đã chỉnh sửa để thêm một chút thông tin mà tôi hy vọng sẽ giải thích tình huống tốt hơn.
Jerry Coffin

@JerryCoffin Bạn có nghĩ rằng bạn có thể thêm một cái gì đó về JPEG XR và có thể là HEIF không?
Xin vui lòng đọc hồ sơ của tôi

@mattdm: Có vẻ hợp lý.
Jerry Coffin

5

Nói chung, tôi có thể nói rằng bạn có thể muốn lưu vào một định dạng hỗ trợ siêu dữ liệu trừ khi bạn có lý do thuyết phục để làm khác. Về vấn đề đó, jpeg và tiff là hai định dạng phổ biến nhất để chụp ảnh ngoài RAW + XMP hoặc DNG.

Tôi đã sử dụng PNG trong một số danh mục đầu tư trực tuyến của mình, khi tôi đã làm tròn các góc của hình ảnh thu nhỏ của mình để triển lãm đẹp hơn và làm một cái gì đó để làm cho công việc của tôi khác biệt với mọi người. Mặt trái của điều này là PNG không hỗ trợ siêu dữ liệu. Điều này đã hạn chế tôi ở rất nhiều khía cạnh, vì hầu hết các trang web ảnh trực tuyến tốt hơn đều hỗ trợ trích xuất và hiển thị siêu dữ liệu tự động (ví dụ Flickr).

Nói rõ hơn ... khi trưng bày các phiên bản thu nhỏ của nghệ thuật trực tuyến của bạn, chẳng hạn như trên Flickr, DeviantArt, 1x, RedBubble, v.v ... có lẽ tốt nhất là sử dụng JPEG làm định dạng đầu ra cuối cùng của bạn. Những tệp này có chất lượng tốt nhưng rất nhỏ gọn và hỗ trợ siêu dữ liệu. Để lưu trữ lâu dài các bản gốc, tôi sẽ khuyên dùng RAW + XMP, DNG hoặc TIFF, vì tất cả các định dạng đó đều nén không mất dữ liệu và cũng giữ siêu dữ liệu. TIFF có thể là lựa chọn tốt nhất cho bạn nếu bạn đang sử dụng Gimp. Bản thân tôi đã sử dụng RAW + XMP, vì tôi thích có các tệp thô ban đầu của mình ... nhưng tôi cũng đã xem xét chuyển đổi mọi thứ sang DNG để đơn giản hóa việc quản lý tệp.


5

Chuẩn bị cho một bài viết lớn - vâng, điều này nằm ngoài tầm tay ...

Bắt buộc xkcd:

xkcd # 927 "Tiêu chuẩn"

Thật không may, không có định dạng 'tốt nhất' đơn giản. Một số được hỗ trợ rất tốt, một số cung cấp tính linh hoạt cực cao, một số cung cấp nén không mất dữ liệu, ...

Phần đầu tiên của câu trả lời này ("Tính năng" & "Tổng quan ngắn gọn về các định dạng") sẽ nói về kỹ thuật, trong khi phần thứ hai ("(Khác) Những điều cần xem xét") hướng nhiều hơn vào các khía cạnh thực tế của việc lựa chọn định dạng .


Đặc trưng:

Xin lưu ý rằng hầu như không thể bao gồm mọi hack cho mọi định dạng - ví dụ: GIF có thể được lưu mà không cần nén bằng cách bỏ qua bảng LZW. Tại sao tôi không đề cập đến điều này dưới đây? Bởi vì 99% tất cả các GIF tôi từng gặp đã sử dụng LZW, bởi vì LZW ngày nay không có năng lực tính toán và vì bài đăng này cố gắng làm rõ tình huống cho các tình huống phổ biến, không phải cho bộ phận R & D của ILM. Các nhiếp ảnh gia sẽ sử dụng các tập tin của họ để lưu trữ, xuất bản và in, vì vậy đây là những điều tôi xem xét ở đây.

Thông tin được kiểm tra chéo giữa các bài viết, thông số kỹ thuật tương ứng của Wikipedia, so sánh Wikidanh sách hỗ trợ siêu dữ liệu của exiftool .

               |  Bits per  |                          |     Supported by 
 Codec | Lossy |  Channel   |   Metadata    | Channels |       Programs       | Good for (IMHO)
-------------------------------------------------------------------------------------------------
  BMP  |   n   |    <= 8    |      -        |   RGBA   | Most propr. & free   | Archival
  BPG  |   y   |   <= 14    |   EXIF+XMP    |   RGBA   |                      | 
  EXR  |   o   |   <= 32    |     y(?)      |  RGBAD   |                      | VFX workflow
  FLIF |   o*  |   <= 16    |   EXIF+XMP    |   RGBA   |                      | To be seen
  GIF  |   n   |   <= 8*    |      XMP      |   RGB    | Most propr. & free   | GIFs ;-)
  HEIF |   o*  |   <= 16    |   EXIF+XMP    | RGB(A/D) |                      | To be seen
  JPEG |   y*  |    <= 8    | EXIF+IPTC+XMP |   RGB    | ~ all propr. & free  | Online; Easy access
  JP2K |   o   |   <= 32    | EXIF+IPTC+XMP |   RGBA   |                      | 
  JXR  |   o   |   <= 32    | EXIF+IPTC+XMP |   RGBA   |                      | 
  PNG  |   n   |   <= 16    | EXIF+IPTC+XMP*|   RGBA   | Most propr. & free   | CAD-drawings; Online
  TGA  |   n   |    <= 8    |     y(?)      |   RGBA   |                      | 
  TIFF |   o   |   <= 32    |   EXIF+XMP    |   RGBA   | Most propr. & free   | Archival; Editing
  WebP |   o   |    <= 8    |   EXIF+XMP    |   RGBA   |                      | 

Chú thích : o... Tùy chọn; n... Không có sẵn; y... có sẵn; D... Chiều sâu; *... Nhìn bên dưới theo văn bản.


Tổng quan về các định dạng:

BMP

 Feature      | 
-----------------------------------------------------------------
 Introduced   | 1990
 Open + Free  | Both per Microsoft's Open Specification Promise
 Colorspace   | R:G:B[:A] (4:4:4[:4])
 b/c/p        | 1:0:0[:0], 5:6:5, 8:8:8[:8]
 Compression  | None [RLE in 5:6:4] (so: lossless)
 Maximum Size | 4 GiB
 Metadata     | [ICC]
 OS support   | Virtually all OSs with a graphical interface

Chú thích : b/c/p... bit trên mỗi kênh (ví dụ R, G, B) trên mỗi pixel. những thứ trong [ ]là tùy chọn; ?... đoán có giáo dục / không có đầu mối.

Các tập tin 'Bitmap' được mã hóa thành các dòng và thường không được nén, do đó, một lần lật bit sẽ chỉ phá hủy một dòng hình ảnh Miễn là nó không lật tiêu đề, điều này sẽ khiến việc giải mã khó hơn - hãy tự mình thử với HEX biên tập viên! . Vì nó không cung cấp nén (tốt), kích thước tệp rất lớn, vì nó phải lưu thông tin đầy đủ cho từng pixel. Vì sự cứng nhắc của nó, nó có thể tốt cho việc lưu trữ lâu dài.


BPG

 Feature      | 
---------------------------------------------------------------------
 Introduced   | 2014
 Open + Free  | Yes (but HEVC patents might be problematic)
 Colorspace   | R:G:B[:A] (4:4:4[:4]); Y:Cb:CR[:A] (4:2:0[:4] - 4:4:4[:4]);
              | Y:Cg:Co[:A] (4:2:0[:4] - 4:4:4[:4]); C:M:Y:K (4:4:4:4)
 b/c/p        | 8 - 14
 Compression  | HEVC (lossy / lossless)
 Maximum Size | ?
 Metadata     | [EXIF]; [ICC]; [XMP]
 OS support   | Linux, Mac, Windows (at least through browser decoding)

Chú thích : b/c/p... bit trên mỗi kênh (ví dụ R, G, B) trên mỗi pixel. những thứ trong [ ]là tùy chọn; ?... đoán có giáo dục / không có đầu mối.

'Đồ họa di động tốt hơn' (BPG) sử dụng HEVC, mà bạn có thể biết từ bộ giải mã video h.265 . Nó có nghĩa là sự kế thừa cho JPEG, nhưng không bao giờ đủ phổ biến. Với sự gia tăng của HEIF, khá giống nhau theo một số cách nhưng phổ biến hơn, điều hợp lý là HEIF sẽ được ưa thích hơn. HEVC vượt trội hơn nhiều về mặt nén so với DCT của JPEG - tuy nhiên, nó không so sánh tốt ở tất cả nhưng tốc độ bit thấp hơn, vì nó có xu hướng bị mờ.


EXR

 Feature      | 
---------------------------------------------------------------------
 Introduced   | 1999
 Open + Free  | Yes
 Colorspace   | R:G:B[:A][:D] (4:4:4[:4][:4])
 b/c/p        | <= 32
 Compression  | [RLE]; [ZIP]; [PIZ]; ... [lossless (usual) / lossy]
 Maximum Size | > 4 GiB
 Metadata     | [Yes (XMP-style)]
 OS support   | Linux, Mac, Windows (through library)

Chú thích : b/c/p... bit trên mỗi kênh (ví dụ R, G, B) trên mỗi pixel. những thứ trong [ ]là tùy chọn; ?... đoán có giáo dục / không có đầu mối.

OpenEXR được thiết kế bởi Đèn công nghiệp và ma thuật (ILM) dưới dạng định dạng trung gian cho quy trình công việc VFX. Nó có thể chứa nhiều kênh ở độ sâu bit rất cao, nhiều hình ảnh và siêu dữ liệu trong một tệp. Nó cung cấp các thuật toán nén khác nhau - hoặc không nén gì cả. EXR có thể được so sánh với TIFF - EXR cung cấp nhiều tùy chọn hơn, trong khi TIFF rất phổ biến.


FLIF

 Feature      | 
---------------------------------------------------------------------
 Introduced   | 2015
 Open + Free  | Yes
 Colorspace   | R:G:B[:A] (4:4:4[:4]) (CMYK and YCbCr in ToDo-List)
 b/c/p        | <= 16
 Compression  | MANIAC (variant of CABAC, used in AVC/HEVC) (lossless / lossy (1st generation))
 Maximum Size | > 4 GiB
 Metadata     | [EXIF]; [ICC]; [XMP]
 OS support   | Linux, Mac, Windows (through provided viewer)

Chú thích : b/c/p... bit trên mỗi kênh (ví dụ R, G, B) trên mỗi pixel. những thứ trong [ ]là tùy chọn; ?... đoán có giáo dục / không có đầu mối.

Format Định dạng hình ảnh không mất dữ liệu miễn phí '(FLIF) sử dụng công cụ nén HEVC không mất dữ liệu. FLIF tuyên bố có tỷ lệ nén cực cao so với tất cả các định dạng khác của thời gian - trong khi các thử nghiệm của riêng tôi khiến tôi tin vào điều này, nó thực sự cần khả năng tính toán để có thể sử dụng được (Một vài phút thời gian mã hóa cho một hình ảnh 24 MP với một siêu âm Hexacore 4,3 GHz không tốt lắm: D) . Tuy nhiên, vì nó là một codec trẻ, những cải tiến có thể xuất hiện. Nó cung cấp hỗ trợ cho hình ảnh động, kênh alpha, giải mã lũy tiến và thậm chí mã hóa mất dữ liệu (không mất thêm thế hệ sau lần mã hóa đầu tiên). Chỉ có thời gian sẽ cho thấy nếu nó sẽ thành công, và thành thật mà nói, tôi khá hy vọng như vậy, vì nó dường như cung cấp một giải pháp duy nhất cho nhiều vấn đề.


QUÀ TẶNG

 Feature      | 
---------------------------------------------------------------------
 Introduced   | 1987
 Open + Free  | Yes
 Colorspace   | R:G:B[:A] (4:4:4[:4])
 b/c/p        | 2 (palette of 256 colors in total)
 Compression  | LZW (lossless)
 Maximum Size | < 4 GiB
 Metadata     | [XMP]
 OS support   | Virtually all OSs with a graphical interface

Chú thích : b/c/p... bit trên mỗi kênh (ví dụ R, G, B) trên mỗi pixel. những thứ trong [ ]là tùy chọn; ?... đoán có giáo dục / không có đầu mối.

Mặc dù Format Định dạng trao đổi đồ họa '(GIF) cung cấp 8 bit cho mỗi kênh trên mỗi pixel, nhưng nó sẽ giảm chúng thành một bảng màu gồm 256 màu (có thể bao gồm "màu nền"). Nó chủ yếu được sử dụng cho hoạt hình - điều duy nhất mà PNG không thể làm tốt hơn, vì bản thân PNG không cung cấp hỗ trợ hoạt hình.


HEIF

 Feature      | 
----------------------------------------------------------------------
 Introduced   | 2015
 Open + Free  | No (patents)
 Colorspace   | ? Y:Cb:Cr[:A/:D] (4:2:0[:4]) ?
 b/c/p        | <= 16
 Compression  | HEVC (lossy)
 Maximum Size | < 4 GiB
 Metadata     | [EXIF]; [XMP]
 OS support   | Linux, Mac, Windows

Chú thích : b/c/p... bit trên mỗi kênh (ví dụ R, G, B) trên mỗi pixel. những thứ trong [ ]là tùy chọn; ?... đoán có giáo dục / không có đầu mối.

Format Định dạng hình ảnh hiệu quả cao '(HEIF) cũng sử dụng HEVC để nén. Ngoài các kênh màu, nó cũng có thể giữ kênh alpha hoặc bản đồ độ sâu (được sử dụng cho các hiệu ứng độ sâu trường phần mềm sau này ). Ngoài ra, chỉnh sửa thô sơ có thể xảy ra mất mát. Theo mã thông số kỹ thuật, nó cũng có chế độ nén không mất dữ liệu. Vì tất cả các hệ điều hành lớn đều hỗ trợ nó, có vẻ như là ứng cử viên có khả năng nhất cho sự kế thừa của JPEG (nếu có).


JPEG

 Feature      | 
----------------------------------------------------------------------
 Introduced   | 1991
 Open + Free  | Sort of (free library, but patent might apply)
 Colorspace   | Y:Cb:Cr (4:2:0 (typical) - 4:4:4)
 b/c/p        | 8
 Compression  | DCT (lossy)
 Maximum Size | < 2 GiB
 Metadata     | [EXIF]; [ICC]; [IPTC]; [XMP]
 OS support   | Virtually all OSs with a graphical interface

Chú thích : b/c/p... bit trên mỗi kênh (ví dụ R, G, B) trên mỗi pixel. những thứ trong [ ]là tùy chọn; ?... đoán có giáo dục / không có đầu mối.

'Nhóm chuyên gia chụp ảnh chung' (JPEG) được cho là định dạng hình ảnh được sử dụng nhiều nhất hiện nay. Nó sử dụng phép biến đổi cosine rời rạc (DCT), thuộc loại mất mát. Có một đặc điểm kỹ thuật lossless, nhưng nó không được sử dụng quá thường xuyên. Một số chương trình có thể thực hiện một số hành động thô sơ nhất định (ví dụ như xoay) một cách dễ dàng, mặc dù điều này cũng yêu cầu chiều rộng và chiều cao của hình ảnh chia hết cho 8 (kích thước khối của JPEG) - ví dụ 800x640 sẽ hoạt động, 804x643 sẽ không hoạt động. JPEG không có tùy chọn để lưu hình ảnh trong RGB - nó biến đổi hình ảnh thành không gian màu YCbCr và thường giảm thông tin pixel từ 4: 4: 4 (mọi pixel đều có tất cả các kênh) thành 4: 2: 0 (mọi kênh đều có độ chói, nhưng chỉ mỗi pixel thứ 4 có giá trị Cb / Cr). Như với hầu hết các chuyển đổi không gian màu, điều này có thể dẫn đến sự khác biệt có thể nhận thấy, đặc biệt là trong các màu sắc cực đoan. JPEG nhanh chóng được mã hóa và không quá tệ trong các cài đặt chất lượng cao, nhưng với tôi, những điều được đề cập ở trên sẽ không khiến tôi khóc nếu nó biến mất - nó phục vụ chúng tôi tốt, nhưng các định dạng hình ảnh được sử dụng có thể hơn một chút ... gần đây. Rốt cuộc, máy tính phát triển tốt từ năm 1991.


JP2k

 Feature      | 
----------------------------------------------------------------------
 Introduced   | 2000 (duh...)
 Open + Free  | No (patents)
 Colorspace   | ? Y:Cb:Cr[:A] (4:4:4[:4]) ?
 b/c/p        | 8 - 32
 Compression  | Wavelet (lossy / lossless)
 Maximum Size | ?
 Metadata     | [EXIF]; [ICC]; [IPTC]; [XMP]
 OS support   | Linux, Mac, Windows (at least through viewer programs)

Chú thích : b/c/p... bit trên mỗi kênh (ví dụ R, G, B) trên mỗi pixel. những thứ trong [ ]là tùy chọn; ?... đoán có giáo dục / không có đầu mối.

'JPEG 2000' (JP2k hoặc JP2) là sự kế thừa chính thức cho JPEG. Nó sử dụng sóng con thay vì DCT, cung cấp các vật phẩm ít khối hơn và nhìn chung linh hoạt hơn JPEG. Mặc dù tất cả điều này, nó không bao giờ thực sự bắt kịp với JPEG.


JXR

 Feature      | 
----------------------------------------------------------------------
 Introduced   | 2009
 Open + Free  | Yes (Microsoft Open Specification Promise)
 Colorspace   | Y:Cb:Cr[:A] (4:2:0[:4] - 4:4:4[:4]); Y:Cg:Co[:A] (? 4:2:0[:4] - 4:4:4[:4] ?);
              | C:M:Y:K [4:4:4:4]
 b/c/p        | 8 - 32 (16 for CMYK)
 Compression  | DCT (lossy / lossless)
 Maximum Size | ?
 Metadata     | [EXIF]; [ICC]; [IPTC]; [XMP]
 OS support   | Linux, Mac, Windows (at least through viewer programs)

Chú thích : b/c/p... bit trên mỗi kênh (ví dụ R, G, B) trên mỗi pixel. những thứ trong [ ]là tùy chọn; ?... đoán có giáo dục / không có đầu mối.

'Phạm vi mở rộng JPEG' (JPEG XR, JXR) là một nỗ lực khác để thành công JPEG. Không gian màu YCgCo của nó vượt trội hơn YCbCr vì nó hoàn toàn có thể đảo ngược. Mặc dù một số phần mềm hỗ trợ nó, nhưng nó cũng không bao giờ gần với sự nổi tiếng của các định dạng khác.


PNG

 Feature      | 
----------------------------------------------------------------------
 Introduced   | 1996
 Open + Free  | Yes
 Colorspace   | R:G:B[:A] (4:4:4[:4])
 b/c/p        | 8 - 16
 Compression  | DEFLATE (lossless)
 Maximum Size | ?
 Metadata     | [EXIF]; [ICC]; [IPTC]; [XMP]
 OS support   | Virtually all OSs with a graphical interface

Chú thích : b/c/p... bit trên mỗi kênh (ví dụ R, G, B) trên mỗi pixel. những thứ trong [ ]là tùy chọn; ?... đoán có giáo dục / không có đầu mối.

'Đồ họa mạng di động' (PNG) đã được giới thiệu như là một sự kế thừa cho GIF. Mặc dù thiết kế không bị mất dữ liệu, các tệp PNG có thể được tối ưu hóa bằng một số công cụ, một số trong đó sẽ nén tệp theo cách mất mát. PNG sử dụng nén DEFLATE, vì vậy nó khá hiệu quả cho đồ họa (như bản vẽ CAD, ảnh chụp màn hình, ...), nhưng kém hiệu quả hơn cho ảnh. Mặc dù nó cung cấp hỗ trợ cho siêu dữ liệu, một số chương trình gặp khó khăn khi đọc chúng. Cảm ơn vì đã ngẩng cao đầu, @mattdm !


TGA

 Feature      | 
----------------------------------------------------------------------
 Introduced   | 1984
 Open + Free  | ? Yes
 Colorspace   | R:G:B[:A] (4:4:4[:4])
 b/c/p        | <= 8
 Compression  | RLE (lossless)
 Maximum Size | ? < 2 GiB
 Metadata     | Rudimentary
 OS support   | ? Virtually all OSs with a graphical interface

Chú thích : b/c/p... bit trên mỗi kênh (ví dụ R, G, B) trên mỗi pixel. những thứ trong [ ]là tùy chọn; ?... đoán có giáo dục / không có đầu mối.

'Truevision TGA' / 'TARGA' (TGA) là định dạng fie mà tôi chỉ đưa vào vì dường như mọi người đều biết. Nó được giới thiệu vào năm 1984. Nó hỗ trợ nén không mất dữ liệu (RLE) sẽ hoạt động tốt cho đồ họa, nhưng không tốt cho ảnh.


TIFF

 Feature      | 
----------------------------------------------------------------------
 Introduced   | 1986
 Open + Free  | ? Yes
 Colorspace   | R:G:B[:A] (4:4:4[:4]); Y:Cb:Cr[:A] (? 4:2:0[:4] - 4:4:4[:4] ?);
              | C:M:Y:K (? 4:4:4:4 ?); L:a:b[:A] (? 4:4:4:[A] ?)
 b/c/p        | 8 - 32
 Compression  | [LZW (lossless)]; [ZIP (lossless)]; [JPEG (lossy)]
 Maximum Size | ?
 Metadata     | [EXIF]; [ICC]; [XMP]
 OS support   | Virtually all OSs with a GUI support >= 1 of the compression types

Chú thích : b/c/p... bit trên mỗi kênh (ví dụ R, G, B) trên mỗi pixel. những thứ trong [ ]là tùy chọn; ?... đoán có giáo dục / không có đầu mối.

'Định dạng tệp hình ảnh được gắn thẻ' (TIF hoặc TIF) cũng đã xuất hiện từ lâu. Nó cung cấp hỗ trợ lớp (tức là nhiều hình ảnh RGBA xếp chồng lên nhau). TIFF thường được sử dụng làm tệp trung gian vì được hỗ trợ rộng rãi và khá linh hoạt về khả năng của chúng.


WebP

 Feature      | 
----------------------------------------------------------------------
 Introduced   | 2010
 Open + Free  | Yes
 Colorspace   | R:G:B:A (4:4:4[:4]) lossless; Y:Cb:Cr[:A] (4:2:0[:4]) lossy
 b/c/p        | 8
 Compression  | VP8 (lossless / lossy)
 Maximum Size | ?
 Metadata     | [EXIF]; [ICC]; [XMP]
 OS support   | Linux, Mac, Windows (at least through browser decoding)

Chú thích : b/c/p... bit trên mỗi kênh (ví dụ R, G, B) trên mỗi pixel. những thứ trong [ ]là tùy chọn; ?... đoán có giáo dục / không có đầu mối.

'WebP' sử dụng VP8 (định dạng đối thủ nguồn mở cho AVC). Như với BPG, nó không bao giờ có bước nhảy vọt vào các thiết bị tiêu dùng, mặc dù có vẻ như nó được sử dụng bởi nhiều dịch vụ internet.


(Khác) Những điều cần xem xét:

Mã hóa lại (mất thế hệ)

Mã hóa lại một tệp lossless sẽ không thay đổi bất cứ điều gì - mã hóa lại một tệp bị mất gần như chắc chắn sẽ dẫn đến các vật phẩm. JPEG có thể xử lý việc này khá tốt nếu bạn lưu tệp trong cùng cài đặt chất lượng mà nó đã được lưu trước đó.

Video này cho thấy sự mất thế hệ khá tốt - khung đầu tiên hiển thị tệp gốc, trong khi tất cả các video khác hiển thị nén lại ở các cài đặt chất lượng khác nhau. (Lưu ý rằng FLIF ở chế độ mất dữ liệu, vì vậy khung đầu tiên sẽ trông khác.)

Cổ vật sẽ không nhất thiết phải là bản án tử hình - ví dụ: để xuất bản hoặc xem trước web nhanh trên thiết bị di động, nó có thể không quá tệ.

Tuổi thọ của tiền mã hóa

Khi viết câu trả lời này, tôi đã nghĩ cho bản thân mình "ngày nay ai sẽ sử dụng TARGA?" và nó làm tôi nghĩ: tôi sẽ không bao giờ ngần ngại lái một chiếc xe được sản xuất vào những năm 80. Tôi sẽ không ngần ngại nhìn vào những bức ảnh được chụp vào những năm 80. Tôi sẽ sử dụng bất kỳ máy ảnh được thực hiện trong thời gian đó. Nhưng tôi sẽ không sử dụng một codec cũ. Tại sao?

Cuối cùng, không có cách nào chắc chắn để nói liệu một codec hay cái kia sẽ tồn tại trong một khoảng thời gian nhất định. Nếu HEIF sẽ thay thế JPEG trên tất cả các thiết bị tiêu dùng vào ngày mai, thì các chương trình sẽ ngừng hỗ trợ JPEG trong bao lâu? Có bao nhiêu thế hệ máy tính - và quan trọng hơn: HĐH - sẽ có trước khi bạn không thể mở chúng nữa?

Mặt khác, các codec tương đối đơn giản như TARGA chỉ yêu cầu các chương trình tương đối đơn giản để đọc chúng, trong khi các codec hiện đại và bộ giải mã của chúng có nhiều phụ thuộc. Vì vậy, trong khi sự đơn giản là không tốt cho việc nén, thì nó có thể tốt cho việc lưu trữ trong một kịch bản tận thế. Cảm ơn @lijat đã chỉ ra điều này!

Theo tôi, điều này cần một số góc độ để xem xét: Codec nào đủ phổ biến để hỗ trợ sẽ không giảm ngay lập tức? Codec nào được hỗ trợ bởi cộng đồng nguồn mở (vì không ai sẽ duy trì các định dạng độc quyền từ một công ty phá sản)? Ngoài ra, có vẻ như ít nhất mỗi thập kỷ hoặc lâu hơn, người ta nên xem liệu có cần phải chuyển sang một codec mới, được hỗ trợ tốt hơn không (xem "Mã hóa lại (mất thế hệ)") , ví dụ, bạn sẽ không muốn bộ sưu tập TARGA của bạn sẽ không thể đọc được vào ngày mai, phải không?

Điều đó, nhân tiện, đặc biệt đáng lo ngại khi nghĩ về các tệp RAW .

Hỗ trợ chương trình (Tuổi thọ # 2)

Codec tốt nhất, phổ biến nhất sẽ không đủ tốt nếu bạn không thể sử dụng nó. Và mặc dù tôi sẽ không sử dụng các codec kém hơn chỉ vì một chương trình cụ thể không hỗ trợ nó, nhưng thật tệ khi sử dụng một codec chỉ hỗ trợ đúng một chương trình.

Tôi cần những tính năng gì?

Cá nhân, tôi vẫn mã hóa hầu hết các tệp của mình bằng JPEG - Tôi có thể đọc chúng trên bất kỳ thiết bị nào và tôi hầu như không thể (nếu có) nhìn thấy các vật phẩm. 8bit là đủ tốt cho hầu hết các thiết bị và các kênh alpha không thực sự cần thiết khi chỉ xem ảnh.

Đối với tất cả các tệp không phải là kiểu "chỉnh sửa một lần", tôi sẽ giữ RAW của mình hoặc ít nhất là TIFF 16 bit để chúng vẫn có thể sử dụng được trong tương lai.

PSD? DNG?

"Tài liệu Photoshop" (PSD) là định dạng theo kiểu TIFF của Photoshop. Về mặt kỹ thuật, nó khá giống với TIF. Cũng có PSB, đó là điều tương tự chỉ với kích thước tệp trên 4 GiB. Không có gì sai khi sử dụng nó, nhưng cá nhân tôi, tôi thích TIFF càng nhiều càng tốt.

"Tiêu cực kỹ thuật số" (DNG) là một nỗ lực để tạo ra một tiêu chuẩn RAW mở. Mặc dù tôi thích ý tưởng này và nó hoạt động khá tốt, lưu ý rằng một số trình chỉnh sửa RAW gặp sự cố với chúng - ví dụ: Capture One thường quên cân bằng trắng của máy ảnh, do đó đặt thanh trượt thành 5000K, bất kể giá trị thực là bao nhiêu. Các chương trình khác trong quá khứ đã cho thấy chúng là hình ảnh màu trắng hoặc hồng hoặc cho chúng một màu sắc đỏ tươi. Nếu kích thước tệp không liên quan đến bạn, thì bạn có thể đưa RAW ban đầu vào DNG của mình - nếu bạn cần một lần nữa, bạn chỉ cần trích xuất lại. 2 xu của tôi? Dùng thử với phần mềm yêu thích của bạn - và nếu nó hoạt động tốt, hãy sử dụng nó.

Các định dạng khác?

Vì điều này đã vượt quá tầm tay, tôi không muốn giải quyết nhiều định dạng hình ảnh hơn nữa. Tuy nhiên, điều này không có nghĩa là những người không được liệt kê không đáng xem xét.


Thông tin bên lề: Tôi mới nhận ra rằng "DSP của chúng tôi không được tối ưu hóa cho các codec khác với JPEG" là một lý do lười biếng ngày nay, vì hầu hết các máy ảnh đều cung cấp một số loại codec tiên tiến (AVC / HEVC) cho khả năng video của chúng.
flolilo

1
Như bạn đã viết về suport định dạng, tôi nghĩ rằng điều đáng nói là một định dạng càng đơn giản thì càng dễ dàng để duy trì. Đó là một vấn đề lớn đối với những thứ như targa không nén, đủ đơn giản để một sinh viên lập trình viết bộ giải mã vào một buổi chiều (có nghĩa là ngay cả khi tất cả phần mềm hỗ trợ bị mất, nó vẫn có thể dễ dàng được tạo lại với giá rẻ).
lijat 16/03/19

2

Tôi lưu hình ảnh đã chỉnh sửa của mình dưới dạng TIFF với nén LZW. Tôi sử dụng Gimp để chỉnh sửa và tôi có các tập lệnh dựa trên ImageMagick để chuyển đổi TIFF thành JPG với nhiều kích cỡ và mức chất lượng khác nhau để sử dụng web, in ấn, v.v. Tôi hy vọng PNG cũng sẽ hoạt động; Tôi đã chọn giữa họ lựa chọn vài năm trước và tôi đã quên tại sao tôi chọn TIFF. (Có thể đó là vấn đề siêu dữ liệu mà những người phản hồi khác đã đề cập hoặc có lẽ đầu ra PNG của ufraw quá chậm.)

Khi tôi muốn duy trì các lớp để chỉnh sửa trong tương lai, tôi lưu dưới dạng .xcf.gz (định dạng gốc của Gimp với nén gzip). Tất nhiên, nếu bạn sử dụng các chương trình ngoài Gimp, điều đó có thể không hữu ích.

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.