c2pa - relative referencing

Started by tmccavana, February 26, 2024, 07:11:49 PM

Previous topic - Next topic

tmccavana

Hi Everyone,

Firstly thanks for such a great tool. Vastly simplifies my life.

I wanted to raise a potential bug when it comes to the c2pa support. I have been using the tool to extract embedded thumbnails a parent image. What I am seeing is that not all the thumbnails are identifiable with the tool.

I believe this is because the c2pa standard is using relative URI's to reference the thumbnail data and that there can be identical URI's that reference different thumbnails depending on which manifest they belong to.

I will attach some documents to help demonstrate this. In particular...

  • gorillas-combo-new.png - The c2pa image in question
  • gorillas-combo-new.json - The associated c2pa manifest (minimally to count the thumbnails)
  • screenshot_verify.png - A screenshot of the image in the adobe verify tool (showing all the thumbnails)
  • exifout.txt - The exiftool output filtered by "humbnail". i.e. `exiftool gorillas-combo-new.png | grep Thumbnail >> exiftool_out.txt
  • screenshot_extracted.png - A screenshot of the thumbnails actually extracted from the "PngData" and "JpegData" fields in exiftool_out.txt

In theory we should have at least 7 unique thumbnails (perhaps more if there are duplicates referencing the same image from different manifests, i.e. one as a claim another as an ingredient).

Hopefully with the attachments you can see the problem, but let me know if you need more details.

Many thanks,
Tom

ps - it doesn't look like the original raw file will fit with the rest. I will add it in a second post (it is all the embedded thumbnails :) ).

tmccavana

With the original image.

StarGeek

I suspect this is FAQ #3, as I'm able to extract 10 images from that PNG file.  These eight, which is the max the board will allow to be attached to a post, plus two more.

You can use this command to list all the embedded images in a file
exiftool -G1 -a -s -Preview:All file.png

And I used this example command to extract all the images and give them unique names based upon tag name and copy number.

gorillas-combo-new_C2PAThumbnailIngredient_2PngData.png gorillas-combo-new_C2PAThumbnailIngredientJpegData.jpg gorillas-combo-new_C2PAThumbnailIngredientJpegData-1.jpg gorillas-combo-new_C2PAThumbnailIngredientJpegData-2.jpg gorillas-combo-new_C2PAThumbnailIngredientPngData.png gorillas-combo-new_C2PAThumbnailClaimJpegData.jpg gorillas-combo-new_C2PAThumbnailClaimPngData.png gorillas-combo-new_C2PAThumbnailClaimPngData-1.png
* Did you read FAQ #3 and use the command listed there?
* Please use the Code button for exiftool code/output.
 
* Please include your OS, Exiftool version, and type of file you're processing (MP4, JPG, etc).

Neal Krawetz

I count 10 thumbnails.
(You mentioned 7 with duplicates. While they are visually similar, in the general case, they don't need to be duplicates.)

As an aside, I find it funny (schadenfreude) that c2pa's content credentials site only shows 6 thumbnails.

tmccavana

Thanks greatly StarGeek and Neal. Clearly there is more that I am not seeing with bare/base exiftool output.

I have run the FAQ 3 command and do see the other images. I need to look at how to map them to their relevant c2pa manifests. But I think I have all I need, I just need some time to deep dive on it. I will revert if there is more, but thanks again.

Also just bit of explanation Neal. The c2pa verify site shows an image for each step in the objects history/provenance. So the 7 key thumbnails are shown, but the additional embedded duplicates have been deemed redundant, so not worth displaying :).