Глубина и уверенность кодирования,Глубина и уверенность кодирования

Карта глубины сериализуется как набор свойств XMP . В процессе сериализации карта глубины сначала преобразуется в традиционный формат изображения. Процесс кодирования состоит из трёх этапов (см. рисунок 2):

  • Преобразовать из входного формата (например, значения float или int32) в целочисленный формат изображения в оттенках серого, например, байты (8 бит) или слова (16 бит).
  • Сжатие с использованием стандартного кодека изображений, например JPEG или PNG.
  • Сериализовать как строковое свойство XMP в формате base64.
Рисунок 2. Описание конвейера кодирования карты глубины.

Конвейер может быть без потерь или с потерями, в зависимости от количества бит исходной карты глубины и количества бит, используемых для ее хранения, например 8 бит для кодека JPEG и 8 или 16 бит для кодека PNG.

В настоящее время поддерживаются два различных формата: RangeLinear и RangeInverse . RangeInverse рекомендуется использовать, если при кодировании карты глубины теряется точность, например, при преобразовании из формата с плавающей точкой в 8-битный. Он выделяет больше бит ближним значениям глубины и меньше — дальним, аналогично тому, как работает Z-буфер в видеокартах.

Если к карте глубины приложена карта достоверности, она также преобразуется в традиционный формат изображения, используя тот же конвейер, что и для глубины. Карта достоверности всегда кодируется в формате RangeLinear , при этом диапазон достоверности предполагается равным [0, 1].

ДиапазонЛинейный

Пусть d — глубина пикселя, а near и far — минимальное и максимальное значения глубины. Значение глубины сначала нормализуется к диапазону [0, 1] следующим образом:

затем квантовать до 8 или 16 бит

Наоборот, если квантованная глубина d 8 бит , можно восстановить глубину d как

RangeInverse

Пусть d — глубина пикселя, а near и far — минимальное и максимальное значения глубины. Значение глубины сначала нормализуется к диапазону [0, 1] следующим образом:

затем квантовать до 8 или 16 бит

Наоборот, учитывая нормализованную глубину d n , можно восстановить глубину d как

,

Карта глубины сериализуется как набор свойств XMP . В процессе сериализации карта глубины сначала преобразуется в традиционный формат изображения. Процесс кодирования состоит из трёх этапов (см. рисунок 2):

  • Преобразовать из входного формата (например, значения float или int32) в целочисленный формат изображения в оттенках серого, например, байты (8 бит) или слова (16 бит).
  • Сжатие с использованием стандартного кодека изображений, например JPEG или PNG.
  • Сериализовать как строковое свойство XMP в формате base64.
Рисунок 2. Описание конвейера кодирования карты глубины.

Конвейер может быть без потерь или с потерями, в зависимости от количества бит исходной карты глубины и количества бит, используемых для ее хранения, например 8 бит для кодека JPEG и 8 или 16 бит для кодека PNG.

В настоящее время поддерживаются два различных формата: RangeLinear и RangeInverse . RangeInverse рекомендуется использовать, если при кодировании карты глубины теряется точность, например, при преобразовании из формата с плавающей точкой в 8-битный. Он выделяет больше бит ближним значениям глубины и меньше — дальним, аналогично тому, как работает Z-буфер в видеокартах.

Если к карте глубины приложена карта достоверности, она также преобразуется в традиционный формат изображения, используя тот же конвейер, что и для глубины. Карта достоверности всегда кодируется в формате RangeLinear , при этом диапазон достоверности предполагается равным [0, 1].

ДиапазонЛинейный

Пусть d — глубина пикселя, а near и far — минимальное и максимальное значения глубины. Значение глубины сначала нормализуется к диапазону [0, 1] следующим образом:

затем квантовать до 8 или 16 бит

Наоборот, если квантованная глубина d 8 бит , можно восстановить глубину d как

RangeInverse

Пусть d — глубина пикселя, а near и far — минимальное и максимальное значения глубины. Значение глубины сначала нормализуется к диапазону [0, 1] следующим образом:

затем квантовать до 8 или 16 бит

Наоборот, учитывая нормализованную глубину d n , можно восстановить глубину d как