Encoding Process คือกระบวนการที่แปลงรูปภาพให้เป็นข้อมูลภาพที่ถูกบีบอัด ในรายงานเมทาดาทา Encoding Process คือชื่อวิธีที่ไฟล์ JPG ใช้ ตัวอย่างเช่น Baseline DCT, Huffman coding.
ค่านี้มี 2 ส่วน ส่วนแรกระบุว่านำข้อมูลภาพไปบีบอัดอย่างไร ส่วนที่สองระบุว่านำผลลัพธ์ไปบรรจุเป็นบิตอย่างไร
ไฟล์ใดที่มีรายการนี้อยู่
Encoding Process เป็นฟิลด์ของ JPEG และมีอยู่ในภาพ JPEG ทุกไฟล์ มาตรฐาน JPEG จะเก็บข้อมูลนี้ไว้ในส่วนหัวสั้นๆ ที่อยู่ก่อนข้อมูลภาพที่ถูกบีบอัด
แหล่งที่มาของค่า
ไม่มีทั้งกล้องหรือโปรแกรมใดที่เขียน Encoding Process เป็นแท็กแยกต่างหาก โปรแกรมอ่านอย่าง ExifTool จะคำนวณค่าออกมาจากตัวบ่งชี้ Start of Frame ซึ่งเป็นตัวเปิดส่วนหัวนั้น มาตรฐาน JPEG กำหนดตัวบ่งชี้ที่ต่างกันสำหรับแต่ละ encoding process
ส่วนหัวเดียวกันนี้ยังเก็บความกว้างและความสูงของภาพ จำนวนนับบิตต่อหนึ่งตัวอย่าง และจำนวนของ องค์ประกอบสี ExifTool ยังคำนวณค่า chroma subsampling จากส่วนหัวนี้ด้วย
เนื่องจากค่านี้อธิบายวิธีจัดเก็บข้อมูลภาพ คุณจึงไม่สามารถแก้ไขได้เหมือนแท็กทั่วไป Encoding Process จะเปลี่ยนก็ต่อเมื่อมีโปรแกรมบันทึกรูปภาพอีกครั้งด้วยการตั้งค่าอื่น
ลักษณะของค่าเป็นอย่างไร
ExifTool จะแสดงค่าใดค่าหนึ่งจาก 13 ค่า ตามข้อมูลของ Library of Congress ค่าใช้บ่อยคือ baseline และ progressive
Baseline DCT, Huffman codingExtended sequential DCT, Huffman codingProgressive DCT, Huffman codingLossless, Huffman codingSequential DCT, differential Huffman codingProgressive DCT, differential Huffman codingLossless, Differential Huffman codingExtended sequential DCT, arithmetic codingProgressive DCT, arithmetic codingLossless, arithmetic codingSequential DCT, differential arithmetic codingProgressive DCT, differential arithmetic codingLossless, differential arithmetic coding
ความหมายของแต่ละส่วนของค่า
DCTย่อมาจาก discrete cosine transform กระบวนการ JPEG ที่ใช้ DCT เป็นแบบสูญเสียข้อมูล กล่าวคือจะทิ้งรายละเอียดบางส่วนเพื่อทำให้ไฟล์เล็กลงBaselineคือกระบวนการ DCT พื้นฐาน ใช้ 8 บิตต่อหนึ่งตัวอย่างและใช้ Huffman codingSequentialหมายความว่าองค์ประกอบสีแต่ละตัวถูกจัดเก็บในหนึ่งสแกนExtended sequentialทำงานเหมือน baseline แต่รองรับ 12 บิตต่อหนึ่งตัวอย่างและใช้ arithmetic coding ได้ด้วยProgressiveจะจัดเก็บรูปภาพเป็นหลายสแกน โดยทั่วไปแต่ละสแกนจะเพิ่มคุณภาพขึ้น ทำให้โปรแกรมดูภาพสามารถแสดงภาพหยาบๆ ก่อนแล้วค่อยๆ ทำให้คมชัดขึ้นLosslessจะไม่ใช้ DCT ภาพที่ถอดรหัสแล้วจะเหมือนกับต้นฉบับทุกประการdifferentialอยู่ในโหมดแบบลำดับชั้น ซึ่งแต่ละเฟรมถัดไปจะจัดเก็บเฉพาะส่วนที่แตกต่างจากเฟรมก่อนหน้าHuffman codingและarithmetic codingเป็น 2 วิธีแบบไม่สูญเสียข้อมูลในการบรรจุข้อมูลให้ใช้บิตน้อยลง
เหตุใดจึงสำคัญต่อไฟล์ของคุณ
มาตรฐาน JPEG ไม่บังคับให้ทุกโปรแกรมรองรับทุกกระบวนการ ตัวถอดรหัส DCT ทุกตัวต้องรองรับ baseline ดังนั้นไฟล์แบบ baseline จึงเป็นตัวเลือกที่ปลอดภัยเมื่อต้องการให้ภาพเปิดได้ทุกที่
กระบวนการอื่นอาจเปิดไม่ได้ในบางโปรแกรม ตามข้อมูลของ Library of Congress กระบวนการแบบ lossless ดั้งเดิมไม่ได้รับการรองรับอย่างแพร่หลายในแอปพลิเคชัน มีตัวแปรแบบ lossless ตัวหนึ่งที่ใช้ Huffman coding อยู่ใน Adobe DNG raw format รุ่น 1.1
ค่าที่มี DCT บอกคุณว่ามีการทิ้งรายละเอียดบางส่วนเมื่อบันทึกรูปภาพ การบันทึกไฟล์ซ้ำจะไม่ทำให้รายละเอียดนั้นกลับคืนมา ฟิลด์นี้เป็นเพียงตัวอธิบายวิธีจัดเก็บรูปภาพและไม่ได้เก็บข้อมูลส่วนบุคคลใดๆ