Nên dùng định dạng ảnh nào?
Có một câu hỏi quyết định tất cả, và gần như mọi thứ khác đều từ đó mà ra. Hầu hết những lựa chọn sai lầm đều bắt nguồn từ việc trả lời một câu hỏi khác.
Xem xét lần cuối
Câu hỏi quyết định tất cả
Bức ảnh được tạo nên từ các tông màu chuyển liên tục, hay từ những mảng màu phẳng và đường viền sắc nét?
Một bức ảnh chụp là tông màu liên tục: hàng triệu màu khác nhau rất tinh tế, không có hai điểm ảnh cạnh nhau nào hoàn toàn giống nhau, và không có ranh giới cứng nào ngoài mép của các vật thể. Ảnh chụp màn hình, logo, biểu đồ, sơ đồ hay hình vẽ nét thì ngược lại: những mảng lớn cùng một màu gặp nhau ở các ranh giới sắc nét hoàn hảo.
Mỗi định dạng ảnh được tạo ra cho một trong hai loại đó và làm kém với loại còn lại. Các định dạng lossy — JPEG, cùng WebP hoặc AVIF ở chế độ lossy — bỏ đi những chi tiết mà mắt người khó nhận ra, rất hiệu quả với tông màu liên tục nhưng tạo ra viền nhiễu thấy rõ quanh mọi đường viền sắc nét. Các định dạng lossless — PNG, cùng WebP hoặc AVIF ở chế độ lossless — nén bằng cách tìm các phần lặp lại, rất hiệu quả với mảng màu phẳng nhưng gần như vô dụng với nhiễu của ảnh chụp. Chọn sai định dạng sẽ khiến file hoặc xấu, hoặc cực kỳ nặng, và thường người ta chỉ để ý đến một trong hai.
Câu trả lời ngắn gọn
Ảnh chụp gửi cho người khác, qua email hoặc vào một hệ thống cũ: JPG ở chất lượng khoảng 85. Mở được ở mọi nơi, dung lượng nhỏ, và phần mất mát không thể nhận ra ở mức đó.
Ảnh chụp màn hình, logo, biểu đồ hoặc sơ đồ: PNG. Mọi đường viền vẫn sắc nét tuyệt đối, và các mảng phẳng được nén gần như bằng không. Nếu ảnh có nền trong suốt, PNG cũng là định dạng duy nhất trong hai định dạng kinh điển có thể giữ được nó.
Mọi thứ đưa lên trang web do bạn quản lý: WebP, hoặc AVIF nếu bạn chấp nhận được thời gian mã hóa. Cả hai đều làm tốt hơn JPG và PNG — WebP có chế độ lossy và lossless, và giữ được nền trong suốt ở cả hai chế độ, còn AVIF lưu một bức ảnh chụp với dung lượng chỉ khoảng một nửa so với JPEG tương đương.
Logo hoặc biểu tượng: SVG nếu bạn có, vì nó sắc nét ở mọi kích thước và thường nhẹ hơn mọi phiên bản điểm ảnh. Chỉ chuyển sang ảnh điểm cho những nơi không đọc được vector — favicon, ảnh xem trước trên mạng xã hội, email và kho ứng dụng.
Những gì mỗi định dạng không làm được
Những giới hạn hữu ích hơn danh sách tính năng, vì chính chúng là thứ khiến mọi người mắc sai lầm.
JPG không có nền trong suốt. Hoàn toàn không, và sẽ không bao giờ có. Chuyển một ảnh PNG nền trong suốt sang JPG sẽ lấp nền đó bằng một màu đặc — đó là lý do một logo lưu dưới dạng JPG lại nằm trong một ô trắng. JPG cũng bị mất dữ liệu mỗi lần được lưu, nên chỉnh sửa rồi lưu lại cùng một file JPG nhiều lần sẽ làm nó xuống cấp thêm một chút sau mỗi lần.
PNG rất tệ với ảnh chụp. Không phải sai — vẫn lossless và trung thực — nhưng cực kỳ nặng, vì nhiễu của ảnh chụp đánh bại cơ chế dự đoán mà PNG dùng để nén. Một ảnh chụp dạng PNG thường nặng gấp mười lần file JPEG mà không ai phân biệt được với nó.
WebP có giới hạn cứng 16.383 pixel cho mỗi chiều, khá rộng rãi với ảnh chụp nhưng lại hạn chế với ảnh panorama, ảnh chụp toàn bộ một trang web dài, hoặc bản đồ scan.
AVIF mã hóa chậm. Mất vài giây cho mỗi ảnh chụp lớn, vì nó là một khung hình tĩnh của chuẩn nén video và chính việc tìm kiếm tối ưu đó mang lại dung lượng nhỏ. Giải mã thì tức thì — một sự đánh đổi hợp lý cho thứ chỉ mã hóa một lần nhưng được xem nhiều lần.
Ranh giới tương thích thực sự nằm ở đâu
Đây là chỗ các lời khuyên thường lỗi thời hàng năm trời theo cả hai hướng. Mọi trình duyệt hiện nay đều đọc được WebP và AVIF, và đã như vậy nhiều năm — nên với website, lập luận về tương thích để phản đối chúng đã hết giá trị. Dùng AVIF kèm JPEG dự phòng qua thẻ picture sẽ loại bỏ luôn cả nỗi lo đó.
Bên ngoài trình duyệt thì tình hình lại khác, và đây là phần mọi người hay hiểu sai theo hướng ngược lại. Các ứng dụng email cũ, rất nhiều trình xem ảnh trên máy tính, phần lớn phần mềm doanh nghiệp và hầu hết quy trình in ấn vẫn chưa đọc WebP hay AVIF một cách ổn định. Vì vậy quy tắc phụ thuộc vào nơi nhận chứ không phải vào năm: định dạng mới cho trang web do bạn quản lý, JPG hoặc PNG cho file bạn gửi cho một người hay một hệ thống.
Chuyển đổi không khôi phục được hư hại
Hiểu lầm phổ biến nhất về định dạng ảnh đáng được nói thẳng: chuyển một file lossy sang lossless không khôi phục được gì cả. Chuyển JPG sang PNG giữ nguyên hoàn hảo các lỗi nén của JPEG — hiện tượng vỡ khối, viền nhiễu quanh chữ, lem màu ở các đường viền màu đậm — vì lúc đó chúng đã là giá trị điểm ảnh và không thể phân biệt với nội dung bức ảnh. File PNG nặng hơn và chứa đúng những hư hại thấy được như cũ.
Dù vậy, việc này vẫn đáng làm vào đúng thời điểm. Chuyển sang PNG trước khi bắt đầu chỉnh sửa nghĩa là mỗi lần lưu sau đó đều không bị mất gì, trong khi chỉnh sửa và lưu lại một file JPG sẽ làm nó xuống cấp mỗi lần. Hãy làm việc này ngay từ đầu, chứ không phải sau bốn lần lưu.
Logic tương tự cũng đúng theo chiều ngược lại. Mã hóa sang AVIF hoặc WebP từ một file JPEG nghĩa là bộ mã hóa mới thừa hưởng lỗi nén của bộ cũ và tốn dữ liệu thật để giữ nguyên chúng — nên một file được mã hóa một lần từ bản gốc vừa nhỏ hơn vừa đẹp hơn file bị mã hóa hai lần. Luôn bắt đầu từ phiên bản tốt nhất mà bạn có.
Công cụ cho việc này
Câu hỏi thường gặp
Nên đặt chất lượng JPG ở mức nào?
Khoảng 85 là mức mà hầu hết mọi người không còn thấy được khác biệt, và cũng là nơi đường cong dung lượng bắt đầu đi ngang — đặt cao hơn tốn rất nhiều byte mà được rất ít. Dưới khoảng 70, lỗi nén bắt đầu lộ ra, trước tiên ở những vùng chuyển màu mượt như bầu trời.
WebP là lossy hay lossless?
Cả hai — đó là hai định dạng dùng chung một phần mở rộng, và mức chất lượng quyết định bạn nhận được loại nào. Mọi mức dưới tối đa cho ra WebP lossy, rất tốt cho ảnh chụp nhưng không hợp với ảnh chụp màn hình có chữ, vì màu bị lấy mẫu giảm sẽ tạo viền nhiễu quanh mọi đường viền sắc nét. Mức tối đa cho ra lossless.
Vì sao file PNG lại nặng hơn file JPG gốc?
Vì PNG nén bằng cách dự đoán mỗi điểm ảnh từ các điểm ảnh lân cận, và lỗi nén JPEG trông giống như nhiễu đối với cơ chế dự đoán đó. Một file JPG chụp tán lá hay lông thú sẽ thành file PNG cực kỳ nặng; một file JPG chụp màn hình thì thành file PNG vừa phải.
Còn nên dùng GIF cho việc gì không?
Chỉ cho ảnh động, và ngay cả khi đó một video ngắn hoặc WebP động cũng nhẹ hơn và mượt hơn nhiều. Với ảnh tĩnh, GIF bị giới hạn ở 256 màu và nền trong suốt chỉ có hai mức, nên đường viền răng cưa và màu sắc chỉ gần đúng — PNG tốt hơn về mọi mặt.
Chuyển đổi giữa các định dạng có làm giảm chất lượng mỗi lần không?
Mỗi lần đi qua một bộ mã hóa lossy thì có, và chất lượng mất đi không bao giờ lấy lại được. Các chuyển đổi lossless — PNG sang WebP lossless, BMP sang PNG — thì không. Quy tắc giúp tránh phần lớn rắc rối: giữ một bản gốc chất lượng cao, và tạo các bản để gửi đi từ bản gốc đó chứ không phải từ các bản sao của nhau.
Bài viết đáng đọc khác
File PDF quá nặng để gửi email
Ba nguyên nhân khiến file PDF nặng, và cách xử lý hợp với file của bạn.
PDF scan và OCR
Vì sao bản scan không chứa chữ, OCR bổ sung những gì, và cài đặt quyết định độ chính xác.
Che thông tin PDF đúng cách
Vì sao ô đen không che được gì, và những nơi PDF còn giữ tên mà bạn quên mất.