2011-11-02 17 views

Trả lời

2

Khi được trả lời đúng ở trên, sử dụng bộ mã hóa JPEG "điển hình" ở chất lượng 100 không cung cấp cho bạn nén không mất dữ liệu. Mã hóa JPEG lossless tồn tại, nhưng nó khác nhau về bản chất và hiếm khi được sử dụng.

Tôi chỉ đăng để cho biết lý do chất lượng 100 không có nghĩa là không tổn thất.

Trong thông tin nén JPEG phần lớn bị mất trong bước lượng tử hệ số DCT (khối hệ số 8-by-8 được chia cho bảng lượng tử 8-by-8, do đó chúng trở nên nhỏ hơn -> 'nén hơn'). Khi bạn đặt chất lượng JPEG thành 100, không thực hiện lượng tử hóa thực (vì bảng lượng tử sẽ là tất cả 1s, ít nhất với các bảng IJG-JPEG chuẩn), vì vậy trên thực tế bạn không mất thông tin ở đây ..

Tuy nhiên , có hai yếu tố chính dẫn đến mất thông tin ngay cả khi không xảy ra hiện tượng lượng tử hóa:

  1. Thông thường, nén JPEG làm giảm thông tin màu (do hệ thống thị giác của con người ít nhạy cảm hơn là lumimance). Vì vậy, ngay cả ở chất lượng 100 bạn có thể thực hiện subrpling chrominance (có nghĩa là, giảm một nửa hoặc nhiều Cb và Cr hệ số). Khi điều này xảy ra, thông tin bị mất, ngay cả khi không có lượng tử hóa xảy ra. Tuy nhiên, bạn có thể yêu cầu bộ mã hóa bảo toàn toàn bộ độ sắc nét (được gọi là lấy mẫu màu 4: 4: 4).
  2. Tuy nhiên, mã hóa JPEG ngụ ý đi đến miền DCT, điều này làm cho làm tròn các hệ số. Làm tròn loại bỏ một số thông tin. Điều này sẽ xảy ra bất kể tất cả các tùy chọn khác.
+0

Câu trả lời hay. Cảm ơn bạn. – Sugrue

54

Jpeg bị mất bất kể cài đặt. Ở mức 100, bạn chỉ bị thua lỗ LEAST.

Thật dễ dàng để kiểm tra. Whip lên một đơn giản .bmp, nén đó vào một q = 100 jpeg, sau đó tái chiết xuất trở lại một .bmp. Sử dụng Gimp/Photoshop để làm một "sự khác biệt" của hai bitmap, và bạn sẽ thấy sự mất mát - nó sẽ ít đáng chú ý hơn nhiều so với q = 50 hoặc q = 1 chuyển đổi, nhưng vẫn có mặt.

+9

Thay vào đó, JPEG2000 hỗ trợ chế độ không mất dữ liệu. – schnaader

+1

@MarcB, Làm thế nào bạn sẽ * "sử dụng Gimp/Photoshop để làm một" sự khác biệt "của hai bitmap" *? – Pacerier

+6

@Pacerier, với gimp, bạn mở hình ảnh tham chiếu, sau đó "mở dưới dạng lớp" thứ hai. Từ hộp công cụ "lớp", bạn có thể chọn phương thức lớp phủ "khác biệt". Và nếu bạn làm phẳng hình ảnh như thế này, và kéo dài độ tương phản, vâng vâng! – yota

0

Theo wikipedia, số

jpeg 100 có tỷ lệ nén 2,6: 1. Phương pháp nén thường mất dữ liệu, nghĩa là một số thông tin hình ảnh gốc bị mất và không thể khôi phục được, có thể ảnh hưởng đến chất lượng hình ảnh.

Có chế độ lossless tùy chọn được xác định trong tiêu chuẩn JPEG; tuy nhiên, chế độ này không được hỗ trợ rộng rãi trong các sản phẩm.

+10

Chỉ vì nó có tỷ lệ nén không làm cho nó bị mất. Bạn có thể nén với mất chất lượng ... PNG/GIF? – Doomsknight

+3

Phương pháp nén thường mất dữ liệu, nghĩa là một số thông tin hình ảnh gốc bị mất và không thể khôi phục, có thể ảnh hưởng đến chất lượng hình ảnh. Có một chế độ lossless tùy chọn được xác định trong tiêu chuẩn JPEG; tuy nhiên, chế độ này không được hỗ trợ rộng rãi trong các sản phẩm. –

+2

Bạn nên thêm điều đó vào câu trả lời của mình. Đó là một lời giải thích tốt hơn nhiều về lý do tại sao nó là lossy - thay vì chỉ nói nó có một tỷ lệ nén :) – Doomsknight

19

Có một lossless form of JPEG nhưng nó không được hỗ trợ rộng rãi và bạn không nhận được nó bằng cách tinh chỉnh cài đặt chất lượng - đó là một quá trình hoàn toàn khác.

+0

Vậy tại sao nó được gọi là JPEG? – Pacerier

+1

@Pacerier câu hỏi hay. Đó là bởi vì nó được phát triển bởi Joint Photographic Experts Group, cùng một người tạo ra ảnh JPEG gốc. Tôi không có ý tưởng tại sao họ đã cố gắng để piggyback nó trên spec trước đó thay vì tạo ra một cái mới như họ đã làm với JPEG-2000. –

Các vấn đề liên quan