รูปภาพ JPEG (.jpg)
ISO/IEC มาตรฐานJPEG คือมาตรฐานการบีบอัดแบบสูญเสียข้อมูลที่มีการใช้งานแพร่หลายที่สุดสำหรับการถ่ายภาพดิจิทัลและภาพบนเว็บ โดยอาศัยประโยชน์จากความไวต่อแสงสว่าง (Luminance) ของดวงตามนุษย์ที่มีมากกว่าความไวต่อสี (Chrominance)
แปลง PNG เป็น JPG
ตัวแปลงจาก PNG เป็น JPG ฟรีในเบราว์เซอร์ แปลงไฟล์ได้ทันทีบนอุปกรณ์ของคุณ
บีบอัด JPG ออนไลน์
เป็นส่วนตัว - ไฟล์จะไม่ออกจากอุปกรณ์ของคุณ
ตรวจสอบไฟล์และข้อมูลเมตา
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ JPG โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็นส่วนหัวระดับไบต์
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ JPG โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็น HEX (OFFSET 0):
FF D8 FFการแสดงผลรูปแบบ ASCII: ÿØÿ
มาตรฐาน: ISO/IEC 10918-1 / ITU-T T.81
ข้อมูลจำเพาะทางเทคนิค
| สถาปัตยกรรมคอนเทนเนอร์ | สตรีมไบนารีคั่นด้วยมาร์กเกอร์ (คำนำหน้า 0xFF) ห่อหุ้มด้วยส่วนหัว JFIF หรือ EXIF |
| การบีบอัด | การแปลงโคไซน์ไม่ต่อเนื่องแบบสูญเสียข้อมูล (DCT) ร่วมกับการเข้ารหัสเอนโทรปีแบบ run-length และ Huffman |
| การจัดลำดับไบต์ | Big-Endian สำหรับความยาวมาร์กเกอร์และตารางควอนไทเซชัน ส่วน Exif ใช้ได้ทั้ง Little-Endian (II) และ Big-Endian (MM) |
| พื้นที่สี | sRGB, Adobe RGB, CMYK, Y'CbCr, ระดับเทา |
| ช่องสัญญาณและโครงสร้าง | 8 บิตต่อช่องสัญญาณ (ทรูคัลเลอร์ 24 บิต) หรือเกรย์สเกล 8 บิต |
| ขนาดสูงสุด | 65,535 x 65,535 พิกเซล (เลขจำนวนเต็มไร้เครื่องหมาย 2 ไบต์) |
| ความโปร่งใส | ไม่มี (ทึบแสงเท่านั้น ไม่รองรับช่องสัญญาณอัลฟา) |
| การสตรีมและแบบโปรเกรสซีฟ | การเข้ารหัส JPEG แบบโปรเกรสซีฟจะจัดเก็บรอบสเปกตรัมหลายรอบตั้งแต่ความละเอียดต่ำไปจนถึงความละเอียดสูง |
ตารางเปรียบเทียบทางเทคนิค: JPG กับคู่แข่ง
| คุณลักษณะทางเทคนิค | JPG (ปัจจุบัน) | WebP | AVIF | PNG |
|---|---|---|---|---|
| แนวทางการบีบอัด | DCT แบบสูญเสียข้อมูล + การเข้ารหัสฮัฟแมน | สูญเสียข้อมูล (VP8) และไม่สูญเสียข้อมูล | สูญเสียข้อมูล (AV1) และไม่สูญเสียข้อมูล | แบบไม่สูญเสียข้อมูลด้วย Deflate |
| ความโปร่งใสอัลฟา | ไม่รองรับช่องสัญญาณอัลฟา (ทึบแสงเสมอ) | ความโปร่งใสอัลฟา 8 บิต | อัลฟา 8 บิต / 10 บิต / 12 บิต | อัลฟา 8 บิต / 16 บิตเต็มรูปแบบ |
| การถอดรหัสด้วยฮาร์ดแวร์ | การรองรับการถอดรหัส JPEG ด้วยฮาร์ดแวร์เฉพาะขึ้นอยู่กับชิปและอุปกรณ์ | การถอดรหัสฮาร์ดแวร์แพร่หลายใน SoC สมัยใหม่ | การถอดรหัสฮาร์ดแวร์ที่ขยายตัวอย่างรวดเร็วใน GPU สมัยใหม่ | การถอดรหัสความเร็วสูงที่อาศัยซีพียู |
| ประสิทธิภาพการบีบอัด | เกณฑ์มาตรฐานที่ดีสำหรับภาพถ่าย | อาจมีขนาดเล็กกว่า JPEG ผลลัพธ์แตกต่างตามภาพและตัวเข้ารหัส | อาจมีขนาดเล็กกว่า JPEG ผลลัพธ์แตกต่างตามภาพและตัวเข้ารหัส | ไม่มีประสิทธิภาพสำหรับเนื้อหาที่เป็นภาพถ่าย |
| ความลึกของสี | มาตรฐาน 8 บิตต่อช่องสัญญาณ (ทรูคัลเลอร์ 24 บิต) | 8 บิตต่อช่องสัญญาณ | ขอบเขตสีกว้าง HDR 10 บิตและ 12 บิต | 8 บิตและ 16 บิตต่อช่องสัญญาณ |
รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex
โปรแกรมดูภาพแสดงข้อความ 'Premature end of JPEG file' หรือส่วนล่างของภาพเป็นสีเทาทึบหรือมีแถบสีเพี้ยน
สาเหตุหลัก: การดาวน์โหลดถูกตัดตอนหรือการเขียนข้อมูลลงหน่วยความจำไม่สมบูรณ์ ขาดมาร์กเกอร์ส่วนท้าย 0xFFD9 (EOI) และเพย์โหลดสแกนภาพ
การกู้คืน: เติมมาร์กเกอร์ 0xFFD9 ต่อท้ายสตรีมที่ถูกตัดตอน เพื่อให้ตัวถอดรหัสสามารถแสดงส่วนบนที่สมบูรณ์ของภาพถ่ายได้
สีของภาพปรากฏว่าเพี้ยนอย่างหนัก กลับด้าน หรือเป็นสีแนวไซเคดอลิก
สาเหตุหลัก: ส่วนหัวพื้นที่สี CMYK กลับด้าน หรือโปรไฟล์ ICC ที่ฝังไว้ไม่ถูกต้อง
การกู้คืน: แปลงพื้นที่สีจาก CMYK เป็น sRGB โดยใช้ ImageMagick ('magick broken.jpg -colorspace sRGB fixed.jpg')
ไฟล์ไม่สามารถเปิดได้และรายงานข้อความ 'Invalid marker found'
สาเหตุหลัก: ข้อมูลเสียหายภายในส่วนหัวตารางควอนทิไทเซชัน (DQT 0xFFDB) หรือตารางฮัฟแมน (DHT 0xFFC4)
การกู้คืน: แทนที่มาร์กเกอร์ส่วนหัวที่เสียหายด้วยตารางฮัฟแมนและควอนทิไทเซชันมาตรฐานของ JFIF ที่ดึงมาจากไฟล์ JPEG ที่สมบูรณ์
การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์
ความปลอดภัยของ JPEG เกี่ยวข้องเป็นหลักกับการรั่วไหลของความเป็นส่วนตัวในข้อมูลเมตา (EXIF) และบัฟเฟอร์ล้นในตัวถอดรหัส C รุ่นเก่า (libjpeg)
เวกเตอร์การโจมตีที่ทราบ
- การเปิดเผยข้อมูลเมตาที่ละเอียดอ่อน: ส่วนหัว EXIF ที่ไม่ได้ถูกลบออกซึ่งมีพิกัด GPS, หมายเลขซีเรียลของกล้อง และภาพตัวอย่างขนาดเล็ก
- การอ่านข้อมูลเกินขอบเขตบัฟเฟอร์และจำนวนเต็มล้นในตัวแยกวิเคราะห์ libjpeg รุ่นเก่าที่ทำให้มาร์กเกอร์รีสตาร์ท (RST) หรือสคริปต์สแกนโปรเกรสซีฟเสียหาย
- ไฟล์โพลีกล็อต (Polyglot) ที่รวมส่วนหัว JPEG เข้ากับคลังข้อมูล ZIP หรือ RAR ที่รันโค้ดได้
แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน: ลบข้อมูลเมตา EXIF และพิกัดตำแหน่ง GPS ทุกครั้งเมื่อเผยแพร่ภาพถ่ายของผู้ใช้เพื่อปกป้องความเป็นส่วนตัว ใช้ตัวถอดรหัสที่ปลอดภัยต่อหน่วยความจำสมัยใหม่ (เช่น image-rs ในภาษา Rust) หรือตัวถอดรหัส WebAssembly ที่อยู่ในแซนด์บ็อกซ์
ประวัติความเป็นมาและเหตุการณ์สำคัญ
ข้อได้เปรียบและจุดเด่นสำคัญ
- ซอฟต์แวร์และอุปกรณ์ด้านภาพจำนวนมากรองรับการถอดรหัส JPEG แต่ความเข้ากันได้ขึ้นอยู่กับอุปกรณ์และแอป
- อัตราการบีบอัดยอดเยี่ยม (10:1 ถึง 20:1) สำหรับภาพถ่ายโทนต่อเนื่อง
- ขนาดเพย์โหลดเล็กพร้อมความสามารถในการเรนเดอร์แบบโปรเกรสซีฟ
ข้อจำกัดทางเทคนิคและข้อควรพิจารณา
- การบีบอัดแบบสูญเสียข้อมูลทำให้เกิดอาร์ติแฟกต์จากการบีบอัด (การสั่นพ้องและลักษณะเป็นบล็อก) ตามขอบที่คมชัด
- ไม่รองรับช่องสัญญาณความโปร่งใส
- การสูญเสียคุณภาพจากการบันทึกซ้ำ (Generation loss) จะเกิดขึ้นทุกครั้งที่มีการคลายการบีบอัด แก้ไข และบันทึกไฟล์ใหม่
เกร็ดความรู้ทางเทคนิคที่น่าสนใจ
- ภาพทดสอบ 'Lenna' สุดคลาสสิกที่ใช้พัฒนาการบีบอัด JPEG ถูกสแกนมาจากนิตยสาร Playboy ฉบับเดือนพฤศจิกายน 1972
- การลดความละเอียดสีแบบ JPEG 4:2:0 ลดความละเอียดของสีลงครึ่งหนึ่งทั้งในแนวนอนและแนวตั้ง โดยแทบไม่ทำให้คุณภาพที่รับรู้ได้ลดลง
- JPEG มาตรฐานทุกไฟล์จะเริ่มต้นด้วยมาร์กเกอร์ 0xFFD8 (เริ่มต้นภาพ) และสิ้นสุดด้วย 0xFFD9 (สิ้นสุดภาพ)
คำถามทางเทคนิคที่พบบ่อย
ทำไมการบันทึกไฟล์ JPEG หลายครั้งจึงลดคุณภาพของภาพลง?
JPEG เป็นรูปแบบการบีบอัดแบบสูญเสียข้อมูลที่ไม่สามารถย้อนกลับได้ ทุกครั้งที่คุณคลายการบีบอัดและบันทึก JPEG ซ้ำ ขั้นตอนการควอนทิไทเซชัน DCT จะทิ้งรายละเอียดเชิงพื้นที่ความถี่สูงและประมาณค่าบล็อกพิกเซลขนาด 8x8 ใหม่ ส่งผลให้เกิดสิ่งประดิษฐ์จากการ 'สูญเสียคุณภาพตามรุ่น' สะสม
JPEG แบบโปรเกรสซีฟคืออะไร และมีประโยชน์อย่างไร?
JPEG มาตรฐานทั่วไปจะถอดรหัสทีละบรรทัดสแกนจากบนลงล่าง แต่ JPEG แบบโปรเกรสซีฟจะเข้ารหัสข้อมูลภาพในรอบสเปกตรัมหลายรอบ ช่วยให้เบราว์เซอร์สามารถเรนเดอร์ภาพเบลอความละเอียดต่ำของภาพทั้งหมดได้ทันที และทำให้คมชัดขึ้นเรื่อยๆ ขณะที่ไบต์กำลังดาวน์โหลด
Chroma Subsampling (4:2:0 เทียบกับ 4:4:4) คืออะไร?
จอประสาทตาของมนุษย์มีเซลล์รูปแท่ง (ความสว่าง) มากกว่าเซลล์รูปกรวย (สี) JPEG ใช้ประโยชน์จากจุดนี้โดยคงความละเอียดความสว่างเต็มรูปแบบ (Y) ไว้ ในขณะที่ลดความละเอียดของสีลงครึ่งหนึ่ง (Cb, Cr) ทั้งในแนวตั้งและแนวนอน (4:2:0) ซึ่งช่วยลดข้อมูลดิบลง 50% ก่อนการบีบอัดโดยที่แทบไม่มีการสูญเสียคุณภาพที่สังเกตได้
ภาพ JPEG สามารถมีพื้นหลังโปร่งใสได้หรือไม่?
ไม่ได้ ข้อกำหนดมาตรฐานของ JPEG ไม่มีแนวคิดเรื่องช่องสัญญาณอัลฟา หากจำเป็นต้องมีความโปร่งใส คุณต้องแปลงภาพเป็น WebP, AVIF หรือ PNG
คู่การแปลงไฟล์ JPG ที่เกี่ยวข้อง
การแปลงภาพแรสเตอร์ PNG เป็นรูปแบบ JPEG จะช่วยลดขนาดไฟล์โดยใช้การบีบอัดแบบสูญเสียข้อมูล ซึ่งทำให้รูปภาพโหลดเร็วขึ้นบนเว็บไซต์และใช้พื้นที่จัดเก็บน้อยลง
การแปลงภาพแรสเตอร์ JPEG แบบสูญเสียข้อมูลให้เป็นภาพแรสเตอร์ PNG แบบไม่สูญเสียข้อมูล ช่วยป้องกันการเสื่อมของคุณภาพซ้ำซ้อนและรองรับความโปร่งใสของช่องอัลฟา
การแปลงภาพ JPEG เป็น WebP อาจลดขนาดไฟล์ที่คุณภาพภาพใกล้เคียงกัน แต่ผลลัพธ์แตกต่างตามเนื้อหาภาพและการตั้งค่าการเข้ารหัส
การแปลง WebP เป็น JPEG อาจช่วยให้ใช้ภาพนิ่งในซอฟต์แวร์ที่ไม่รองรับ WebP ได้ง่ายขึ้น JPEG ไม่เก็บความโปร่งใสหรือภาพเคลื่อนไหว
การแปลงภาพถ่าย HEIC เป็นภาพ JPEG จะเปลี่ยนรูปแบบกล้องเริ่มต้นของ Apple ให้เป็นไฟล์แรสเตอร์ที่ซอฟต์แวร์และเว็บเบราว์เซอร์รุ่นเก่าอ่านได้ทั่วไป
การแปลงภาพ AVIF เป็น JPEG อาจช่วยกับซอฟต์แวร์รุ่นเก่าที่ไม่รองรับ AV1 Image File Format
การแปลงภาพ JPEG รุ่นเก่าเป็น AVIF ช่วยลดขนาดไฟล์ได้อย่างมาก พร้อมรักษาคุณภาพของภาพในระดับสูงด้วยเทคโนโลยีเข้ารหัสวิดีโอสมัยใหม่
แปลงไฟล์งาน Adobe Photoshop PSD ขนาดใหญ่ให้เป็นภาพ JPEG ขนาดกะทัดรัดที่เปิดดูได้ทั่วไป