รูปแบบไฟล์

GIF - รูปแบบ Graphics Interchange

GIF เป็นรูปแบบภาพแบบ lossless เก่าที่จำกัดไว้ที่ 256 สีต่อเฟรม และยังคงเป็นวิธีที่ง่ายที่สุดในการเก็บแอนิเมชันสั้นแบบไม่มีเสียงที่เล่นได้ทุกที่ที่สามารถแสดงภาพได้

.gif

GIF หรือ Graphics Interchange Format ถูกสร้างขึ้นโดยบริการออนไลน์ CompuServe ในช่วงปลายทศวรรษ 1980 เพื่อให้รูปภาพสามารถส่งผ่านการเชื่อมต่อแบบ dial-up ที่ช้า และแสดงผลบนเครื่องคอมพิวเตอร์ที่ไม่เข้ากันแทบทุกอย่างได้ การปรับปรุงครั้งที่สองและครั้งสุดท้ายของมันเพิ่มความสามารถด้านความโปร่งใสและหลายเฟรม และเวอร์ชันนั้นยังคงใช้อยู่จนถึงปัจจุบัน หลายทศวรรษต่อมา GIF ยังถูกใช้อยู่ด้วยเหตุผลหลักข้อเดียว: มันเป็นวิธีที่ง่ายที่สุดในการใส่อนิเมชันสั้นๆ แบบเงียบและวนซ้ำ ลงในที่ที่คาดหวังเพียงรูปภาพนิ่งเท่านั้น

GIF จัดเก็บรูปภาพอย่างไร

GIF เป็นแบบ ไม่สูญเสียข้อมูล (lossless) แต่มีข้อจำกัดมาก การบีบอัดข้อมูลที่เรียกว่า LZW จะใช้รหัสสั้นๆ แทนช่วงพิกเซลที่ซ้ำกัน และสามารถกู้คืนข้อมูลกลับมาได้เหมือนต้นฉบับทุกประการ ข้อจำกัดคือสี: แต่ละเฟรมใช้ได้สูงสุด 256 สี ซึ่งเลือกมาจากพาเลตสีที่เก็บไว้ในไฟล์ ภาพถ่ายมีเฉดสีมากกว่านั้นมาก เมื่อบันทึกเป็น GIF โปรแกรมเข้ารหัสจึงต้องเลือกเพียง 256 สีและประมาณค่าที่เหลือ โดยมักใช้การ dithering คือการกระจายจุดสองสีเพื่อเลียนแบบสีที่สาม นั่นจึงเป็นสาเหตุที่ GIF ภาพถ่ายมักดูเป็นจุดและเป็นแถบ

ความโปร่งใสของ GIF เป็นแบบทั้งหมดหรือไม่มีเลย รายการหนึ่งในพาเลตสามารถถูกระบุให้โปร่งใสได้ ดังนั้นพิกเซลจึงมีได้เพียงแบบโปร่งใสทั้งหมดหรือทึบทั้งหมดเท่านั้น ไม่มีวิธีทำขอบที่นุ่มหรือกึ่งโปร่งใส นั่นจึงเป็นเหตุผลว่าทำไมโลโก้ GIF มักมีขอบแข็งๆ เมื่ออยู่บนพื้นหลังที่ไม่คาดคิด

การทำอนิเมชันคือการเก็บภาพหลายภาพต่อกัน แต่ละภาพมีพาเลตของตัวเอง มีค่าหน่วงเวลาของตัวเองซึ่งวัดเป็นหน่วย 1 ใน 100 วินาที และมีคำสั่งการลบเฟรมซึ่งบอกว่าจะจัดการกับเฟรมก่อนหน้าอย่างไร บล็อกข้อมูลพิเศษขนาดเล็กจะบอกโปรแกรมดูภาพว่าต้องวนซ้ำกี่รอบ ไฟล์ GIF ไม่มีเสียง

ข้อมูลเมทาดาทาที่ GIF มี

ส่วนนี้จะสั้น และคำตอบค่อนข้างแปลก: GIF แทบไม่มีข้อมูลเมทาดาทาเลย เมทาดาทาคือข้อมูลอธิบายตัวไฟล์เอง และ GIF แทบไม่มีพื้นที่สำหรับเก็บข้อมูลเหล่านี้ ไม่มีช่องสำหรับค่าการตั้งค่ากล้อง ไม่มีผู้สร้าง ไม่มีวันที่ ไม่มีชื่อเรื่อง และไม่มีที่เก็บพิกัด GPS มาตรฐาน EXIF และ IPTC ซึ่งใช้เก็บข้อมูลเหล่านี้ในไฟล์ภาพถ่าย ไม่เคยถูกกำหนดให้ใช้กับ GIF

รายงานจะแสดงสิ่งที่เป็นโครงสร้างของไฟล์มากกว่าจะเป็นประวัติ:

  • ขนาดภาพ ขนาดของตารางสี และจำนวนสีที่ถูกใช้งานจริง
  • จำนวนเฟรม ค่าหน่วงเวลาของแต่ละเฟรม วิธีการลบเฟรม และจำนวนรอบการวนซ้ำ
  • รายการใดในพาเลต (ถ้ามี) ที่ถูกกำหนดให้เป็นสีโปร่งใส
  • ภาพถูกตั้งค่าให้แสดงแบบ interlaced หรือไม่ ซึ่งเป็นเทคนิคเก่าที่ทำให้ภาพหยาบๆ แสดงขึ้นมาก่อนที่ไฟล์จะโหลดเสร็จ
  • Comment blocks GIF อนุญาตให้ใส่คอมเมนต์เป็นข้อความอิสระได้ และซอฟต์แวร์บางตัวอาจเขียนชื่อของตัวเอง ข้อความลิขสิทธิ์ หรือที่อยู่ของแหล่งที่มาไว้ในนั้น นี่คือจุดเดียวที่มีแนวโน้มจะพบชื่อปรากฏอยู่
  • Application blocks นอกจากบล็อกที่ใช้ควบคุมการวนซ้ำแล้ว Adobe ยังนิยามบล็อกชนิดหนึ่งที่สามารถบรรจุแพ็กเกจเมทาดาทา XMP แบบครบถ้วนไว้ใน GIF ได้ แม้จะพบไม่บ่อย แต่เป็นเหตุผลที่ทำให้รายงานสามารถแสดงข้อมูล XMP ใน GIF ได้

จุดนี้มีทั้งข้อดีและข้อเสีย GIF มีโอกาสน้อยที่จะเผยตำแหน่งของคุณหรือหมายเลขประจำเครื่องกล้อง เพราะไม่มีที่ให้เก็บข้อมูลเหล่านั้น แต่ก็ไม่ได้หมายความว่าคุณนิรนาม: อนิเมชันที่สร้างจากภาพถ่ายหรือวิดีโอยังแสดงทุกอย่างตามที่พิกเซลแสดง และ comment block ใดๆ จะยังคงอยู่ในไฟล์จนกว่าจะมีคนลบออก

ควรใช้ GIF เมื่อไร

ใช้ GIF สำหรับอนิเมชันสั้นๆ แบบวนซ้ำที่ต้องทำงานเหมือนรูปภาพทั่วไป เช่น ในหน้าต่างแชท โพสต์ในฟอรัม หรืออีเมล สำหรับภาพนิ่ง แทบไม่มีเหตุผลที่จะเลือกใช้มันอีกต่อไป: PNG มีขนาดเล็กกว่าสำหรับกราฟิกเรียบๆ และยังคงสีเต็มรูปแบบได้ ในขณะที่ JPG มีขนาดเล็กกว่ามากสำหรับภาพถ่าย

สำหรับอนิเมชัน ควรเปรียบเทียบอย่างตรงไปตรงมากับวิดีโอ คลิป MP4 หรือ WebM ที่มีความยาวเท่ากันมักมีขนาดเล็กกว่ามากและให้สีที่นุ่มนวลกว่า WebP และ APNG ก็รองรับอนิเมชันพร้อมสีเต็มและความโปร่งใสที่สมบูรณ์ ข้อได้เปรียบของ GIF ไม่ใช่คุณภาพหรือขนาดไฟล์ แต่เป็นเพราะทุกที่และทุกระบบรองรับมันอยู่แล้ว