บทความ
ทำไมรูปภาพถึงเสียคุณภาพทุกครั้งที่บันทึก
รูปถ่ายที่ดูคมชัดในอัลบั้มกล้องกลายเป็นภาพเป็นบล็อกหลังจากถูกส่งต่อผ่านกลุ่มแชทหลายกลุ่มและถูกโพสต์ซ้ำสองสามครั้ง ไม่มีใครแก้ไขมันโดยตั้งใจ มันแค่ผ่านการเข้ารหัสใหม่หลายครั้ง และแต่ละครั้งก็ทิ้งรายละเอียดไปอีกเล็กน้อย นี่คือ generation loss คุณสมบัติเก่าแก่และเป็นที่เข้าใจดีของการบีบอัดแบบสูญเสียข้อมูล และมันอธิบายได้ว่าทำไมภาพที่ถูกแชร์ซ้ำหนัก ๆ ถึงมีแนวโน้มดูแย่ลงเรื่อย ๆ นี่คือสิ่งที่การเข้ารหัสใหม่แบบสูญเสียข้อมูลทิ้งไปจริง ๆ ทำไมมันสะสมกัน และวิธีหยุดไฟล์ไม่ให้เสื่อมคุณภาพต่อไป
สิ่งที่ 'สูญเสียข้อมูล' ทิ้งไปจริง ๆ
JPEG ฟอร์แมตที่อยู่เบื้องหลังรูปถ่ายส่วนใหญ่ที่แชร์ออนไลน์ เป็นแบบสูญเสียข้อมูลโดยการออกแบบ: มาตรฐานเบื้องหลังมันคือ ITU-T T.81 ทำงานโดยแปลงบล็อกของพิกเซลเป็นข้อมูลความถี่แล้วปัดเศษข้อมูลนั้นมากหรือน้อยขึ้นอยู่กับการตั้งค่าคุณภาพ ขั้นตอนที่เรียกว่า quantization การปัดเศษไม่สามารถย้อนกลับได้เป๊ะ ๆ รายละเอียดที่ทิ้งไปหายไปจริง ๆ ไม่ได้ซ่อนอยู่ที่ไหนในไฟล์ การตั้งค่าคุณภาพสูงปัดเศษเบา ๆ และการสูญเสียแทบมองไม่เห็น การตั้งค่าต่ำปัดเศษหนักและไฟล์เป็นบล็อกให้เห็นชัด แต่แม้แต่การบันทึก JPEG เพียงครั้งเดียวก็ทิ้งบางอย่างไปเสมอ
ทุกการเข้ารหัสใหม่คือรุ่นใหม่หนึ่งรุ่น
ครั้งแรกที่รูปถ่ายถูกบันทึกเป็น JPEG ข้อมูลพิกเซลของกล้องจะถูก quantize หนึ่งครั้ง การเปิด JPEG นั้นอีกครั้งแล้วบันทึกอีกครั้ง แม้ไม่มีการแก้ไขใด ๆ เลย จะถอดรหัสพิกเซลที่ประมาณค่าไว้แล้วและ quantize มันเป็นครั้งที่สอง ซ้อนทับการปัดเศษครั้งแรก ไม่ใช่แทนที่มัน การบันทึกเพิ่มเติมแต่ละครั้งคือรุ่นใหม่หนึ่งรุ่น และแต่ละรุ่นสะสมความเป็นบล็อกและ color banding ที่รุ่นก่อนหน้าสร้างไว้แล้ว การบันทึกครั้งเดียวที่คุณภาพสมเหตุสมผลแทบมองไม่เห็นความแตกต่าง การตั้งค่าเดียวกันที่ใช้ห้าหกครั้งติดต่อกันบนไฟล์เดียวกันทำให้รูปถ่ายเสื่อมคุณภาพให้เห็นชัด เพราะข้อผิดพลาดจากทุกรุ่นก่อนหน้ายังอยู่เมื่อรุ่นถัดไปปัดเศษอีกครั้ง

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

ควบคุมคุณภาพของไฟล์
ห่วงโซ่ generation loss จะสะสมก็ต่อเมื่อแต่ละการบันทึกเริ่มจากพิกเซลที่เสื่อมคุณภาพแล้วของการบันทึกก่อนหน้า การเก็บต้นฉบับแบบไม่สูญเสียข้อมูลไว้ ไฟล์กล้องต้นฉบับหรือ PNG แล้ว export JPEG ใหม่จากต้นฉบับนั้นทุกครั้ง จะหลีกเลี่ยงการซ้อนการปัดเศษใหม่ทับการปัดเศษเก่า ตัวบีบอัดรูปภาพของเราให้คุณเลือกการตั้งค่าคุณภาพและดูขนาดไฟล์ที่ได้ก่อนส่งอะไรออกไป และเครื่องมือเปรียบเทียบรูปภาพของเราวางต้นฉบับและสำเนาที่บีบอัดแล้วเทียบกันด้วยแถบเลื่อน ดังนั้นคุณจับการตั้งค่าที่แย่ได้ก่อนส่งไฟล์ต่อและเริ่มรุ่นใหม่อีกรุ่น ทั้งสองทำงานทั้งหมดในเบราว์เซอร์ของคุณ: รูปถ่ายไม่เคยออกจากอุปกรณ์ของคุณเพื่อถูกตรวจสอบเลย
เครื่องมือที่กล่าวถึงในบทความนี้
คำถามที่พบบ่อย
การคัดลอกหรือย้ายไฟล์ JPEG ทำให้มันเสื่อมคุณภาพหรือไม่
ไม่ การคัดลอกไฟล์ แนบเข้ากับอีเมล หรือย้ายระหว่างโฟลเดอร์ คัดลอกไบต์เดียวกันเป๊ะ ๆ ไม่มีอะไรถูกถอดรหัสหรือเข้ารหัสใหม่ ดังนั้นจึงไม่มีอะไรถูก quantize อีกครั้ง generation loss เกิดขึ้นก็ต่อเมื่อพิกเซลถูกเปิดและบันทึกใหม่จริง ๆ ไม่ใช่เมื่อตัวไฟล์ถูกย้ายไปมา
ย้อนกลับ generation loss และกู้คืนรายละเอียดที่หายไปได้หรือไม่
ไม่ได้ Quantization เป็นการสูญเสียข้อมูลจริง ๆ: ข้อมูลความถี่ที่ปัดเศษแล้วซึ่งการบันทึกก่อนหน้าทิ้งไปไม่ได้ถูกบันทึกไว้ที่ไหนในไฟล์เลย ดังนั้นไม่มีฟิลเตอร์หรืออัลกอริทึมใดสร้างมันขึ้นใหม่ได้ การเพิ่มความคมชัดหรือลด noise ของ JPEG ที่เสื่อมคุณภาพอาจทำให้สิ่งแปลกปลอมดูไม่เด่นชัดนัก แต่ไม่ได้คืนรายละเอียดต้นฉบับกลับมา
การแปลง JPEG ที่เสื่อมคุณภาพเป็น PNG หยุดปัญหาได้หรือไม่
การแปลงหลังจากความเสียหายเกิดขึ้นแล้วจะรักษาสิ่งที่ JPEG ดูเป็นอยู่ตอนนั้นไว้ พิกเซลต่อพิกเซล โดยไม่เพิ่มขั้นตอนการปัดเศษใหม่ แต่มันไม่สามารถคืนรายละเอียดที่หายไปในการบันทึกก่อนหน้าได้ วิธีแก้คือเริ่มเก็บต้นฉบับแบบไม่สูญเสียข้อมูลไว้ก่อนที่จะมีรุ่นเพิ่มเติมเกิดขึ้น ไม่ใช่แปลงรูปถ่ายทีหลังในห่วงโซ่