AI-generated Key Takeaways
-
Depth data in Google Photos is stored using XMP metadata, with different handling for data sizes below and above 64 KB.
-
Smaller depth data is directly embedded within the main XMP block using the
GDepth:Data
tag. -
Larger depth data is split, with key properties in the main XMP and the raw depth and confidence data moved to an extended XMP section referenced by
xmpNote:HasExtendedXMP
. -
The
GDepth
namespace defines specific tags for depth metadata like format, near/far values, and measurement units. -
Extended XMP allows for storing large depth and confidence data separately, ensuring efficient handling of comprehensive depth information.
Total XMP blob size smaller than 64 KB
<rdf:Description rdf:about="" xmlns:GDepth="http://ns.google.com/photos/1.0/depthmap/" GDepth:Mime="image/jpeg" GDepth:Format="RangeInverse" GDepth:Near="29.3" GDepth:Far="878.7" GDepth:Mime="image/png" GDepth:Data="iVBORw0KGgoAAAANSUhEUgAAAtAAAAPACAYAAAA..." />
Total XMP blob size larger than 64 KB
<rdf:Description rdf:about="" xmlns:GDepth="http://ns.google.com/photos/1.0/depthmap/" xmlns:xmpNote="http://ns.adobe.com/xmp/note/" GDepth:Mime="image/jpeg" GDepth:Format="RangeInverse" GDepth:Near="29.3" GDepth:Far="878.7" GDepth:Mime="image/png" GDepth:MeasureType="OpticalAxis" GDepth:ConfidenceMime="image/png" GDepth:Manufacturer="Primesense" GDepth:Model="Carmine" GDepth:Software="Tango 1.0" GDepth:Units="mm" xmpNote:HasExtendedXMP="36BE52D449F3E6B9760D7602FF75168D"/> and a possibly very large extended xmp section: <rdf:Description rdf:about="" xmlns:GDepth="http://ns.google.com/photos/1.0/depthmap/" GDepth:Data="iVBORw0KGgoAAAANSUhEUgAAAtAAAAPACAYAAAA..." GDepth:Confidence="iVBORw0KGgoAAATNSUhEUgBAAtAAAACCA..." />