Карта глубины сериализуется как набор свойств XMP . В рамках процесса сериализации карта глубины сначала преобразуется в традиционный формат изображения. Конвейер кодирования состоит из трех шагов (см. рис. 2):
- Преобразование из входного формата (например, значений с плавающей запятой или int32) в целочисленный формат изображения в градациях серого, например байты (8 бит) или слова (16 бит).
- Сжатие с использованием стандартного кодека изображения, например, JPEG или PNG.
- Сериализация как свойство XMP строки base64.
Конвейер может быть без потерь или с потерями, в зависимости от количества бит исходной карты глубины и количества битов, используемых для ее хранения, например, 8 бит для кодека JPEG и 8 или 16 бит для кодека PNG.
В настоящее время поддерживаются два различных формата: RangeLinear и RangeInverse . Формат RangeInverse рекомендуется, если карта глубины потеряет точность при кодировании, например, при преобразовании из числа с плавающей запятой в 8-битное. Он выделяет больше битов для ближних значений глубины и меньше битов для дальних значений, аналогично тому, как z-буфер работает в картах GPU.
Если карта глубины имеет прикрепленную карту достоверности, карта достоверности также преобразуется в традиционный формат изображения с использованием конвейера, аналогичного тому, который используется для глубины. Карта достоверности всегда кодируется с использованием формата RangeLinear с доверительным диапазоном, который предполагается равным [0, 1].
ДиапазонЛинейный
Пусть d — глубина пикселя, а ближний и дальний — минимальное и максимальное рассматриваемые значения глубины. Значение глубины сначала нормализуется к диапазону [0, 1] как
затем квантовать до 8 или 16 бит как И наоборот, учитывая квантованную глубину d 8 бит , можно восстановить глубину d какRangeInverse
Пусть d — глубина пикселя, а ближний и дальний — минимальное и максимальное рассматриваемые значения глубины. Значение глубины сначала нормализуется к диапазону [0, 1] как
затем квантовать до 8 или 16 бит как И наоборот, учитывая нормализованную глубину d n , можно восстановить глубину d как