Bỏ qua đến nội dung
LeedyBox
Ủng hộ

Giải thích các thiết lập nén ảnh

Thiết lập nén quyết định ảnh phải đánh đổi bao nhiêu để có tệp nhỏ hơn. Hướng dẫn này giải thích chỉ số chất lượng, việc giảm màu PNG và dung lượng tệp mục tiêu thực sự làm gì.

Nén không mất dữ liệu và nén mất dữ liệu

Nén không mất dữ liệu lưu các pixel gọn hơn và trả lại đúng các giá trị ban đầu khi mở ảnh. PNG là định dạng không mất dữ liệu, còn WebP có chế độ không mất dữ liệu. Phần tiết kiệm đến từ sự lặp lại: vùng màu phẳng và hoa văn lặp lại nén tốt, còn ảnh chụp và ảnh nhiều nhiễu thì nén kém.

Nén mất dữ liệu, được JPG và thường cả WebP sử dụng, loại bỏ những thông tin mà người xem ít có khả năng nhận ra. Ví dụ, JPG chia ảnh thành các khối 8 × 8 pixel và lưu chi tiết nhỏ của chúng với độ chính xác thấp hơn; màu sắc thường được lưu ở độ phân giải thấp hơn độ sáng. Những gì đã bị loại bỏ thì không thể khôi phục.

Ý nghĩa của chỉ số chất lượng

Chỉ số chất lượng, thường từ 1 đến 100, là một thiết lập của bộ mã hóa, quyết định chi tiết được lưu thô đến mức nào. Đó không phải là tỷ lệ phần trăm so với dung lượng hay chất lượng của tệp gốc: một tệp JPG lưu ở mức 50 không có dung lượng bằng một nửa tệp lưu ở mức 100. Cùng một con số cũng mang ý nghĩa khác nhau giữa các chương trình và định dạng: WebP ở mức 75 không giống JPG ở mức 75.

Dung lượng tệp không giảm đều khi chỉ số giảm. Các mức cao nhất tốn nhiều dung lượng hơn hẳn cho những khác biệt khó nhận thấy, còn các mức thấp nhất chỉ tiết kiệm thêm tương đối ít nhưng lại gây ra lỗi nén rõ rệt:

  • Vỡ khối (blocking): các ô vuông lộ rõ trong JPG, nhất là ở bầu trời và các vùng mịn khác.
  • Viền nhiễu (ringing): quầng và đốm lấm tấm quanh các cạnh sắc nét và chữ.
  • Nhòe (smearing): kết cấu mảnh như cỏ hoặc tóc trở nên phẳng lì, một biểu hiện điển hình của WebP chất lượng thấp.
  • Phân dải màu (banding): dải chuyển màu mượt bị tách thành các bậc nhìn thấy được.

Hãy đánh giá kết quả ở kích thước thực tại những phần quan trọng như khuôn mặt, chữ và dải chuyển màu. Công cụ nén của LeedyBox bắt đầu ở mức 75 và hiển thị ảnh gốc cạnh kết quả.

Giảm màu PNG và hiện tượng phân dải màu

Vì PNG không mất dữ liệu, cách chính để làm tệp PNG nhỏ đi nhiều là giảm số màu trước (lượng tử hóa màu). Ảnh được ánh xạ sang một bảng màu tối đa 256 màu, và khi đó mỗi pixel chỉ lưu một chỉ số trong bảng màu, chiếm một byte hoặc ít hơn, thay vì ba hoặc bốn byte. Các màu trong bảng màu có thể trong suốt một phần, nên độ trong suốt vẫn được giữ.

Cách này hiệu quả với ảnh chụp màn hình, logo, biểu đồ và sơ đồ, vốn dùng ít màu. Ảnh chụp và các dải chuyển màu mượt như bầu trời hay bóng đổ mềm chứa hàng nghìn sắc độ; khi bị ánh xạ sang một bảng màu nhỏ, dải chuyển màu sẽ tách thành các dải màu lộ rõ. LeedyBox không áp dụng dithering (phối điểm màu), kỹ thuật mà một số công cụ dùng để che hiện tượng phân dải màu, đổi lại ảnh bị sần hạt và tệp lớn hơn.

Trong LeedyBox, thanh trượt chất lượng đặt số màu tối đa của bảng màu PNG: 256 màu ở mức 99, khoảng 130 màu ở mức mặc định 75 và 16 màu ở mức 1. Ở mức 100, số màu không bị giảm và PNG chỉ được nén lại. Với ảnh chụp, JPG hoặc WebP thường cho tệp nhỏ hơn với hư hại ít lộ rõ hơn.

Cách đạt được dung lượng tệp mục tiêu

Với các biểu mẫu tải lên có giới hạn dung lượng, chế độ “Dung lượng mục tiêu” sẽ tự tìm thiết lập cho bạn:

  • Với JPG và WebP, chế độ này thử chất lượng 95 trước. Nếu tệp vẫn quá lớn, nó thu hẹp khoảng từ 5 đến 95 bằng cách chia đôi liên tục và giữ mức chất lượng cao nhất tìm được mà vẫn vừa giới hạn.
  • Với PNG, chế độ này thử phiên bản không mất dữ liệu, sau đó lần lượt 256, 128, 64, 32 và 16 màu.
  • Nếu không có kết quả nào vừa và việc giảm kích thước được cho phép, nó thu nhỏ mỗi cạnh ít nhất 10% dựa trên kết quả gần nhất rồi tìm lại, cho đến khi chỉ còn 10% chiều rộng và chiều cao ban đầu.

Vì chất lượng được giảm trước kích thước, một mục tiêu nhỏ có thể cho ra ảnh giữ nguyên kích thước nhưng chất lượng rất thấp. Nếu biết kích thước hiển thị, hãy đặt thêm “Giới hạn cả chiều rộng và chiều cao” để dung lượng cho phép không bị dành cho những pixel không ai nhìn thấy. Kết quả thường thấp hơn mục tiêu một chút. LeedyBox tính 1 KB là 1.024 byte; một số website hiểu là 1.000 byte, vì vậy hãy chừa một khoảng dư. Nếu không thể đạt mục tiêu, bạn sẽ nhận được kết quả nhỏ nhất kèm một cảnh báo.

Khi nén không giúp ích

Một ảnh đã được lưu ở chất lượng vừa phải thì không còn nhiều thứ để loại bỏ. Mã hóa lại có thể gần như không tiết kiệm được gì, thậm chí tạo ra tệp lớn hơn, và mỗi lần mã hóa mất dữ liệu lại cộng thêm lỗi mới lên lỗi cũ, nên một tệp JPG bị chỉnh sửa và lưu đi lưu lại sẽ liên tục mất chi tiết. Hãy giữ ảnh gốc, mỗi lần đều nén từ ảnh gốc, và nén ở bước cuối cùng, sau khi cắt và đổi kích thước.

Đổi định dạng cũng có những cái bẫy: ảnh chụp JPG lưu dưới dạng PNG thường lớn hơn, còn ảnh chụp màn hình lưu dưới dạng JPG có thể nhỏ đi nhưng xuất hiện viền nhiễu quanh chữ. Khi kết quả không nhỏ hơn ảnh gốc, công cụ nén của LeedyBox sẽ chọn ảnh gốc để tải về; bạn có thể chuyển sang tệp đã nén cho từng ảnh.

Tác dụng phụ: siêu dữ liệu và độ trong suốt

Công cụ nén của LeedyBox vẽ lại từng ảnh trong trình duyệt và mã hóa thành tệp mới, nên dữ liệu EXIF, vị trí GPS, thông tin máy ảnh, các trường bản quyền và hồ sơ màu không được giữ lại. Điều này có thể có lợi cho quyền riêng tư, nhưng hãy kiểm tra xem bạn có cần thông tin tác giả hoặc bản quyền hay không. Ảnh có hồ sơ màu gam rộng có thể trông hơi khác sau khi nén. Hướng chụp của máy ảnh được áp dụng vào pixel, nên ảnh vẫn đứng thẳng.

JPG không có độ trong suốt: vùng trong suốt thành màu trắng, còn các cạnh mềm bị hòa với màu trắng, tạo thành một viền sáng khi đặt trên nền tối. Hãy giữ PNG hoặc WebP cho logo và ảnh đã tách nền; xem vì sao PNG trong suốt mất nền khi chuyển sang JPG.

Câu hỏi thường gặp

Nên dùng mức chất lượng nào cho ảnh chụp?

Bắt đầu với 75 và so sánh ở kích thước thực. Hãy tăng lên nếu thấy vỡ khối hoặc nhòe ở những vùng quan trọng; giảm dần từng chút nếu tệp cần nhỏ hơn mà ảnh vẫn trông ổn.

WebP có nhỏ hơn JPG không?

Thường là có, ở chất lượng nhìn thấy tương đương, nhưng không phải với mọi ảnh. Hãy so sánh cả hai và kiểm tra xem nơi bạn đăng ảnh có chấp nhận WebP không.

Nên đổi kích thước hay nén trước?

Hãy đổi kích thước trước nếu ảnh lớn hơn kích thước sẽ hiển thị; tùy chọn “Giới hạn cả chiều rộng và chiều cao” của công cụ nén làm cả hai việc trong một bước. Xem thêm công cụ Đổi kích thước ảnh và hướng dẫn Đổi kích thước ảnh: pixel, tỷ lệ khung hình và DPI.