JPEG ซึ่งย่อมาจาก Joint Photographic Experts Group เป็นวิธีการบีบอัดแบบสูญเสียข้อมูลที่ใช้กันทั่วไปสำหรับภาพดิจิทัล โดยเฉพาะอย่างยิ่งสำหรับภาพที่ถ่ายด้วยกล้องดิจิทัล ระดับการบีบอัดสามารถปรับได้ ซึ่งช่วยให้สามารถเลือกการแลกเปลี่ยนระหว่างขนาดที่จัดเก็บและคุณภาพของภาพได้ JPEG มักจะบรรลุการบีบอัด 10:1 โดยสูญเสียคุณภาพของภาพเพียงเล็กน้อย
อัลกอริทึมการบีบอัด JPEG เป็นหัวใจหลักของมาตรฐาน JPEG กระบวนการเริ่มต้นด้วยการแปลงภาพดิจิทัลจากพื้นที่สี RGB ทั่วไปไปเป็นพื้นที่สีอื่นที่เรียกว่า YCbCr พื้นที่สี YCbCr แยกภาพออกเป็นความสว่าง (Y) ซึ่งแสดงระดับความสว่าง และความอิ่มตัวของสี (Cb และ Cr) ซึ่งแสดงข้อมูลสี การแยกนี้เป็นประโยชน์เพราะดวงตาของมนุษย์มีความไวต่อการเปลี่ยนแปลงของความ สว่างมากกว่าสี ซึ่งช่วยให้การบีบอัดสามารถใช้ประโยชน์จากสิ่งนี้ได้โดยการบีบอัดข้อมูลสีมากกว่าความสว่าง
เมื่อภาพอยู่ในพื้นที่สี YCbCr ขั้นตอนถัดไปในกระบวนการบีบอัด JPEG คือการลดขนาดช่องความอิ่มตัวของสี การลดขนาดจะลดความละเอียดของข้อมูลความอิ่มตัวของสี ซึ่งโดยทั่วไปจะไม่ส่งผลกระทบต่อคุณภาพของภาพที่รับรู้ได้อย่างมีนัยสำคัญ เนื่องจากดวงตาของมนุษย์มีความไวต่อรายละเอียดของสีน้อยกว่า ขั้นตอนนี้เป็นตัวเลือกและสามารถปรับได้ตามความสมดุลที่ต้องการระหว่างคุณภาพของภาพและขนาดไฟล์
หลังจากลดขนาดแล้ว ภาพจะถูกแบ่งออกเป็นบล็อก โดยปกติจะมีขนาด 8x8 พิกเซล จากนั้นแต่ละบล็อกจะถูกประมวลแยกกัน ขั้นตอนแรกในการประมวลผลแต่ละบล็อกคือการใช้ Discrete Cosine Transform (DCT) DCT เป็นการดำเนินการทางคณิตศาสตร์ที่แปลงข้อมูลโดเมนเชิงพื้นที่ (ค่าพิกเซล) ไปเป็นโดเมนความถี่ ผลลัพธ์คือเมทริกซ์ของค่าสัมประสิทธิ์ความถี่ที่แสดงข้อมูลของบล็อกภาพในแง่ของส่วนประกอบความถี่เชิงพื้นที่
จากนั้นค่าสัมประสิทธิ์ความถี่ที่ได้จาก DCT จะถูกหาปริมาณ การหาปริมาณเป็นกระบวนการแมปชุดค่าอินพุตขนาดใหญ่ไปยังชุดที่เล็กลง ในกรณีของ JPEG หมายถึงการลดความแม่นยำของค่าสัมประสิทธิ์ความถี่ นี่คือจุดที่เกิดการสูญเสียข้อมูลในส่วนของการบีบอัด เนื่องจากข้อมูลภาพบางส่วนจะถูกละทิ้ง ขั้นตอนการหาปริมาณจะถูกควบคุมโดยตารางการหาปริมาณ ซึ่งกำหนดว่าจะใช้การบีบอัดกับส่วนประกอบความถี่แต่ละส่วนเท่าใด ตารางการหาปริมาณสามารถปรับได้เพื่อให้ได้คุณภาพของภาพที่สูงขึ้น (การบีบอัดน้อยลง) หรือขนาดไฟล์ที่เล็กลง (การบีบอัดมากขึ้น)
หลังจากการหาปริมาณ ค่าสัมประสิทธิ์จะถูกจัดเรียงตามลำดับซิกแซก โดยเริ่ มจากมุมซ้ายบนและทำตามรูปแบบที่ให้ความสำคัญกับส่วนประกอบความถี่ต่ำมากกว่าส่วนประกอบความถี่สูง นี่เป็นเพราะส่วนประกอบความถี่ต่ำ (ซึ่งแสดงส่วนที่สม่ำเสมอมากขึ้นของภาพ) มีความสำคัญต่อรูปลักษณ์โดยรวมมากกว่าส่วนประกอบความถี่สูง (ซึ่งแสดงรายละเอียดและขอบที่ละเอียดกว่า)
ขั้นตอนถัดไปในกระบวนการบีบอัด JPEG คือการเข้ารหัสเอนโทรปี ซึ่งเป็นวิธีการบีบอัดแบบไม่สูญเสียข้อมูล รูปแบบการเข้ารหัสเอนโทรปีที่ใช้กันทั่วไปที่สุดใน JPEG คือการเข้ารหัส Huffman แม้ว่าการเข้ารหัสเลขคณิตก็เป็นตัวเลือกเช่นกัน การเข้ารหัส Huffman ทำงานโดยกำหนดรหัสที่สั้นกว่าให้กับการเกิดขึ้นบ่อยกว่า และรหัสที่ยาวกว่าให้กับการเกิดขึ้นน้อยกว่า เนื่องจากการจัดลำดับแบบซิกแซกมีแนวโน้มที่จะจัดกลุ่มค่าสัมประสิทธิ์ความถี่ที่คล้ายกันเข้าด้วยกัน จึงเพิ่มประส ิทธิภาพของการเข้ารหัส Huffman
เมื่อการเข้ารหัสเอนโทรปีเสร็จสมบูรณ์ ข้อมูลที่บีบอัดจะถูกจัดเก็บในรูปแบบไฟล์ที่เป็นไปตามมาตรฐาน JPEG รูปแบบไฟล์นี้มีส่วนหัวที่มีข้อมูลเกี่ยวกับภาพ เช่น ขนาดและตารางการหาปริมาณที่ใช้ ตามด้วยข้อมูลภาพที่เข้ารหัส Huffman รูปแบบไฟล์ยังรองรับการรวมเมตาดาต้า เช่น ข้อมูล EXIF ซึ่งอาจมีข้อมูลเกี่ยวกับการตั้งค่ากล้องที่ใช้ในการถ่ายภาพ วันและเวลาที่ถ่าย และรายละเอียดอื่นๆ ที่เกี่ยวข้อง
เมื่อเปิดภาพ JPEG กระบวนการคลายการบีบอัดจะย้อนกลับขั้นตอนการบีบอัดโดยพื้นฐาน ข้อมูลที่เข้ารหัส Huffman จะถูกถอดรหัส ค่าสัมประสิทธิ์ความถี่ที่หาปริมาณแล้วจะถูกยกเลิกการหาปริมาณโดยใช้ตารางการหาปริมาณเดียวกันกับที่ใช้ในการบีบอัด และ Inverse Discrete Cosine Transform (IDCT) จะถูกนำไปใช้กับแต่ละบล็อกเพื่อแปลงข้อมูลโดเมนความถี่กลับเป็นค่าพิ กเซลโดเมนเชิงพื้นที่
กระบวนการยกเลิกการหาปริมาณและ IDCT ก่อให้เกิดข้อผิดพลาดบางประการเนื่องจากลักษณะการสูญเสียข้อมูลของการบีบอัด ซึ่งเป็นสาเหตุที่ JPEG ไม่เหมาะสำหรับภาพที่จะมีการแก้ไขและบันทึกซ้ำหลายครั้ง ทุกครั้งที่มีการบันทึกภาพ JPEG ภาพนั้นจะผ่านกระบวนการบีบอัดอีกครั้ง และข้อมูลภาพเพิ่มเติมจะสูญหายไป สิ่งนี้อาจนำไปสู่การเสื่อมสภาพของภาพที่สังเกตเห็นได้ชัดเจนเมื่อเวลาผ่านไป ซึ่งเป็นปรากฏการณ์ที่เรียกว่า 'การสูญเสียรุ่น'
แม้ว่าการบีบอัด JPEG จะเป็นแบบสูญเสียข้อมูล แต่ก็ยังคงเป็นรูปแบบภาพที่นิยมเนื่องจากความยืดหยุ่นและประสิทธิภาพ ภาพ JPEG อาจมีขนาดไฟล์เล็กมาก ซึ่งทำให้เหมาะสำหรับการใช้งานบนเว็บ ซึ่งแบนด์วิดท์และเวลาในการโหลดเป็นสิ่งสำคัญ นอกจากนี้ มาตรฐาน JPEG ยังมีโหมดแบบก้าวหน้า ซึ่งช่วยให้สามารถเข ้ารหัสภาพในลักษณะที่สามารถถอดรหัสได้หลายครั้ง โดยแต่ละครั้งจะปรับปรุงความละเอียดของภาพ สิ่งนี้มีประโยชน์อย่างยิ่งสำหรับภาพบนเว็บ เนื่องจากช่วยให้สามารถแสดงภาพคุณภาพต่ำได้อย่างรวดเร็ว โดยคุณภาพจะดีขึ้นเมื่อดาวน์โหลดข้อมูลเพิ่มเติม
JPEG ยังมีข้อจำกัดบางประการและไม่ใช่ตัวเลือกที่ดีที่สุดสำหรับภาพทุกประเภท ตัวอย่างเช่น ไม่เหมาะสำหรับภาพที่มีขอบคมหรือข้อความที่มีคอนทราสต์สูง เนื่องจากการบีบอัดอาจสร้างสิ่งประดิษฐ์ที่สังเกตเห็นได้รอบๆ บริเวณเหล่านี้ นอกจากนี้ JPEG ไม่รองรับความโปร่งใส ซึ่งเป็นคุณสมบัติที่มีให้โดยรูปแบบอื่นๆ เช่น PNG และ GIF
เพื่อแก้ไขข้อจำกัดบางประการของมาตรฐาน JPEG เดิม จึงมีการพัฒนาฟอร์แมตใหม่ เช่น JPEG 2000 และ JPEG XR ฟอร์แมตเหล่านี้ให้ประสิทธิภาพการบีบอัดที่ดีขึ้น รองรับความลึกของบิตที่สูงขึ้น แล ะคุณสมบัติเพิ่มเติม เช่น ความโปร่งใสและการบีบอัดแบบไม่สูญเสียข้อมูล อย่างไรก็ตาม พวกเขายังไม่ได้รับการยอมรับอย่างแพร่หลายในระดับเดียวกับรูปแบบ JPEG เดิม
สรุปแล้ว รูปแบบภาพ JPEG เป็นการผสมผสานที่ซับซ้อนของคณิตศาสตร์ จิตวิทยาด้านการมองเห็นของมนุษย์ และวิทยาการคอมพิวเตอร์ การใช้งานอย่างแพร่หลายเป็นเครื่องพิสูจน์ถึงประสิทธิภาพในการลดขนาดไฟล์ในขณะที่ยังคงรักษาคุณภาพของภาพในระดับที่ยอมรับได้สำหรับแอปพลิเคชันส่วนใหญ่ ความเข้าใจในแง่เทคนิคของ JPEG สามารถช่วยให้ผู้ใช้ตัดสินใจได้อย่างชาญฉลาดว่าจะใช้รูปแบบนี้เมื่อใด และจะปรับแต่งภาพของตนอย่างไรเพื่อให้ได้ความสมดุลระหว่างคุณภาพและขนาดไฟล์ที่เหมาะกับความต้องการของตนมากที่สุด
PNG ซึ่งย่อมาจาก Portable Network Graphics เป็นรูปแบบไฟล์กราฟิกแบบแรสเตอร์ที่รองรับการบีบอัดข้อมูลแบบไม่สูญเสียข้อมูล พัฒนาขึ้นเพื่อเป็นตัวแทนที่ได้รับการปรับปรุงและไม่มีสิทธิบัตรสำหรับ Graphics Interchange Format (GIF) PNG ออกแบบมาเพื่อถ่ายโอนภาพบนอินเทอร์เน็ต ไม่เพียงแต่สำหรับกราฟิกคุณภาพระดับมืออาชีพเท่านั้น แต่ยังรวมถึงภาพถ่ายและภาพดิจิทัลประเภทอื่นๆ ด้วย หนึ่งในคุณสมบัติที่โดดเด่นที่สุดของ PNG คือการรองรับความโปร่งใสในแอปพลิเคชันบนเบราว์เซอร์ ซึ่งทำให้เป็นรูปแบบที่สำคัญในการออกแบบและพัฒนาเว็บ
จุดเริ่มต้นของ PNG สามารถสืบย้อนกลับไปได้ถึงปี 1995 หลังจากปัญหาสิทธิบัตรที่เกี่ยวข้องกับเทคนิคการบีบอัดที่ใช้ในรูปแบบ GIF มีการเรียกร้องให้สร้างรูปแบบกราฟิกใหม่บนกลุ่มข่าว comp.graphics ซึ่งนำไปสู่การพัฒนา PNG วัตถุประสงค์หลักของรูปแบบใหม่นี้คือการปรับปรุงและเอาชนะข้อจำกัดของ GIF เป้าหมายประการหนึ่งคือการรองรับภาพที่มีสีมากกว่า 256 สี รวมแชนเนลอัลฟาสำหรับความโปร่งใส ให้ตัวเลือกสำหรับการสาน และเพื่อให้แน่ใจว่ารูปแบบนั้นไม่มีสิทธิบัตรและเหมาะสำหรับการพัฒนาโอเพนซอร์ส
ไฟล์ PNG โดดเด่นในด้านคุณภาพของการเก็บรักษาภาพ โดยรองรับความลึกของสีในช่วงต่างๆ ตั้งแต่ขาวดำ 1 บิตไปจนถึง 16 บิตต่อแชนเนลสำหรับสีแดง เขียว และน้ำเงิน (RGB) การรองรับสีในช่วงกว้างนี้ทำให้ PNG เหมาะสำหรับการจัดเก็บภาพวาดเส้น ข้อความ และกราฟิกแบบไอคอนิกในขนาดไฟล์ที่เล็ก นอกจากนี้ การรองรับแชนเนลอัลฟาของ PNG ยังช่วยให้มีความโปร่งใสในระดับต่างๆ ซึ่งช่วยให้สามารถแสดงเอฟเฟกต์ที่ซับซ้อน เช่น เงา แสงเรือง และวัตถุกึ่งโปร่งใสได้อย่างแม่นยำในภาพดิจิทัล
หนึ่งในคุณสมบัติที่โดดเด่นของ PNG คืออัลกอริทึมการบีบอัดแบบไม่สูญเสียข้อมูล ซึ่งกำหนดโดยใช้วิธี DEFLATE อัลกอริทึมนี้ได้รับการออกแบบมาเพื่อลดขนาดไฟล์โดยไม่ลดทอนคุณภาพของภาพ ประสิทธิภาพของการบีบอัดจะแตกต่างกันไปขึ้นอยู่กับประเภทของข้อมูลที่ถูกบีบอัด โดยเฉพาะอย่างยิ่งสำหรับภาพที่มีพื้นที่ขนาดใหญ่ที่มีสีเดียวหรือรูปแบบที่ซ้ำกัน แม้ว่าการบีบอัดจะไม่สูญเสียข้อมูล แต่ก็ควรทราบว่า PNG อาจไม่ส่งผลให้ได้ขนาดไฟล์ที่เล็กที่สุดเมื่อเปรียบเทียบกับรูปแบบต่างๆ เช่น JPEG โดยเฉพาะอย่างยิ่งสำหรับภาพถ่ายที่ซับซ้อน
โครงสร้างของไฟล์ PNG อิงตามชิ้นส่วน โดยที่แต่ละชิ้นส่วนแสดงถึงข้อมูลหรือเมตาดาต้าบางประเภทเกี่ยวกับภาพ มีชิ้นส่วนหลักสี่ประเภทในไฟล์ PNG ได้แก่ IHDR (ส่วนหัวของภาพ) ซึ่งมีข้อมูลพื้นฐานเกี่ยวกับภาพ PLTE (จานสี) ซึ่งแสดงรายการสีทั้งหมดที่ใช้ในภาพสีที่จัดทำดัชนี IDAT (ข้อมูลภาพ) ซึ่งมีข้อมูลภาพจริงที่บีบอัดด้วยอัลกอริทึม DEFLATE และ IEND (ส่วนท้ายของภาพ) ซึ่งทำเครื่องหมายจุดสิ้นสุดของไฟล์ PNG ชิ้นส่วนเสริมเพิ่มเติมสามารถให้รายละเอียดเพิ่มเติมเกี่ยวกับภาพ เช่น คำอธิบายประกอบข้อความและค่าแกมมา
PNG ยังรวมคุณสมบัติต่างๆ ที่มีจุดมุ่งหมายเพื่อปรับปรุงการแสดงและการถ่ายโอนภาพผ่านอินเทอร์เน็ต การสาน โดยเฉพาะอย่างยิ่งการใช้อัลกอริทึม Adam7 ช่วยให้สามารถโหลดภาพได้อย่างต่อเนื่อง ซึ่งอาจเป็นประโยชน์อย่างยิ่งเมื่อดูภาพผ่านการเชื่อมต่ออินเทอร์เน็ตที่ช้ากว่า เทคนิคนี้จะแสดงภาพคุณภาพต่ำของภาพทั้งหมดก่อน จากนั้นจะเพิ่มคุณภาพขึ้นเรื่อยๆ เมื่อดาวน์โหลดข้อมูลเพิ่มเติม คุณสมบัตินี้ไม่เพียงแต่ช่วยเพิ่มประสบการณ์ของผู้ใช้เท่านั้น แต่ยังให้ข้อได้เปรียบในทางปฏิบัติสำหรับการใช้งานเว็บอีกด้วย
ความโปร่ง ใสในไฟล์ PNG ได้รับการจัดการในลักษณะที่ซับซ้อนกว่าเมื่อเปรียบเทียบกับ GIF ในขณะที่ GIF รองรับความโปร่งใสแบบไบนารีง่ายๆ ซึ่งพิกเซลจะโปร่งใสหรือทึบแสงทั้งหมด PNG ได้นำแนวคิดเรื่องความโปร่งใสของอัลฟามาใช้ ซึ่งช่วยให้พิกเซลมีความโปร่งใสในระดับต่างๆ ได้ ตั้งแต่ทึบแสงทั้งหมดไปจนถึงโปร่งใสทั้งหมด ซึ่งช่วยให้สามารถผสมผสานและเปลี่ยนผ่านระหว่างภาพและพื้นหลังได้อย่างราบรื่น คุณสมบัตินี้มีความสำคัญอย่างยิ่งสำหรับนักออกแบบเว็บที่จำเป็นต้องซ้อนภาพบนพื้นหลังที่มีสีและรูปแบบต่างๆ
แม้จะมีข้อดีมากมาย แต่ PNG ก็มีข้อจำกัดบางประการ เช่น ไม่ใช่ตัวเลือกที่ดีที่สุดสำหรับการจัดเก็บภาพถ่ายดิจิทัลในแง่ของประสิทธิภาพขนาดไฟล์ ในขณะที่การบีบอัดแบบไม่สูญเสียข้อมูลของ PNG ช่วยให้มั่นใจได้ว่าจะไม่มีการสูญเสียคุณภาพ แต่ก็อาจส่งผลให ้ขนาดไฟล์ใหญ่กว่าเมื่อเปรียบเทียบกับรูปแบบที่มีการสูญเสียข้อมูล เช่น JPEG ซึ่งออกแบบมาโดยเฉพาะสำหรับการบีบอัดภาพถ่าย สิ่งนี้ทำให้ PNG ไม่เหมาะสำหรับแอปพลิเคชันที่แบนด์วิดท์หรือความจุในการจัดเก็บมีจำกัด นอกจากนี้ PNG ยังไม่รองรับภาพเคลื่อนไหวโดยตรง ซึ่งเป็นคุณสมบัติที่รูปแบบต่างๆ เช่น GIF และ WebP มีให้
สามารถใช้เทคนิคการเพิ่มประสิทธิภาพกับไฟล์ PNG เพื่อลดขนาดไฟล์สำหรับการใช้งานบนเว็บโดยไม่ลดทอนคุณภาพของภาพ เครื่องมือต่างๆ เช่น PNGCRUSH และ OptiPNG ใช้กลยุทธ์ต่างๆ รวมถึงการเลือกพารามิเตอร์การบีบอัดที่มีประสิทธิภาพที่สุดและการลดความลึกของสีให้เหมาะสมที่สุดสำหรับภาพ เครื่องมือเหล่านี้สามารถลดขนาดของไฟล์ PNG ได้อย่างมาก ทำให้มีประสิทธิภาพมากขึ้นสำหรับการใช้งานบนเว็บ ซึ่งเวลาในการโหลดและการใช้แบนด์วิดท์เป็นสิ่งที่สำคัญ