ЮВ 422, ЮВ 420, ЮВ 444 - PullRequest
       30

ЮВ 422, ЮВ 420, ЮВ 444

9 голосов
/ 19 декабря 2011

У меня есть например 4 * 4 изображения.Я хочу извлечь компоненты Y, U и V отдельно.Как это сделать, если изображение YUV 422, YUV 420 и YUV444.Мне интересно знать структуру массива, как Y, U и V хранятся в 422 420 и 444, чтобы к нему можно было получить доступ.

Ответы [ 2 ]

16 голосов
/ 19 декабря 2011

Этот сайт дает вам довольно хороший обзор различных форматов 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 допускает кодирование такого содержимого.

2 голосов
/ 14 апреля 2015

это довольно старый вопрос, однако я только что закончил некоторую работу по декодированию YUV и хотел бы поделиться некоторыми сведениями.Существует 3 основных аспекта схемы YUV:

  1. Если исходный буфер YUV является упакованным или планарным буфером.Упакованный означает, что биты YUV сгруппированы вместе, а плоский означает, что буферы Y, U и V разделены в 3 разных области памяти.

  2. размер канала YUV;один канал Y, U, V может иметь 8-битный, 10-битный, 12-битный и т. д.

  3. коэффициент дискретизации;А: В: С.4: 2: 2 означает, что у вас по горизонтали есть 1 значение Y для каждого пикселя и только одно значение U и V, совместно используемое двумя пикселями соседней панели.

Я только что работал над декодированием YUV 4: 2: 2 v210, после этой ссылки есть исходный код GLSL для декодирования и ресурсы, на которые я ссылался,Любой совет приветствуется, это мой первый декодер.

...