ภาพ APNG เคลื่อนไหว (.apng)
W3C มาตรฐานAPNG ขยาย PNG ด้วยแอนิเมชันหลายเฟรมและภาพนิ่ง โปรแกรมที่ไม่รองรับ APNG อาจแสดงได้เฉพาะภาพนิ่ง
แปลง APNG เป็น GIF
ตัวแปลงจาก APNG เป็น GIF ฟรีในเบราว์เซอร์ แปลงไฟล์ได้ทันทีบนอุปกรณ์ของคุณ
ตรวจสอบไฟล์และข้อมูลเมตา
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ APNG โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็นส่วนหัวระดับไบต์
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ APNG โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็น HEX (OFFSET 0):
89 50 4E 47 0D 0A 1A 0Aการแสดงผลรูปแบบ ASCII: ‰PNG....
มาตรฐาน: W3C Community Group Report (2021) / Mozilla Extension
ข้อมูลจำเพาะทางเทคนิค
| สถาปัตยกรรมคอนเทนเนอร์ | สตรีมชังก์ PNG ที่มีชังก์ acTL (ควบคุมแอนิเมชัน), fcTL (ควบคุมเฟรม) และ fdAT (ข้อมูลเฟรม) |
| การบีบอัด | LZ77 แบบหน้าต่างเลื่อน Deflate (zlib) พร้อมตัวกรองปรับตัว 2 มิติที่ใช้แยกตามเฟรม |
| การจัดลำดับไบต์ | ลำดับไบต์แบบ Big-Endian (ลำดับไบต์เครือข่าย) |
| พื้นที่สี | sRGB, Display P3, โปรไฟล์ ICC ที่ฝังมา (iCCP) |
| ช่องสัญญาณและโครงสร้าง | RGBA (สีจริง 8 บิตหรือ 16 บิตต่อช่องสัญญาณ + อัลฟา 8 บิต) |
| ขนาดสูงสุด | 2,147,483,647 x 2,147,483,647 พิกเซล (ขีดจำกัด 31 บิตของ PNG) |
| ความโปร่งใส | ความโปร่งใสผ่านช่องสัญญาณอัลฟา 8 บิตเต็มรูปแบบ (ระดับความโปร่งแสงเนียน 256 ระดับ) |
| การสตรีมและแบบโปรเกรสซีฟ | ไฟล์ APNG มีภาพนิ่งอยู่ด้วย ตัวถอดรหัสที่ไม่อ่านส่วนแอนิเมชันอาจแสดงภาพนั้นเป็นภาพนิ่ง |
ตารางเปรียบเทียบทางเทคนิค: APNG กับคู่แข่ง
| คุณลักษณะทางเทคนิค | APNG (ปัจจุบัน) | GIF | WEBP | AVIF |
|---|---|---|---|---|
| ความลึกของสี | 24-bit RGB (16.7 ล้านสี) | 8-bit แบบจัดทำดัชนี (256 สี) | 24-bit RGB (16.7 ล้านสี) | 10-bit / 12-bit HDR |
| ความโปร่งใส Alpha | Alpha แบบเนียน 8-bit (256 ระดับ) | มาสก์ไบนารีเปิด/ปิด 1-bit | Alpha แบบเนียน 8-bit | Alpha แบบเนียน 8-bit / 10-bit |
| การใช้งานร่วมกันย้อนหลัง | โปรแกรมดู PNG บางตัวแสดงภาพนิ่งได้ ส่วนแอนิเมชันต้องรองรับ APNG | การรองรับแตกต่างกันไปตามเบราว์เซอร์ | ไม่มีบนโปรแกรมดูรุ่นเก่า | ไม่มีบนโปรแกรมดูรุ่นเก่า |
| ประสิทธิภาพการบีบอัด | Deflate (ปานกลาง) | LZW (ต่ำ) | เฟรมหลัก/ส่วนต่าง VP8 (สูง) | ระหว่างเฟรม AV1 (สูงมาก) |
รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex
แอนิเมชันเล่นเพียงเฟรมแรกและไม่วนซ้ำหรือข้ามไปข้างหน้า
สาเหตุหลัก: ส่วนข้อมูล 'acTL' (การควบคุมแอนิเมชัน) หายไปหรือเสียหาย ซึ่งอยู่ก่อนส่วนข้อมูล IDAT ส่วนข้อมูลแรก
การกู้คืน: ทำการมักซ์เฟรมใหม่โดยใช้ apngasm หรือ File2File.app Animation Converter เพื่อสร้างส่วนข้อมูลควบคุมแอนิเมชันที่ถูกต้องขึ้นมาใหม่
การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์
ตัวแยกวิเคราะห์ APNG ประมวลผลส่วนข้อมูลควบคุมเฟรมที่ทำซ้ำ ซึ่งขนาดที่ผิดรูปแบบอาจทำให้เกิด Integer overflow หรือหน่วยความจำฮีปหมดได้
เวกเตอร์การโจมตีที่ทราบ
- Integer overflow ในการคำนวณออฟเซ็ตเฟรม (x_offset / y_offset) นำไปสู่การประกอบเฟรมที่นอกเหนือขอบเขต
- ความกว้าง/ความสูงของเฟรมที่ไม่ตรงกัน ส่งผลให้เกิดการอ่านบัฟเฟอร์เกินระหว่างการผสมเฟรม
- ลูปการคลายการบีบอัดแอนิเมชันที่ไม่สิ้นสุดทำให้ CPU ในบริการสร้างภาพขนาดย่อฝั่งแบ็กเอนด์ทำงานหนักเกินไป
แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน: ตรวจสอบขอบเขตทั้งหมดของผืนผ้าใบแอนิเมชันและจำกัดจำนวนเฟรมสูงสุดที่อนุญาตก่อนแปลงเป็นแรสเตอร์
ประวัติความเป็นมาและเหตุการณ์สำคัญ
ข้อได้เปรียบและจุดเด่นสำคัญ
- สี RGB 24-bit เต็มรูปแบบรวมถึงความโปร่งใส alpha 8-bit ช่วยขจัดปัญหาขอบหยักของความโปร่งใสแบบ GIF 1-bit ได้อย่างสมบูรณ์
- ไฟล์ APNG มีภาพนิ่งอยู่ด้วย ตัวถอดรหัสที่ไม่อ่านส่วนแอนิเมชันอาจแสดงภาพนั้นเป็นภาพนิ่ง
- เบราว์เซอร์ปัจจุบันหลายตัวรองรับการเล่น APNG แต่ความพร้อมใช้งานขึ้นอยู่กับเบราว์เซอร์และรุ่น
ข้อจำกัดทางเทคนิคและข้อควรพิจารณา
- ขนาดไฟล์ใหญ่กว่ารูปแบบแอนิเมชันที่อิงวิดีโอสมัยใหม่อย่าง WebM หรือ MP4
- มีความซับซ้อนในการเข้ารหัสและการใช้ CPU สูงกว่าในระหว่างการสร้างเมื่อเทียบกับ GIF รุ่นเก่า
- ขาดการคาดการณ์เวกเตอร์การเคลื่อนไหวระหว่างเฟรม ซึ่งพบได้ในตัวแปลงสัญญาณวิดีโอเฉพาะทาง
เกร็ดความรู้ทางเทคนิคที่น่าสนใจ
- กลุ่มพัฒนา PNG อย่างเป็นทางการเคยปฏิเสธ APNG ในปี 2007 โดยชอบรูปแบบ MNG แยกต่างหาก ซึ่งสุดท้ายแล้วไม่ได้รับความนิยม
- Apple ใช้ APNG กับสติกเกอร์เคลื่อนไหวใน App Store ของแอป Messages บน iOS 10 ซึ่งช่วยผลักดันให้มีการใช้งานบนมือถืออย่างแพร่หลาย
- เมื่อเปิดไฟล์ APNG ในโปรแกรมดูภาพรุ่นเก่าจากยุค 1990 โปรแกรมจะแสดงเพียงเฟรมแรกโดยไม่ขัดข้อง
คำถามทางเทคนิคที่พบบ่อย
เหตุใด APNG จึงดีกว่า GIF
APNG รองรับ 16.7 ล้านสีและระดับความโปร่งใสแบบอัลฟาที่เนียนตาถึง 256 ระดับ ในขณะที่ GIF ถูกจำกัดไว้ที่ 256 สีและความโปร่งใสแบบ 1-bit ที่แข็งกระด้าง
เบราว์เซอร์ปัจจุบันรองรับ APNG หรือไม่?
เบราว์เซอร์ปัจจุบันหลายตัวรองรับการเล่น APNG แต่ความพร้อมใช้งานขึ้นอยู่กับเบราว์เซอร์และรุ่น
แปลง APNG เป็น GIF หรือ MP4 มาตรฐานได้ไหม
ได้ File2File.app สามารถแปลงภาพเคลื่อนไหว APNG เป็นไฟล์ GIF, MP4 หรือ WebM ขนาดเบาได้โดยตรงในเว็บเบราว์เซอร์ของคุณ
คู่การแปลงไฟล์ APNG ที่เกี่ยวข้อง
การแปลง APNG เป็น GIF อาจช่วยได้เมื่อแอปรองรับ GIF แต่ไม่รองรับ APNG GIF จำกัดเฟรมไว้ที่ 256 สี และการเล่นขึ้นอยู่กับแอป
การแปลงไฟล์ GIF แบบเคลื่อนไหวเป็นไฟล์ APNG ช่วยอัปเกรดแอนิเมชันราสเตอร์ 256 สีแบบเก่าให้กลายเป็นลำดับภาพสีแท้สมัยใหม่ที่มีความโปร่งใสราบรื่น
นำเฟรมแรกของ APNG ไปไว้ในหน้า PDF หน้าเดียวสำหรับเอกสารข้อมูลจำเพาะ โดย PDF จะเป็นภาพนิ่ง และไม่รวมเฟรมถัดไปกับระยะเวลาแสดงผลของแต่ละเฟรม