Định dạng tệp

GIF - Định dạng Trao đổi Đồ họa

GIF là một định dạng hình ảnh không mất dữ liệu lâu đời, bị giới hạn ở 256 màu cho mỗi khung hình, và vẫn là cách đơn giản nhất để lưu trữ một ảnh động ngắn không âm thanh có thể phát ở bất cứ nơi nào hình ảnh có thể hiển thị.

.gif

GIF, viết đầy đủ là Graphics Interchange Format, được tạo ra bởi dịch vụ trực tuyến CompuServe vào cuối những năm 1980 để hình ảnh có thể truyền qua các kết nối quay số chậm và hiển thị trên các máy tính vốn "bất đồng" về hầu hết mọi thứ khác. Lần sửa đổi thứ hai cũng là lần cuối cùng đã thêm tính năng trong suốt và nhiều khung hình, và đó là phiên bản vẫn còn được dùng đến nay. Nhiều thập kỷ sau, GIF tồn tại vì một lý do: đó là cách đơn giản nhất để đặt một đoạn hoạt hình ngắn, lặp lại, không âm thanh vào một nơi vốn chỉ chấp nhận hình ảnh tĩnh.

GIF lưu trữ hình ảnh của nó như thế nào

GIF là định dạng không mất dữ liệu (lossless) nhưng bị giới hạn rất nhiều. Phương pháp nén của nó, gọi là LZW, thay thế các dãy điểm ảnh lặp lại bằng những mã ngắn và trả lại chính xác dữ liệu ban đầu. Giới hạn nằm ở màu sắc: mỗi khung hình chỉ được dùng tối đa 256 màu, được chọn từ một bảng màu lưu trong tệp. Ảnh chụp thường có nhiều sắc độ hơn rất nhiều, nên khi lưu thành GIF, bộ mã hóa buộc phải chọn 256 màu và xấp xỉ phần còn lại, thường bằng kỹ thuật dithering: rải các chấm của hai màu khác nhau để bắt chước màu thứ ba. Đó là lý do ảnh GIF trông bị lốm đốm và xuất hiện các dải màu.

Tính trong suốt là tất cả hoặc không gì cả. Một phần tử trong bảng màu có thể được đánh dấu là trong suốt, nên mỗi pixel hoặc hoàn toàn trong suốt hoặc hoàn toàn đặc. Không có cách nào tạo viền mềm nửa trong suốt, vì vậy logo dạng GIF thường có viền cứng khi đặt trên nền không như mong đợi.

Hoạt hình đơn giản chỉ là nhiều hình ảnh được lưu nối tiếp nhau, mỗi hình có bảng màu riêng, thời gian trễ riêng tính bằng phần trăm giây, và một lệnh xử lý cho biết phải làm gì với khung hình trước đó. Một khối dữ liệu nhỏ bổ sung sẽ cho trình xem biết cần lặp lại bao nhiêu lần. GIF không hỗ trợ âm thanh.

Một GIF chứa những siêu dữ liệu nào

Phần này khá ngắn, và câu trả lời thực sự khác thường: GIF gần như không mang metadata nào cả. Metadata là thông tin mô tả mà tệp lưu về chính nó, và GIF hầu như không có chỗ cho phần này. Không có trường cho thiết lập máy ảnh, tác giả, ngày tháng, tiêu đề và không có chỗ để lưu tọa độ GPS. Cả EXIF lẫn IPTC, các chuẩn dùng để mang thông tin đó trong ảnh chụp, đều chưa bao giờ được định nghĩa cho GIF.

Báo cáo có thể cho bạn thấy chủ yếu là cấu trúc chứ không phải lịch sử:

  • Kích thước hình ảnh, kích thước bảng màu và số lượng màu thực sự được sử dụng.
  • Số khung hình, thời gian trễ và phương thức xử lý của từng khung, cùng số lần lặp.
  • Mục nào trong bảng màu, nếu có, là màu trong suốt.
  • Hình ảnh có được quét xen kẽ (interlaced) hay không, một mẹo cũ giúp bản xem trước thô xuất hiện trước khi tệp tải xong.
  • Khối bình luận (Comment blocks). GIF cho phép viết các bình luận văn bản tự do, và phần mềm đôi khi ghi tên của nó, dòng thông tin bản quyền hoặc địa chỉ nguồn vào đó. Đây là nơi duy nhất mà tên có khả năng xuất hiện.
  • Khối ứng dụng (Application blocks). Ngoài khối dùng cho việc lặp, Adobe đã định nghĩa một khối có thể mang trọn gói metadata XMP bên trong một tệp GIF. Điều này khá hiếm, nhưng đó là lý do báo cáo đôi khi có thể hiển thị XMP trong GIF.

Điều này có hai mặt. GIF ít có khả năng làm rò rỉ vị trí hoặc số seri máy ảnh của bạn, vì bản thân nó không có chỗ để lưu các thông tin đó. Tuy vậy, điều đó không có nghĩa là ẩn danh: một hoạt hình tạo từ ảnh hoặc khung hình video vẫn hiển thị mọi thứ mà các pixel thể hiện, và mọi khối bình luận sẽ nằm lại trong tệp cho đến khi ai đó xóa nó.

Khi nào nên dùng GIF

Hãy dùng GIF cho các hoạt hình ngắn lặp lại cần hoạt động như một hình ảnh thông thường, trong cửa sổ chat, bài viết trên diễn đàn hoặc email. Với ảnh tĩnh thì hầu như không còn lý do chính đáng nào để chọn GIF: PNG cho cùng loại đồ họa phẳng sẽ nhỏ hơn và giữ đủ màu, còn JPG nhỏ hơn rất nhiều đối với ảnh chụp.

Đối với hoạt hình, so sánh công bằng là với video. Một đoạn MP4 hoặc WebM của cùng vài giây nội dung thường chỉ có kích thước bằng một phần nhỏ và cho màu sắc mượt mà. WebP và APNG cũng hỗ trợ hoạt hình với đủ màu và độ trong suốt chuẩn. Ưu điểm của GIF không nằm ở chất lượng hay kích thước; nó nằm ở chỗ mọi nơi, mọi hệ thống đều đã hỗ trợ GIF.