รูปภาพและภาพถ่าย · เครื่องมือความเป็นส่วนตัวของข้อมูลเมตาของรูปภาพ
EXIF, TIFF และ IFD: โครงสร้างในช่วงปี 1990 ยังคงอยู่ภายในทุกภาพถ่าย
· พื้นหลัง
exif ไฟล์รูปแบบ ภาพความเป็นส่วนตัว
EXIF ได้รับการเผยแพร่ใน 1995 และยืมโมเดลข้อมูลจาก TIFF ซึ่งเป็นเหตุผลว่าทำไมบล็อกข้อมูลเมตาภายใน JPEG จึงเป็นไฟล์ TIFF ขนาดเล็กที่มีไดเร็กทอรี แท็ก และออฟเซ็ต การรู้โครงสร้างจะอธิบายได้ว่านักเต้นระบำเปลื้องผ้าสามารถกำจัดอะไรได้อย่างหมดจดและเพราะเหตุใด
ไฟล์ TIFF ซ่อนอยู่ใน JPEG ของคุณ — ปริศนาว่าทำไม EXIF จึงดูไม่เหมือนส่วนอื่นๆ ของรูปแบบ JPEG
JPEG สามารถมีโครงสร้างข้อมูลที่มีรูปทรง TIFF โดยไม่ต้องเป็นอิมเมจ TIFF APP1 Exif payload เริ่มต้นด้วยตัวระบุ จากนั้นส่วนหัว TIFF ซึ่งมีออฟเซ็ตและไดเร็กทอรีจัดระเบียบกล้อง เวลา และค่า GPS ตัวแยกวิเคราะห์ที่แบ่งใช้ยังใช้บล็อก TIFF ที่พบใน PNG eXIf และ WebP EXIF ชิ้น ซึ่งเป็นสาเหตุที่ผู้อ่านหนึ่งคนให้บริการสามคอนเทนเนอร์
พื้นที่เก็บข้อมูลไม่ได้กำหนดวันที่กำเนิดของ EXIF
หนังสือคู่มือระบุเรื่องราวต้นกำเนิดและปี แต่แหล่งที่มาของพื้นที่เก็บข้อมูลที่ใช้ในที่นี้ไม่ได้กำหนดประวัติมาตรฐาน องค์กร หรือวันที่ตีพิมพ์ แทนที่จะทำซ้ำลำดับเหตุการณ์ที่ไม่ได้อ้างอิง ส่วนนี้จะยึดข้อเท็จจริงที่เป็นประโยชน์ไว้ในโค้ด: EXIF เพย์โหลดใช้ลำดับไบต์ TIFF กลไกเวทย์มนตร์และไดเร็กทอรีที่โปรแกรมแยกวิเคราะห์เบราว์เซอร์สามารถตรวจสอบได้โดยไม่ต้องถอดรหัสข้อมูลรูปภาพ
โมเดลไดเร็กทอรีของ TIFF — ส่วนหัว, เครื่องหมายลำดับไบต์, IFD0 และ 12-รายการไบต์พร้อมแท็ก, ประเภท, จำนวนและค่าหรือออฟเซ็ต
ส่วนหัว TIFF บอกว่าค่าหลายไบต์มีค่าน้อยหรือใหญ่ มีค่าวิเศษและชี้ไปที่ IFD0 แต่ละไดเร็กทอรีเริ่มต้นด้วยการนับและจัดเก็บข้อมูลที่มีขนาดคงที่ซึ่งประกอบด้วยแท็ก ประเภท จำนวนค่า และข้อมูลอินไลน์หรือออฟเซ็ต การจัดเรียงนั้นปล่อยให้ค่าเล็กๆ อยู่ในรายการ ในขณะที่สตริงและเหตุผลยาวๆ จะอยู่ที่อื่นในบล็อก
ไดเร็กทอรีที่ parser นี้ติดตามตามจริง
การใช้งานนี้เป็นไปตาม IFD0 จากนั้นตามด้วยตัวชี้ Exif และ GPS โดยจงใจข้ามตัวชี้ความสามารถในการทำงานร่วมกันเป็นค่าที่ผู้ใช้เผชิญ และไม่ไล่ตามภาพขนาดย่อ IFD1 ซ้ำๆ การเรียกว่าโมเดลไดเร็กทอรี EXIF ที่สมบูรณ์จะเป็นเท็จ เป็นเซตย่อยที่มีขอบเขตที่จำเป็นสำหรับตำแหน่งที่อ่านได้ ข้อมูลประจำตัว การประทับเวลา ซอฟต์แวร์ และสาขาทางเทคนิค
การกำหนดหมายเลขแท็กและประเภทข้อมูล — เหตุใด Make จึงเป็น 0x010F เหตุใดเหตุผลจึงเป็นคู่ของจำนวนเต็ม และเหตุใดสตริงจึงลงท้ายด้วยไบต์ว่าง
แท็กเป็นตัวระบุที่เป็นตัวเลขซึ่งตีความในบริบทของไดเร็กทอรี ในขณะที่ประเภทฟิลด์จะกำหนดความกว้างของไบต์และการถอดรหัส ASCII ค่าจำนวนเต็มและค่าตรรกยะได้รับการปฏิบัติที่แตกต่างกัน แท็กที่ไม่รู้จักจะมีป้ายกำกับเป็นเลขฐานสิบหกแทนที่จะเดา และแท็กที่ไม่รู้จักใดๆ ภายในไดเร็กทอรี GPS จะยังคงจัดอยู่ในประเภทตำแหน่ง เนื่องจากไดเร็กทอรีของแท็กนั้นให้บริบทนั้น
ขอบเขตการดำเนินงานที่สำคัญในปัจจุบัน
ขอบเขตการปฏิบัติงานมีความสำคัญมากกว่าไทม์ไลน์ของเวอร์ชัน ไดเรกทอรีถูกต่อยอดที่รายการ 512 ค่าที่องค์ประกอบ 64 และออฟเซ็ตที่อยู่นอกช่วงจะถูกข้ามไป MakerNote ภายในและ IFD1 ไม่ได้ถูกถอดรหัส ขีดจำกัดเหล่านี้ป้องกันไม่ให้บล็อกที่มีรูปแบบไม่ถูกต้องหรือไม่เป็นมิตรเปลี่ยนโปรแกรมดูข้อมูลเมตาให้เป็นโปรแกรมแยกวิเคราะห์ที่ไม่มีขอบเขต ในขณะที่ยังคงอนุญาตให้ลบบล็อกคอนเทนเนอร์ทั้งหมดได้
สิ่งนี้ไม่ครอบคลุม — การบีบอัด JPEG และรูปแบบส่วนตัวของ MakerNote
เครื่องอ่าน JPEG แยกวิเคราะห์เฉพาะ APP1 Exif สำหรับการแสดงผล ไม่ใช่เนื้อหา XMP หรือ IPTC และรูปภาพ TIFF, DNG และ RAW ที่ไม่รองรับจะถูกปฏิเสธแม้จะแชร์โครงสร้างที่เกี่ยวข้องกันก็ตาม โปรไฟล์สีจะถูกเก็บไว้อย่างจงใจระหว่างการทำความสะอาด ดังนั้น เครื่องมือจึงสาธิตการใช้งานไดเรกทอรี TIFF ที่มีอยู่ โดยไม่อ้างว่าเป็นเครื่องมือ TIFF ทั่วไปหรือกลไกข้อมูลเมตาทางนิติเวช
ประเด็นสำคัญ: EXIF ได้รับการออกแบบให้มีความสมบูรณ์ในตัวเอง — เครื่องมือความเป็นส่วนตัวของข้อมูลเมตาของรูปภาพสามารถแสดงไดเร็กทอรีและลบบล็อกทั้งหมดได้โดยไม่ต้องแตะรูปภาพ
EXIF มีอยู่ในตัวเองเพียงพอสำหรับการตรวจสอบและลบบล็อกทั้งหมด: ค้นหาบล็อกคอนเทนเนอร์ แยกวิเคราะห์ไดเร็กทอรีที่มีขอบเขตที่คุณสนับสนุน หรือปล่อยบล็อกโดยไม่แยกวิเคราะห์ทุกไบต์ส่วนตัว เปิดภาพถ่าย เปรียบเทียบฟิลด์ IFD0, Exif และ GPS ในตาราง และรักษาความแตกต่างระหว่างความครอบคลุมที่อ่านได้และความครอบคลุมการลบออกที่มองเห็นได้ตลอดขั้นตอนการทำงาน