מפת עומק עוברת סריאליזציה כקבוצה של מאפייני XMP. כחלק מתהליך הסריאליזציה, מפת העומק מומרת קודם לפורמט תמונה רגיל. תהליך הקידוד כולל שלושה שלבים (ראו איור 2):
- המרת נתונים מפורמט הקלט (למשל, ערכי float או int32) לפורמט של תמונה בגווני אפור עם מספר שלם, למשל בייטים (8 ביט) או מילים (16 ביט).
- דחיסה באמצעות קודק תמונה רגיל, למשל JPEG או PNG.
- סדרת הנתונים כמחרוזת Base64 של מאפיין XMP.

הצינור יכול להיות ללא אובדן נתונים או עם אובדן נתונים, בהתאם למספר הביטים של מפת העומק המקורית ולמספר הביטים שמשמשים לאחסון שלה, למשל 8 ביטים עבור codec של JPEG ו-8 או 16 ביטים עבור codec של PNG.
נכון לעכשיו, יש תמיכה בשני פורמטים שונים: RangeLinear ו-RangeInverse. RangeInverse הוא הפורמט המומלץ אם מפת העומק תאבד דיוק כשהיא תעבור קידוד, למשל כשממירים מ-float ל-8-bit. המערכת מקצה יותר ביטים לערכי העומק הקרובים ופחות ביטים לערכים הרחוקים, באופן דומה לאופן הפעולה של z-buffer בכרטיסי GPU.
אם למפת העומק מצורפת מפת מהימנות, גם מפת המהימנות מומרת לפורמט תמונה רגיל באמצעות צינור דומה לזה שמשמש לעומק. מפת המהימנות תמיד מקודדת בפורמט RangeLinear, וטווח המהימנות הוא [0, 1].
RangeLinear
נניח ש-d הוא העומק של פיקסל, ו-near ו-far הם ערכי העומק המינימלי והמקסימלי שנלקחים בחשבון. קודם כל, ערך העומק מנורמל לטווח [0, 1] באופן הבא:
RangeInverse
נניח ש-d הוא העומק של פיקסל, ו-near ו-far הם ערכי העומק המינימלי והמקסימלי שנלקחים בחשבון. קודם כל, ערך העומק מנורמל לטווח [0, 1] באופן הבא: