عمق الترميز والثقة

يتم إنشاء تسلسل الخريطة التفصيلية كمجموعة من مواقع XMP. وكجزء من عملية التسلسل، يتم تحويل خريطة العمق أولاً إلى تنسيق صورة تقليدي. يحتوي مسار الترميز على ثلاث خطوات (راجع الشكل 2):

  • التحويل من تنسيق الإدخال (مثل قيم عائمة أو int32) إلى تنسيق صورة بتدرج رمادي صحيح، مثل وحدات البايت (8 بت) أو كلمات (16 بت).
  • اضغط باستخدام برنامج ترميز الصور العادي، مثل JPEG أو PNG.
  • نشر كتسلسل XMP لسلسلة base64.
الشكل 2. وصف مسار ترميز العمق.

يمكن أن يكون مسار البيانات غير قابل للفقدان أو الفقدان، اعتمادًا على عدد وحدات البت للخريطة العمق الأصلية وعدد وحدات البت المستخدمة لتخزينها، على سبيل المثال 8 بت لبرنامج ترميز JPEG و8 أو 16 بت لبرنامج ترميز PNG.

هناك تنسيقان مختلفان متاحان حاليًا: RangeLine وRangeInverse. RangeInverse هي التنسيق المُوصى به إذا فقدت خريطة العمق الدقة عند الترميز، على سبيل المثال عند التحويل من عائم إلى 8 بت. تخصّص قدرًا أكبر من وحدات البت لقيم العمق الأقل وبعض وحدات البت للقيم البعيدة، بطريقة مشابهة لآلية عمل z-buffer في بطاقات وحدة معالجة الرسومات.

ومع ذلك، إذا تم ربط خريطة الثقة بخريطة العمق، يتم أيضًا تحويل خريطة الثقة إلى تنسيق صورة تقليدي باستخدام مسار مشابه إلى تلك التي تم استخدامها للعمق. ويتم ترميز خريطة الثقة دائمًا باستخدام التنسيق RrangeLine، مع افتراض أن نطاق الثقة هو [0، 1].

خطي خطي

امنح عمقًا لبكسل، وبالقرب من الحدود الدنيا والقصوى التي يتم أخذها في الاعتبار. يتم قياس قيمة العمق أولاً إلى النطاق [0، 1] كما يلي

ثم تحديد 8 أو 16 بت

وبالعكس، نظرًا للعمق الكمي 8 بت، يمكن استرداد العمق d كما يلي

نطاق عكسي

امنح عمقًا لبكسل، وبالقرب من الحدود الدنيا والقصوى التي يتم أخذها في الاعتبار. يتم قياس قيمة العمق أولاً إلى النطاق [0، 1] كما يلي

ثم تحديد 8 أو 16 بت

وبالعكس، نظرًا للعمق الطبيعي d، يمكن استرداد العمق d على النحو التالي: