Ghi chú từ đội ngũ về tay nghề, định dạng và những quyết định nhỏ đằng sau một kết quả tốt.
Vùng chứa không mất dữ liệu, PNG lưu những gì
PNG dùng thuật toán nén không mất dữ liệu DEFLATE. Nó lưu chính xác các giá trị RGBA của từng điểm ảnh, áp một bộ lọc có thể đảo ngược cho mỗi dòng quét, rồi nén kết quả bằng một biến thể của zlib. Không mất dữ liệu nghĩa là các giá trị điểm ảnh sau khi giải nén giống hệt từng byte so với bản gốc. Với trường hợp JPG sang PNG, bản gốc là những điểm ảnh được tạo ra khi trình duyệt giải mã JPEG. Những điểm ảnh đã giải mã đó vốn đã phản ánh mọi phép xấp xỉ mà JPEG thực hiện trong lần nén ban đầu, nên PNG lưu trung thực những điểm ảnh đã xấp xỉ, chứ không phải cảnh thực ngoài đời. Đo được, một tệp JPEG ở 1024x768 giải ra khoảng dạng PNG, và một tệp JPEG ở 3840x2160 tăng lên khoảng . Các bội số này giữ tương đối ổn định qua các loại nội dung vì tỷ lệ bám theo độ phân giải chứ không phải mức chất lượng JPEG. Vùng chứa không mất dữ liệu có giá trị ở chỗ nó ngăn được điều gì, đó là sự xuống cấp tiếp tục, chứ không phải ở chỗ nó khôi phục được điều gì.
Vì sao chất lượng JPEG không thể khôi phục
Nén JPEG loại bỏ thông tin vĩnh viễn. Quá trình mã hóa áp một phép biến đổi cosine rời rạc lên các khối 8x8 điểm ảnh, lượng tử hóa các hệ số tần số thu được về một tập nhỏ hơn, rồi lưu những giá trị đã lượng tử hóa đó. Bước lượng tử hóa là một chiều, vì một hệ số từng là 47 bị làm tròn thành 50 không thể quay lại 47 về sau, và không bản ghi nào về giá trị gốc còn sót lại trong tệp. Khi trình duyệt giải mã JPEG, nó dựng lại điểm ảnh từ các hệ số đã lượng tử hóa, vốn là những phép xấp xỉ của giá trị gốc. Lưu lại những điểm ảnh đã xấp xỉ đó thành PNG tạo ra một bản ghi không mất dữ liệu của các phép xấp xỉ, nên PNG là một biểu diễn hoàn hảo của ảnh đã xuống cấp. Đây không phải hạn chế của PNG hay của công cụ này, mà là một tính chất căn bản của nén mất dữ liệu, nơi thông tin bị bỏ đi lúc mã hóa là mất hẳn. Cải thiện chất lượng JPEG đòi hỏi bắt đầu từ bản gốc chưa nén hoặc RAW.
Mức tăng dung lượng tệp đo được
Tỷ lệ kích thước từ JPG sang PNG thay đổi theo nội dung ảnh nhưng đi theo một khuôn mẫu dự đoán được. Ảnh chụp có chuyển sắc độ phức tạp tăng nhiều nhất, vì phép biến đổi của JPEG được tinh chỉnh đúng cho loại nội dung đó và đạt tỷ lệ nén cao, trong khi nén không mất dữ liệu của PNG không theo kịp những tỷ lệ đó trên dữ liệu điểm ảnh nhiễu. Các phép đo từ công cụ này cho thấy một ảnh JPEG ở 1024x768 tạo ra một tệp PNG , tăng khoảng 6 lần, và một ảnh JPEG ở 3840x2160 tạo ra một tệp PNG , tăng khoảng 3,3 lần. Với ảnh màu phẳng như ảnh chụp màn hình và biểu tượng, JPEG vốn không hợp với loại nội dung đó và tệp của nó thường lớn hơn ở cùng mức chất lượng, nên PNG của cùng nội dung tăng ít kịch tính hơn. Hệ quả thực tế rất rõ, nếu dung lượng tệp đầu ra quan trọng với mục đích của bạn, chuyển một tệp JPG sang PNG làm tình hình tệ hơn, không tốt hơn.
Độ trong suốt, khả năng so với nội dung
PNG hỗ trợ một kênh alpha 8 bit như một tính năng của vùng chứa, nơi một tệp có thể chứa giá trị độ mờ cho từng điểm ảnh từ 0 (trong suốt hoàn toàn) đến 255 (đục hoàn toàn). Khi một tệp JPG được lưu lại thành PNG qua bộ máy xử lý ảnh sẵn có, tệp PNG thu được được đặt là đục hoàn toàn, mọi điểm ảnh ở giá trị alpha 255, vì tệp JPG nguồn ngay từ đầu không có thông tin trong suốt nào. Định dạng PNG sẵn sàng chứa dữ liệu độ trong suốt, chỉ là tệp không chứa gì, vì nguồn không có. Thêm độ trong suốt cho ảnh đòi hỏi xử lý riêng, hoặc che nền trong trình chỉnh sửa, hoặc dùng một bước xóa nền tự động. Một công cụ xóa nền được huấn luyện để nhận diện chủ thể có thể tạo ra một tệp PNG với alpha thật bằng cách đưa giá trị alpha của các điểm ảnh nền về 0 sau khi chuyển đổi.
Xử lý siêu dữ liệu EXIF
Luồng lưu lại tệp loại bỏ siêu dữ liệu EXIF, IPTC và XMP khỏi đầu ra PNG trên mọi trình duyệt. Nghĩa là tọa độ GPS, mẫu máy ảnh, ngày chụp, chuỗi bản quyền, và bất kỳ trường XMP tùy chỉnh nào có trong tệp JPG nguồn đều bị xóa. Hồ sơ màu ICC đi theo một lối hơi khác, trong đó Chrome và Safari giữ lại thẻ hồ sơ ICC sRGB trong đầu ra còn Firefox xóa nó cùng với mọi siêu dữ liệu khác. Kết quả thực tế là đầu ra an toàn theo sRGB trên các trình duyệt, nhưng các hồ sơ gam màu rộng như Display-P3 hay Adobe RGB bị mất trong Firefox. Với hầu hết mục đích web và chia sẻ, việc gỡ siêu dữ liệu là có lợi, vì nó giảm nhẹ kích thước đầu ra và gỡ dữ liệu vị trí khỏi ảnh. Với nhiếp ảnh chuyên nghiệp hay quy trình lưu trữ cần giữ siêu dữ liệu nhúng, hãy xử lý chuỗi siêu dữ liệu bằng một công cụ chuyên dụng trước hoặc sau khi chuyển đổi định dạng.
Quyền riêng tư trong thực tế
Nơi việc chuyển đổi diễn ra tùy vào số tệp. Với một ảnh, không dữ liệu nào rời trình duyệt, và điều đó kiểm chứng được theo thời gian thực. Mạng không hoạt động trong khi chuyển đổi một ảnh. Danh sách vẫn trống trong lúc mã hóa. Với hai tệp trở lên, RoundCut gửi chúng tới máy chủ của chúng tôi, nơi chuyển đổi, nén kết quả, và trả về một liên kết tải xuống. Liên kết đó và các tệp đã chuyển bị xóa trong khoảng 2 giờ. Lối đi một ảnh chạy hoàn toàn trên thiết bị của bạn, ngoài mạng, trong khi lối đi theo lô đánh đổi điều đó lấy sự tiện lợi chuyển nhiều tệp một lúc. Với ảnh có nội dung nhạy cảm, như ảnh chụp màn hình một tài liệu cá nhân hoặc ảnh mang dữ liệu vị trí, chuyển từng cái một giữ mọi thứ tại chỗ.