JFIF ก็คือ JPEG: นามสกุล .jfif เปลี่ยนอะไร
นามสกุลที่ชวนปวดหัวคือสิ่งเดียวที่ชวนปวดหัวในเรื่องนี้ ไฟล์ .jfif บรรจุ JPEG ธรรมดา และทุกโปรแกรมที่อ่าน JPEG ก็อ่านมันได้ การแปลงเป็น PNG ไม่ทำให้ภาพคมขึ้น เพราะไม่มีอะไรเหลือให้ทำให้คมอีกแล้ว
JFIF ย่อมาจาก JPEG File Interchange Format เป็นข้อกำหนดจากต้นทศวรรษ 1990 ที่อธิบายวิธีห่อสตรีมข้อมูล JPEG เพื่อให้โปรแกรมต่าง ๆ เข้าใจตรงกันว่าพิกเซลหมายถึงอะไร ตัวห่อคือบล็อกมาร์กเกอร์เล็ก ๆ ซึ่งก็คือมาร์กเกอร์ APP0 ที่ด้านหน้าของไฟล์ บันทึกอัตราส่วนภาพพิกเซลและบางครั้งมีภาพย่อ ทุกอย่างหลังจากนั้นคือ JPEG ธรรมดา
นามสกุลนี้มาจากไหน
นามสกุล .jfif เป็นธรรมเนียมจากยุค Windows กล้องบางรุ่น โทรศัพท์บางเครื่อง และโปรแกรมบน Windows บางตัวบันทึก JPEG ด้วยนามสกุลนี้ และบางตัวจะไม่แสดงภาพย่อของไฟล์เดียวกันหากคุณเปลี่ยนชื่อเป็น .jpg ไบต์ไม่เปลี่ยน มีเพียงชื่อที่เปลี่ยน นี่จึงเป็นเหตุผลว่าเบราว์เซอร์เปิดไฟล์ .jfif ได้ดีมากถ้าคุณลากมันเข้าแท็บ และเป็นเหตุผลว่าระบบปฏิบัติการที่พึ่งพานามสกุลจึงสับสน
บล็อกมาร์กเกอร์บรรจุอะไรจริง ๆ
| มาร์กเกอร์ | สิ่งที่บรรจุ |
|---|---|
APP0 (JFIF) | เวอร์ชัน หน่วยความหนาแน่น (dpi หรือจุดต่อซม.) และอัตราส่วนภาพพิกเซล |
| APP0 (อื่น ๆ) | บล็อกเฉพาะผู้ผลิต กล้องบางรุ่นเขียนของตัวเองไว้ตรงนี้ |
APP1 (Exif) | ข้อมูลเมตาของกล้อง: การรับแสง วันที่ การวางแนว และบางครั้ง GPS |
| ทุกอย่างหลังจากนั้น | สตรีมข้อมูล JPEG: ตารางควอนไทซ์ ตาราง Huffman และภาพที่บีบอัดแล้ว |
เครื่องมือนี้ไม่จำเป็นต้องอ่านบล็อกนั้นเพื่อแปลงไฟล์ .jfif อยู่ในรายการที่ยอมรับเดียวกับ .jpg และ .jpeg ตัวแปลงจึงถือทั้งสี่นามสกุลเป็นรูปแบบเดียว ที่เดียวที่มาร์กเกอร์ถูกตรวจสอบคือโปรแกรมดูข้อมูลเมตา ซึ่งอ่านมันและรายงานอะไรทำนอง JFIF 1.02, 72 dpi และยังเก็บมาร์กเกอร์ไว้เมื่อลบข้อมูลเมตาอื่น เพราะบล็อก JFIF อธิบายวิธีตีความพิกเซล
การแปลงเป็น PNG ทำได้และทำไม่ได้อะไร
JPEG เป็นแบบสูญเสียข้อมูล รายละเอียดบางส่วนถูกทิ้งไปตอนบันทึก และไม่ถูกเก็บไว้ที่อื่นเลย การถอดรหัสไฟล์คืนพิกเซลที่รอดชีวิตมาเป๊ะ ๆ การเขียนพิกเซลเหล่านั้นลงใน PNG เก็บไว้โดยไม่สูญเสียเพิ่ม ดังนั้น PNG จึงดูเหมือน JPEG และมักใหญ่กว่าหลายเท่าเพราะ PNG ไม่ยอมลดทอนอะไรเพื่อแลกกับขนาด
- การแปลงไม่ทำให้ภาพคมขึ้นหรือกู้รายละเอียดกลับมา
- มันไม่ลบร่องรอยบกพร่องจากการบีบอัด แต่เก็บไว้เป๊ะ ๆ
- มันตัดบล็อก Exif ออก เพราะ PNG ไม่ได้บรรจุมัน และไม่มีอะไรถูกคัดลอกลงในไฟล์ใหม่
- มันหยุดการเสื่อมเพิ่มเติม เพราะการบันทึกซ้ำเป็น JPEG ทุกครั้งจะสูญเสียมากขึ้นอีกนิด แต่ PNG ไม่
ประเด็นสุดท้ายคือเหตุผลจริง ๆ ที่ควรแปลง หากคุณกำลังจะแก้ไข JPEG ให้ทำงานบน PNG หากแค่ต้องเก็บไว้ JPEG ก็เล็กอยู่แล้ว
ข้อจำกัด
- 64 MB ต่อไฟล์ เกินกว่านั้นเครื่องมือจะปฏิเสธก่อนถอดรหัสอะไรทั้งสิ้น
- ด้านใดของไฟล์ผลลัพธ์ต้องไม่เกิน 20,000 px
- การแปลงทำงานในแท็บนี้ ไฟล์ไม่เคยถูกอัปโหลด
- JPEG, JPG, JFIF และ JPE ถูกยอมรับเป็นข้อมูลนำเข้าทั้งหมด
ฉบับย่อ
.jfifคือ JPEG ที่มีบล็อกส่วนหัวเล็ก ๆ อยู่ข้างหน้า- การแปลงเป็น PNG เก็บทุกพิกเซลที่รอดชีวิตไว้และไม่เพิ่มอะไร
- ภาพจะไม่คมขึ้น เพราะรายละเอียดถูกทิ้งไปแล้ว
- ไฟล์ไม่เคยออกจากอุปกรณ์ของคุณ
คำถาม
การแปลง JFIF เป็น PNG จะทำให้ภาพคมขึ้นไหม
ไม่ ความคมถูกตัดสินตอนเขียน JPEG และการถอดรหัสไม่สามารถสร้างรายละเอียดที่ถูกทิ้งไปแล้วขึ้นมาใหม่ PNG เก็บผลลัพธ์ที่ถอดรหัสได้อย่างซื่อตรง ไม่ได้ย้อนการบีบอัดรอบแรก
ไฟล์ .jfif ก็แค่ .jpg ที่เปลี่ยนชื่อใช่ไหม
โดยพื้นฐานคือใช่ มันคือสตรีมข้อมูล JPEG ที่มีบล็อกส่วนหัว JFIF อยู่ข้างหน้าและนามสกุลที่ซอฟต์แวร์บางตัวชอบ เบราว์เซอร์และโปรแกรมแก้ไขอ่านเป็น JPEG มีเพียงนามสกุลที่แปลก
ทำไม PNG จึงใหญ่กว่า JFIF มาก
เพราะ JPEG บีบอัดแบบสูญเสียข้อมูล แต่ PNG ไม่ PNG บรรจุพิกเซลเดียวกันโดยไม่บีบอัดเพิ่ม ภาพถ่ายที่บันทึกเป็น PNG จึงมักใหญ่กว่าหลายเท่า