Định dạng tệp

PNG - Portable Network Graphics

PNG là một định dạng hình ảnh không mất dữ liệu với khả năng trong suốt thực sự, được tạo ra như một lựa chọn thay thế miễn phí cho GIF. Đây thường là định dạng được dùng để lưu ảnh chụp màn hình, logo và các biểu đồ đã xuất.

.png

PNG là viết tắt của Portable Network Graphics (Đồ họa Mạng Di động). Định dạng này được thiết kế vào giữa những năm 1990 bởi các nhà phát triển cần một định dạng thay thế cho GIF, vì phương pháp nén mà GIF sử dụng khi đó đang bị bảo hộ bằng bằng sáng chế. Kết quả là một định dạng miễn phí, được chuẩn hóa tốt, giữ nguyên từng pixel chính xác như ban đầu, sau đó được World Wide Web Consortium và ISO chấp nhận làm tiêu chuẩn. Ngày nay, PNG chính là định dạng bạn thường nhận được khi chụp ảnh màn hình, xuất logo hoặc lưu biểu đồ từ bảng tính.

Cách PNG lưu trữ hình ảnh

PNG là không mất dữ liệu (lossless): tệp được nén nhưng không loại bỏ bất cứ thông tin nào, và khi giải mã sẽ trả lại chính xác các pixel gốc. Cơ chế hoạt động gồm hai bước. Đầu tiên là bước lọc, ghi lại mỗi hàng pixel dưới dạng hiệu số so với các pixel lân cận, biến các vùng mượt mà thành các dãy số rất nhỏ lặp lại. Sau đó một bộ nén dùng chung sẽ nén các con số này, sử dụng cùng phương pháp với một kho lưu trữ ZIP.

PNG được xây dựng như một chuỗi các khối có nhãn gọi là chunk. Có ba loại bắt buộc: một chunk mô tả kích thước ảnh, loại màu và độ sâu bit, một hoặc nhiều chunk chứa dữ liệu pixel đã nén, và một chunk đánh dấu kết thúc. Mọi thứ khác đều là tùy chọn, đó là lý do định dạng này có thể mở rộng. PNG có thể lưu ảnh thang xám, màu lập chỉ mục với bảng màu hoặc ảnh màu đầy đủ ở 8 hoặc 16 bit mỗi kênh, và có kênh alpha thực sự, nghĩa là mỗi pixel có thể hoàn toàn mờ đục, hoàn toàn trong suốt hoặc ở bất kỳ mức độ trong suốt nào ở giữa. Đó là lý do PNG là định dạng phù hợp cho logo và đồ họa giao diện với các cạnh mềm. Định dạng cơ bản chứa một ảnh tĩnh; hoạt ảnh chỉ tồn tại thông qua một phần mở rộng về sau gọi là APNG.

Metadata mà PNG chứa

Siêu dữ liệu (metadata) là thông tin mô tả được lưu trong tệp bên cạnh các pixel. PNG lưu chúng trong các chunk tùy chọn; văn bản có thể ở dạng thuần, đã nén hoặc được gắn thẻ ngôn ngữ để cùng một trường có thể xuất hiện bằng nhiều bản dịch khác nhau.

  • Từ khóa văn bản đã đăng ký là các thông tin đơn giản, và báo cáo sẽ liệt kê chúng theo tên: Title, Author, Description, Copyright, Creation Time, Software, Source, Comment, Disclaimer và Warning. Software là trường bạn thường thấy nhất, vì hầu hết trình chỉnh sửa đều đóng dấu tên của chính mình vào đó.
  • XMP, tiêu chuẩn siêu dữ liệu dựa trên XML của Adobe, được chứa trong một chunk văn bản có gắn thẻ ngôn ngữ. Đây thường là nơi lưu thông tin người tạo, từ khóa, xếp hạng và lịch sử chỉnh sửa liệt kê các chương trình đã sửa đổi hình ảnh.
  • EXIF, tiêu chuẩn siêu dữ liệu cho máy ảnh, không nằm trong đặc tả ban đầu mà được bổ sung sau như một chunk riêng. Vì vậy một PNG có thể mang toàn bộ khối dữ liệu máy ảnh bao gồm cả tọa độ GPS, mặc dù thường chỉ có khi tệp được chuyển đổi từ ảnh chụp.
  • Các chunk màu sắc và hiển thị cũng được tính là siêu dữ liệu: một hồ sơ màu ICC nhúng, các giá trị gamma và sắc độ, màu nền và chunk độ phân giải vật lý ghi lại số pixel trên mét, là nơi xuất phát giá trị DPI của hình ảnh.

Ảnh chụp màn hình hoặc đồ họa xuất ra thường ít tiết lộ thông tin hơn nhiều so với ảnh chụp từ máy ảnh, nhưng đừng cho rằng một PNG là ẩn danh. Chuyển đổi JPG sang PNG có thể mang nguyên dữ liệu EXIF và GPS ban đầu sang. Các trình chỉnh sửa sẽ ghi tên bạn vào trường tác giả hoặc trường người tạo XMP nếu chúng được điền trong phần tùy chọn của phần mềm. Và các trường Software cùng lịch sử chỉnh sửa âm thầm cho biết chương trình nào, và đôi khi là phiên bản nào, đã tạo ra tệp.

Khi nào nên dùng PNG

Hãy dùng PNG bất cứ khi nào cần giữ nguyên từng pixel hoặc khi hình ảnh cần có nền trong suốt: ảnh chụp màn hình, sơ đồ, biểu đồ, logo, biểu tượng, minh họa màu phẳng và mọi nội dung có chứa văn bản. Các cạnh sắc nét vẫn giữ nguyên, và lưu tệp nhiều lần cũng không làm giảm chất lượng hình ảnh.

So với JPG, sự đánh đổi khá rõ ràng. Với ảnh chụp, một PNG thường lớn gấp nhiều lần mà không mang lại khác biệt có thể nhìn thấy, nên ảnh chụp phù hợp với JPG hoặc các định dạng mới hơn như WebP hoặc HEIC. So với GIF, PNG vượt trội rõ rệt với ảnh tĩnh: màu đầy đủ thay vì 256 sắc độ và độ trong suốt từng phần đúng nghĩa thay vì chỉ một màu xuyên thấu duy nhất. Lợi thế còn lại duy nhất của GIF là hoạt ảnh.