У меня есть, например, изображение 4 * 4. Я хочу извлечь компоненты Y, U и V отдельно. Как это сделать, если изображение YUV 422, YUV 420 и YUV444. Мне интересно знать структуру массива, как Y, U и V хранятся в 422, 420 и 444, чтобы к нему можно было получить доступ.
ЮВ 422, ЮВ 420, ЮВ 444
Ответы (2)
Этот сайт дает вам хороший обзор различных форматов YUV. Там также дана пиксельная структура.
Для пояснения: эти числа предназначены для определения подвыборки компонентов цвета. Например, YUV 444 = субдискретизация 4:4:4, что означает, что каждый из трех компонентов (Y, U и V) имеет одинаковую частоту дискретизации. В то время как 4:2:2 утверждает, что U и V дискретизируются только с половиной скорости Y. Или, другими словами, 2 байта для Y и для U и V 1 байт соответственно, если глубина равна 1 байту. Это означает, что Y может иметь более высокий динамический диапазон.
Стоит отметить, что стандарт JPEG определяет горизонтальные и вертикальные коэффициенты дискретизации для каждой цветовой составляющей. В зрительной системе человека соотношение между датчиками яркости (палочками) и датчиками цветности (колбочками) составляет 20:1 а>. По этой причине компонент яркости обычно подвергается не субдискретизации, а стандарту JPEG. позволяет кодировать такой контент.
это довольно старый вопрос, однако я только что закончил работу по расшифровке YUV и хотел бы поделиться некоторой информацией. Есть 3 основных аспекта схемы YUV:
Если исходный буфер YUV является упакованным или планарным буфером. Упакованный означает, что биты YUV сгруппированы вместе, плоский означает, что буферы Y, U и V разделены на 3 разных области памяти.
размер канала YUV; один канал Y,U,V может быть 8-битным, 10-битным, 12-битным и т. д.
коэффициент выборки; А:Б:С. 4:2:2 означает, что у вас по горизонтали есть 1 значение Y для каждого пикселя и только одно значение U и V, совместно используемое двумя пикселями соседнего поля.
Я только что работал над декодированием YUV 4:2:2 v210, следуя этому link есть исходный код GLSL для декодирования и ресурсы, на которые я ссылался. Приветствуются любые советы, это мой первый декодер.