容器鑑識

檔案格式本身透露了寫檔的工具。PNG 的 chunk 順序與 JPEG 的 marker 順序都是寫檔者的指紋;而中繼資料的存在 — 或明顯的缺席 — 就是這張圖走過什麼流程的證據。

PNG 區塊結構

檔案位元深度IDAT 區塊數sRGBICC 描述檔攜帶的中繼資料
bowl-crop.png811
bowl-crop2.png811
bowl-crop3.png813
img1679.png1643kCGColorSpaceDisplayP3EXIF block, XMP packet (XML:com.adobe.xmp)
lotus-zoom.png86
lotus-zoom2.png85
w1536-clean.png830
w1536.png81
bowl-crop.png
IHDRIDAT×11IEND
bowl-crop2.png
IHDRIDAT×11IEND
bowl-crop3.png
IHDRIDAT×13IEND
img1679.png
IHDRiCCPcICPeXIfpHYsiTXtIDAT×43IEND
lotus-zoom.png
IHDRIDAT×6IEND
lotus-zoom2.png
IHDRIDAT×5IEND
w1536-clean.png
IHDRIDAT×30IEND
w1536.png
IHDRsRGBIDATIEND

JPEG marker 結構

檔案品質(最近擬合)平均表誤差色度取樣漸進式攜帶的中繼資料
w2048.jpg~8011.8914:2:0
w806.jpg~8011.8914:2:0
w2048.jpg
APP0DQTSOF2DHTSOS
w806.jpg
APP0DQTSOF2DHTSOS

量化表判讀

JPEG 的量化表就是編碼器的簽名。把它對 IJG 參考尺標擬合可得到最接近的品質設定 — 而擬合誤差的大小,說明了該尺標到底有沒有被用過。

兩個 JPEG 對 IJG 尺標的擬合誤差完全相同,皆為 11.891 — 表示它們 使用了同一張自訂量化表,因此走過同一條編碼流程。誤差之大也說明 「品質 ~80」只是最接近的族群,而不是某個實際 被設定過的值。

55555556
658878811
10991011171213
1213121726161916
1619162623272221
2227234132282832
4147393739475751
51577168719393125

來源證明中繼資料

內容憑證(C2PA)、EXIF 與 XMP 是檔案自述來歷的方式。此處完整列出有什麼、以及缺了什麼。

帶有來源資訊
  • img1679.png EXIF block, XMP packet (XML:com.adobe.xmp), ICC kCGColorSpaceDisplayP3, 144 dpi