- ฟอร์แมตไฟล์ PNG ได้รับการปรับปรุงครั้งใหม่ในรอบ 20 ปี และกลับมาทวงสถานะเดิมอีกครั้ง
- สเปกครั้งนี้เพิ่มเทคโนโลยีสมัยใหม่หลายอย่างอย่างเป็นทางการ เช่น รองรับ HDR, APNG (แอนิเมชัน), และข้อมูล Exif
- บริษัท IT รายใหญ่และผู้ประกอบการด้านบรอดแคสต์ เช่น Adobe, Apple, Google ร่วมกันพัฒนา
- สเปกล่าสุดมีการรองรับแล้วในหลายโปรแกรม เช่น Chrome, Safari, Photoshop
- ในอนาคตมีแผนอัปเดตเพิ่มเติม เช่น เทคโนโลยีการบีบอัดที่ดีกว่าเดิม และการเข้ารหัส/ถอดรหัสแบบขนาน
บทนำ: การคืนชีพของ PNG และความสำคัญของมัน
- ล่าสุด ฟอร์แมตไฟล์ PNG ได้รับการอัปเดตด้วยสเปกใหม่ หลังหยุดนิ่งมาราว 20 ปี
- องค์กรสำคัญอย่างหอสมุดรัฐสภาสหรัฐฯ, Library and Archives Canada และหอจดหมายเหตุแห่งชาติออสเตรเลีย ต่างเลือกใช้ PNG เป็น ฟอร์แมตที่แนะนำอย่างเป็นทางการ
- สเปกใหม่นี้ช่วยให้ PNG กลับมามี ความสามารถในการแข่งขัน ในตลาดและแสดงให้เห็นถึงนวัตกรรมอีกครั้ง
ฟีเจอร์และคุณสมบัติใหม่
การรองรับ HDR อย่างเหมาะสมและความเข้ากันได้ในอนาคต
- PNG รุ่นใหม่รองรับ HDR (High Dynamic Range)
- ในภาพเปรียบเทียบขอบเขตสี Rec. 2020 กับ Rec. 709 พื้นที่ที่กว้างกว่า (สามเหลี่ยมด้านนอก) แสดงถึงสีที่ภาพ HDR สามารถถ่ายทอดได้
- ข้อมูล HDR นี้ต้องใช้พื้นที่เพิ่มเพียง 4 ไบต์ (รวมถึงโอเวอร์เฮดของ chunk แบบเดิมของ PNG)
- Chris Lilley และผู้เขียนยุคแรก รวมถึงผู้เชี่ยวชาญทางเทคนิคหลัก ได้ร่วมอธิบายเทคโนโลยีใหม่นี้อย่างชัดเจน
การรับรอง APNG (Animated PNG) อย่างเป็นทางการ
- Animated PNG (APNG) ซึ่ง Mozilla เป็นผู้เสนอครั้งแรกและ Firefox รองรับ ก็ถูกรวมเข้าในสเปกอย่างเป็นทางการแล้ว
- ก่อนหน้านี้มีเพียงซอฟต์แวร์บางส่วนที่รองรับ แต่ปัจจุบันมีการนำไปใช้กันอย่างแพร่หลายในหลายโปรแกรม
การรองรับข้อมูล Exif อย่างเป็นทางการ
- Exif ช่วยให้เก็บเมตาดาต้า เช่น ลิขสิทธิ์, ข้อมูลกล้อง, ข้อมูล GPS ได้
- จึงมีประโยชน์สูงสำหรับการสร้างและจัดเก็บภาพ ตลอดจนการจัดการลิขสิทธิ์
การปรับปรุงโดยรวมและการแก้ไขข้อผิดพลาด
- มีการ แก้ไข Errata และทำให้ข้อกำหนดเดิมชัดเจนขึ้น ไปพร้อมกัน
เบื้องหลังและกระบวนการพัฒนา
- สเปก PNG ฉบับก่อนหน้าถูกเผยแพร่เมื่อราว 20 ปีก่อน (ก่อน iPhone เปิดตัว 3 ปีครึ่ง)
- การพัฒนากลับมาเริ่มอีกครั้งเมื่อ W3C Timed Text Working Group (มาตรฐานเทคโนโลยีคำบรรยาย) ชี้ให้เห็นถึงความจำเป็นที่ PNG ต้องรองรับ HDR
- เมื่อมีข้อเสนอขึ้นมา บริษัทเทคโนโลยีสำคัญอย่าง Adobe, Apple, BBC, Google, MovieLabs และ W3C ก็เข้าร่วมกันพัฒนา
- เกิดเป็นคอนซอร์เทียมที่แข็งแกร่งเพื่อยกระดับ PNG ให้เป็นฟอร์แมตรูปภาพยุคถัดไป
- ขณะนี้ อัปเดตต่อเนื่องอีกสองรายการ ก็อยู่ระหว่างการเตรียมการแล้ว
สถานะการใช้งานที่แพร่หลายในปัจจุบัน
- Chrome, Safari, Firefox, iOS/macOS, Photoshop, DaVinci Resolve, Avid Media Composer และโปรแกรมอื่น ๆ อีกมาก รองรับสเปก PNG ล่าสุดแล้ว
- การรองรับกำลังขยายไปยังผู้ประกอบการบรอดแคสต์ รวมถึงฮาร์ดแวร์และเครื่องมือที่เกี่ยวข้อง
- ภาพสำหรับงานกระจายเสียง เช่น นิวส์สกอลล์และแบนเนอร์คะแนนกีฬา คือหนึ่งในตัวอย่างการใช้งาน HDR PNG แบบใหม่
แผนในอนาคต
- ในฉบับถัดไปมีแผนจะปรับปรุง ความเข้ากันได้ระหว่าง HDR & SDR ให้ดียิ่งขึ้น
- นอกจากนี้ยังมีการผลักดัน วิธีการบีบอัดที่ดีขึ้น และการเข้ารหัส/ถอดรหัสแบบขนาน
- ฉบับที่ 4 จะเป็นการอัปเดตที่ค่อนข้างสั้น และหลังจากนั้นมีแผนพัฒนาฉบับที่ 5 โดยอาศัยงานวิจัยด้านเทคโนโลยีการบีบอัด
2 ความคิดเห็น
ตอนแรกพวกเขาปฏิเสธว่า APNG ไม่ใช่มาตรฐานสำหรับรูปภาพขององค์กร แต่ในที่สุดตอนนี้ก็ยอมรับแล้วสินะ
ความคิดเห็นจาก Hacker News
ผู้แสดงความคิดเห็นระบุว่าตนเป็นผู้เขียน และยินดีตอบคำถามเสมอ
เน้นว่านี่ไม่ใช่ฟอร์แมตใหม่ทั้งหมด แต่เป็นเวอร์ชันอัปเดตของฟอร์แมตเดิม
ระบุว่ามีความเข้ากันได้ย้อนหลังสูงมาก
อธิบายว่าโปรแกรมรุ่นเก่าก็ยังอ่านไฟล์ PNG แบบใหม่ได้ดีเท่าที่จะทำได้ และอย่างน้อยก็ยังรู้ได้ว่าเป็นภาพแอปเปิลสีแดง เป็นต้น
สรุปประเด็นสำคัญไว้ เพราะอาจมีความสับสนเกี่ยวกับการทำงานภายในของ PNG
บอกว่าอยากเห็นหน้าสาธิตที่มีไฟล์ตัวอย่างซึ่งใช้ฟีเจอร์ของสเปก PNG ใหม่ โดยเฉพาะไฟล์แอนิเมชันหรือภาพ HDR ที่ดาวน์โหลดมาทดสอบความเข้ากันได้ของโปรแกรมได้โดยตรง
ระบุว่าตนสนับสนุน meta-format และ tooling แบบอเนกประสงค์
ในเครื่องมือวาดรูปบนเว็บของฉัน ใช้วิธีเก็บ JSON representation ของเอกสารไว้ในช่องคอมเมนต์ของ PNG
ทำแบบนี้แล้วไฟล์ที่บันทึกไว้ใช้เป็นรูปภาพได้ทันที และยังโหลดกลับเข้า editor ได้ด้วย
ข้อดีคือไม่ต้องมีไฟล์ JSON ชื่ออ่านยากกองเต็มโฟลเดอร์ดาวน์โหลด
ฟังดูสนุกดี แต่ก็อธิบายกับผู้ใช้ยากว่าทำไมไฟล์ถึงถูกบันทึกเป็น
.pngหรือทำไมพอเปิดด้วย Paint แล้วเซฟใหม่ข้อมูลถึงหายKrita ก็เก็บการตั้งค่าแปรงแบบนี้เช่นกัน แต่ถ้าข้อมูลมีมากเกินไปอาจทำให้เกิดปัญหาที่ไม่คาดคิด
Macromedia Fireworks ใช้ PNG เป็นฟอร์แมตบันทึกเริ่มต้นมาตั้งแต่ 20 ปีก่อนแล้ว
ฟรอนต์เอนด์สำหรับสร้างภาพ AI หลายตัวก็ใช้งานคล้ายกัน
Macromedia Fireworks บันทึกไฟล์ Fireworks ไว้ใน PNG,
สเปกนี้ใกล้เคียงกับการทำให้สิ่งที่ถูก implement กันอย่างกว้างขวางอยู่แล้ว กลายเป็นข้อกำหนดที่ชัดเจน
ถ้าจะเรียกว่า PNG รุ่นถัดไป แล้วต้องมี decoder ใหม่ ก็รู้สึกว่าเรียก PNG2 ไปเลยก็ได้
JPEG-XL ตอบโจทย์ codec แบบ lossless ที่คนส่วนใหญ่ต้องการอยู่แล้วแทบทั้งหมด
ตอนนี้ codec ภาพแบบ lossless ที่ดีที่สุดคือ HALIC
แต่ดูจาก เธรดพูดคุย HALIC แล้ว ในทางปฏิบัติ LEA 0.5 ดูจะดีกว่า
พูดตรง ๆ คือก่อนหน้านี้เข้าใจผิดและมองข้าม JPEG XL ไปพักหนึ่ง เพราะคิดว่าใช้สำหรับ "ภาพขนาดยักษ์" เท่านั้น
ฉันใช้ png ในเครื่องมือ annotation ภาพสำหรับคอมพิวเตอร์วิทัศน์ (XLabel)
lossless compression ของ WebP อยู่ในระดับดีที่สุดของอุตสาหกรรม แต่กลับไม่ได้ถูกใช้อย่างแพร่หลาย
ปัญหาความเร็ว encode/decode อาจดีขึ้นได้เมื่อเวลาผ่านไป
ข่าวดีที่สุดคือมีการรองรับข้อมูล Exif อย่างเป็นทางการแล้ว
ก่อนหน้านี้ก็เขียนข้อมูลแบบกำหนดเองไว้ใน header ได้อยู่แล้ว แต่การรองรับ Exif นั้นน่ายินดีมาก
อีกเรื่องคือสงสัยว่าใน Exif มีฟิลด์เกี่ยวกับ gyroscope (การหมุน) หรือ acceleration (แรงโน้มถ่วง) หรือไม่
มีฟิลด์สำหรับ acceleration (
Exif.Photo.Acceleration) และฟิลด์สำหรับความสูง (Exif.Photo.CameraElevationAngle) แต่ไม่ได้รองรับครบทั้ง 3 แกนExif.Photo.MakerNoteเป็นพื้นที่อิสระที่ผู้ผลิตสามารถเก็บข้อมูลอะไรก็ได้ตามต้องการ และมีขนาดกว้างพอจะบันทึกข้อมูล 9 แกนได้สบายExif อาจทำให้การจัดการการหมุนระหว่างการเรนเดอร์ภาพเกิดความสับสน
ไม่มีฟิลด์มาตรฐานสำหรับบันทึกข้อมูลจาก accelerometer หรือ inertial navigation unit ของกล้อง
ในความเป็นจริง เว็บไซต์จำนวนมากลบข้อมูล Exif ส่วนใหญ่ออกตอนอัปโหลด
โดยส่วนตัวอยากให้คนหันไปใช้ XMP แทน Exif
สเปก PNG ครั้งนี้เป็นการทำสิ่งที่ใช้กันอย่างแพร่หลายอยู่แล้วให้เป็นข้อกำหนดทางการ
codec ที่ดีที่สุดต้องใช้งานได้ทุกที่ ไม่ว่าในแอปใด, OS shell, API หรือ Linux
ฟอร์แมตอย่าง HEIC หรือ AV1 ถ้าไม่มีการรองรับในระดับ OS ก็แทบจะดูตัวอย่างไฟล์ยังลำบาก
ฟอร์แมตที่ยังไม่แพร่หลายจริง ไม่ควรกลายเป็นค่าปริยายของแพลตฟอร์ม
ฉันทำงานที่ต้องรองรับฟอร์แมตภาพหลายชนิด รวมถึงฟอร์แมตหายากที่ใช้กันเฉพาะทางด้วย
สเปกใหม่นี้อาจสร้างความสับสนมากกว่า HEIC หรือ AV1 เสียอีก
นี่เป็นครั้งแรกที่เห็นคำว่า HDR ถูกใช้ในความหมายว่า "gamut สีที่กว้างขึ้น" ไม่ใช่การขยายช่วงความสว่าง/คอนทราสต์อย่างชัดเจน
สงสัยว่ามันสายเกินไปหรือเปล่า
และ JPEG XL ก็มีทุกฟีเจอร์อยู่แล้ว (compression แบบ lossy/lossless, animation, HDR, Exif ฯลฯ) รวมถึงเทคนิคการบีบอัดขั้นสูง (finite-state symbol entropy, ZStandard เป็นต้น)
เลยคิดว่าไม่จำเป็นต้องอัปเดต PNG แยกต่างหาก แค่ใช้ JPEG XL ไปเลยก็พอ
แต่ความจริงคือแนวคิดแบบ "แค่ยอมรับใช้งานก็จบ" นั้นใช้ไม่ได้
เกี่ยวกับคำว่า "เทคนิคการบีบอัดขั้นสูง (ZStandard เป็นต้น)"
สำหรับความเห็นว่า "ไม่ต้องอัปเดต PNG แค่ยอมรับ JPEG XL ก็พอ"
ไม่เข้าใจว่าทำไมต้องสร้างมาตรฐาน (หรืออนุพันธ์) ใหม่เพิ่มอีก
ตอนนี้อาจแทนที่ GIF ด้วย APNG (alpha blending + transparent background + lossless compression) ได้แล้ว ทำให้บรรยากาศเว็บยุค 2000s กลับมาอีกครั้ง
เลยสงสัยว่ามี Animated SVG ที่เป็นมาตรฐานหรือไม่
Animated SVG มีอยู่
set,animate,animateTransform,animateMotionเข้าใจว่าปัจจุบันวิดีโอแบบไม่มีเสียง (เช่น mp4) ถูกใช้แทน GIF มากขึ้นเพราะบีบอัดได้ดีกว่า
บริการส่วนใหญ่ที่รองรับการอัปโหลด GIF แทบไม่รองรับ APNG หรือ animated WEBP เลย
ถ้าแปลงคลิปสั้นเป็นกราฟิกแอนิเมชัน เดิมที WEBP ดีกว่า APNG อยู่แล้ว
เมื่อหลายปีก่อนเคยใช้ไลบรารี Lottie (Bodymovin)
ใน PR มีการอ้างว่า "โปรแกรมจำนวนมากรองรับสเปก PNG ใหม่อยู่แล้ว" แต่
ข้อความที่บอกว่า Photoshop รองรับ APNG นั้นไม่ถูกต้อง
Photoshop รองรับส่วน HDR แต่ไม่รองรับส่วน APNG
มีคนพูดถึงว่ามนุษย์ควรมีวิธีจัดการความไม่แน่นอนของข้อมูลเวลา/วันที่ในซอฟต์แวร์ให้สอดคล้องกัน
เช่นข้อมูลเวลาแบบคลุมเครืออย่าง "ภาพสแกนในปี 2025, เนื้อหาอยู่ราวช่วงอีสเตอร์, ระหว่างปี 1920~1940"
ใน EXIF มีฟิลด์
DateTimeDigitizedอยู่ใน Google Photos และ Apple Photos สามารถกำหนดวันที่เองได้ แต่ไม่ได้บันทึกกลับไปใน EXIF จริง