容器鑑識
檔案格式本身透露了寫檔的工具。PNG 的 chunk 順序與 JPEG 的 marker 順序都是寫檔者的指紋;而中繼資料的存在 — 或明顯的缺席 — 就是這張圖走過什麼流程的證據。
PNG 區塊結構
| 檔案 | 位元深度 | IDAT 區塊數 | sRGB | ICC 描述檔 | 攜帶的中繼資料 |
|---|---|---|---|---|---|
| bowl-crop.png | 8 | 11 | 無 | — | — |
| bowl-crop2.png | 8 | 11 | 無 | — | — |
| bowl-crop3.png | 8 | 13 | 無 | — | — |
| img1679.png | 16 | 43 | 無 | kCGColorSpaceDisplayP3 | EXIF block, XMP packet (XML:com.adobe.xmp) |
| lotus-zoom.png | 8 | 6 | 無 | — | — |
| lotus-zoom2.png | 8 | 5 | 無 | — | — |
| w1536-clean.png | 8 | 30 | 無 | — | — |
| w1536.png | 8 | 1 | 有 | — | — |
bowl-crop.png
IHDRIDAT×11IENDbowl-crop2.png
IHDRIDAT×11IENDbowl-crop3.png
IHDRIDAT×13IENDimg1679.png
IHDRiCCPcICPeXIfpHYsiTXtIDAT×43IENDlotus-zoom.png
IHDRIDAT×6IENDlotus-zoom2.png
IHDRIDAT×5IENDw1536-clean.png
IHDRIDAT×30IENDw1536.png
IHDRsRGBIDATIENDJPEG marker 結構
w2048.jpg
APP0DQTSOF2DHTSOSw806.jpg
APP0DQTSOF2DHTSOS量化表判讀
JPEG 的量化表就是編碼器的簽名。把它對 IJG 參考尺標擬合可得到最接近的品質設定 — 而擬合誤差的大小,說明了該尺標到底有沒有被用過。
兩個 JPEG 對 IJG 尺標的擬合誤差完全相同,皆為 11.891 — 表示它們 使用了同一張自訂量化表,因此走過同一條編碼流程。誤差之大也說明 「品質 ~80」只是最接近的族群,而不是某個實際 被設定過的值。
| 5 | 5 | 5 | 5 | 5 | 5 | 5 | 6 |
| 6 | 5 | 8 | 8 | 7 | 8 | 8 | 11 |
| 10 | 9 | 9 | 10 | 11 | 17 | 12 | 13 |
| 12 | 13 | 12 | 17 | 26 | 16 | 19 | 16 |
| 16 | 19 | 16 | 26 | 23 | 27 | 22 | 21 |
| 22 | 27 | 23 | 41 | 32 | 28 | 28 | 32 |
| 41 | 47 | 39 | 37 | 39 | 47 | 57 | 51 |
| 51 | 57 | 71 | 68 | 71 | 93 | 93 | 125 |
來源證明中繼資料
內容憑證(C2PA)、EXIF 與 XMP 是檔案自述來歷的方式。此處完整列出有什麼、以及缺了什麼。
帶有來源資訊
- img1679.png — EXIF block, XMP packet (XML:com.adobe.xmp), ICC kCGColorSpaceDisplayP3, 144 dpi