รูปแบบ PNG ไม่สูญเสียเนื่องจากมีพารามิเตอร์การบีบอัดหรือไม่
รูปแบบ PNG ควรเป็นรูปแบบที่ไม่มีการสูญเสีย แต่เมื่อคุณบันทึกภาพเป็นไฟล์ PNG ระบบจะขอให้คุณเลือกระดับการบีบอัด นี่หมายความว่าจริงๆแล้วรูปแบบ PNG นั้นไม่สูญเสียไปเลยใช่หรือไม่? โพสต์ SuperUser Q&A วันนี้ช่วยขจัดความสับสนสำหรับผู้อ่านที่อยากรู้อยากเห็น
เซสชันคำถามและคำตอบของวันนี้มาถึงเราโดยได้รับความอนุเคราะห์จาก SuperUser ซึ่งเป็นแผนกย่อยของ Stack Exchange ซึ่งเป็นกลุ่มเว็บไซต์ถาม & ตอบที่ขับเคลื่อนโดยชุมชน
คำถาม
pkout ผู้อ่าน SuperUser ต้องการทราบว่าคุณภาพของภาพ PNG ได้รับผลกระทบจากระดับการบีบอัดที่เลือกหรือไม่:
อย่างที่ฉันเข้าใจไฟล์ PNG ใช้การบีบอัดแบบไม่สูญเสียข้อมูล อย่างไรก็ตามเมื่อฉันใช้โปรแกรมแก้ไขภาพเช่น Gimp และพยายามบันทึกภาพเป็นไฟล์ PNG ระบบจะขอระดับการบีบอัดระหว่าง 0 ถึง 9
หากมีพารามิเตอร์การบีบอัดที่ส่งผลต่อความแม่นยำในการมองเห็นของภาพที่บีบอัดแล้ว PNG จะไม่สูญเสียอย่างไร ใครช่วยอธิบายเรื่องนี้ให้ฉันฟังหน่อยได้ไหม ฉันจะได้รับพฤติกรรมที่ไม่สูญเสียเมื่อฉันตั้งค่าระดับการบีบอัดเป็น 9 หรือไม่?
คุณภาพของภาพมีความแตกต่างกันขึ้นอยู่กับระดับการบีบอัดที่คุณเลือกหรือไม่?
คำตอบ
ผู้สนับสนุน SuperUser LordNeckbeard และ jjlin มีคำตอบให้เรา ก่อนอื่น LordNeckbeard:
PNG ถูกบีบอัด แต่ไม่สูญเสีย
ระดับการบีบอัดเป็นการแลกเปลี่ยนระหว่างขนาดไฟล์และความเร็วในการเข้ารหัส / ถอดรหัส เพื่อให้เข้าใจโดยทั่วไปมากเกินไปแม้แต่รูปแบบที่ไม่ใช่รูปภาพเช่น FLAC ก็มีแนวคิดที่คล้ายกัน
ระดับการบีบอัดที่แตกต่างกันเอาต์พุตที่ถอดรหัสเดียวกัน
แม้ว่าขนาดไฟล์จะแตกต่างกันเนื่องจากระดับการบีบอัดที่แตกต่างกัน แต่เอาต์พุตที่ถอดรหัสจริงจะเหมือนกัน คุณสามารถเปรียบเทียบแฮช MD5 ของเอาต์พุตที่ถอดรหัสกับ ffmpeg โดยใช้ MD5 muxer สิ่งนี้แสดงได้ดีที่สุดพร้อมกับตัวอย่างบางส่วน
สร้างไฟล์ PNG
- ตามค่าเริ่มต้น ffmpeg จะใช้ -compression_level 100 สำหรับเอาต์พุต PNG
- การทดสอบอย่างรวดเร็วและเลอะเทอะแสดงให้เห็นว่า 100 (ระดับการบีบอัดสูงสุด) ใช้เวลาในการเข้ารหัสนานกว่าประมาณสามเท่าและถอดรหัสได้นานกว่า 0 ถึง 5 เท่า (ระดับการบีบอัดต่ำสุด) ในตัวอย่างนี้
เปรียบเทียบขนาดไฟล์
ถอดรหัสไฟล์ PNG และแสดงแฮช MD5
เนื่องจากแฮชทั้งสองเหมือนกันคุณจึงมั่นใจได้ว่าเอาต์พุตที่ถอดรหัส (ไฟล์ดิบที่ไม่มีการบีบอัด) จะเหมือนกันทุกประการ
ตามด้วยคำตอบจาก jjlin:
PNG ไม่สูญเสีย GIMP มักจะไม่ใช้ตัวเลือกที่ดีที่สุดในการใช้ถ้อยคำในกรณีนี้
คิดว่ามันเป็นคุณภาพของการบีบอัดหรือระดับของการบีบอัด ด้วยการบีบอัดที่ต่ำลงคุณจะได้ไฟล์ที่ใหญ่ขึ้น แต่ใช้เวลาในการผลิตน้อยลงในขณะที่การบีบอัดที่สูงขึ้นคุณจะได้ไฟล์ขนาดเล็กที่ใช้เวลาในการผลิตนานขึ้น
โดยปกติแล้วคุณจะได้รับผลตอบแทนลดลงกล่าวคือไม่ได้ลดลงมากนักเมื่อเทียบกับเวลาที่เพิ่มขึ้นเมื่อขึ้นไปถึงระดับการบีบอัดสูงสุด แต่ขึ้นอยู่กับคุณ
มีสิ่งที่จะเพิ่มคำอธิบาย? ปิดเสียงในความคิดเห็น ต้องการอ่านคำตอบเพิ่มเติมจากผู้ใช้ Stack Exchange ที่เชี่ยวชาญด้านเทคโนโลยีอื่น ๆ หรือไม่? ดูกระทู้สนทนาฉบับเต็มได้ที่นี่