Yuv чем открыть файл

Расширение файла YUV

Подробности файла

    Полное название: YUV 16Bits Image Format Разработчик: N/A Место в рейтинге: 6084 Популярность:

Как открыть файл YUV?

Вы не знаете что сделать в ситуации, когда Ваш файл YUV не хочет открыться? Причин такой ситуации может быть несколько, и что из этого следует, несколько решений проблем с файлами YUV. Однозначно самой правдоподобной причиной является отсутствие программы в Вашем устройстве, которая может правильно интерпретировать данные, содержащиеся в файле YUV. Эту проблему Вы решите, проходя 3 следующие шаги:

    скачать одну программу из списков, которые Вы найдете внизу установите скачанную программу на своем компьютере выберите установленную программу в качестве программы по умолчанию для обслуживания файлов YUV.

YUV Viewer
XnView
IrfanView

XnView

XnView

Что еще я могу сделать, чтобы решить проблемы с файлами YUV?

Причин отсутствия возможности открытия файла YUV на компьютере может быть как минимум несколько. Проще всего найти соответствующую аппликацию, установленную уже на компьютере, которая позволит открытие файла YUV. Если по-прежнему что-то не так, стоит проверить:

    не поврежден ли YUV файл не имеет ли файл ошибочной связи в записях реестра полная ли инсталляция аппликации, обслуживающей данный формат файла не инфицирован ли файл актуальный ли драйвер, используемый для открытия файла имеет ли компьютер достаточные параметры/технические ресурсы чтобы открыть файл с данным расширением не удалено ли случайно расширение из реестра Windows

После исключения вышеуказанных дефектов файл YUV по-прежнему не совместим с Вашим программным обеспечением? Поетому проблема более сложна и требует помощи специалиста.

Kasper Torbjörn

Создатель интернет-решений, поддерживающих и решающих проблемы не очень продвинутых пользователей в ежедневной работе с компьютером.

Источник

H.264 Управление цветом

В предыдущий раз я переводил краткую теорию цвета и описание управления цветом для формата PNG. Если пересказывать своими словами, то цветовые модели делятся на физические (XYZ) и логические (RGB или YUV). В форматах хранения изображений и видео используются логические форматы (потому что они ограничены в диапазоне значений), иногда с добавлением метаданных, описывающих правила конвертации из логической модели в физическую. В то время, как логическая модель обычно хранит значения в диапазоне от 0 до 255 или от 0 до 1, физическая модель оперирует комбинацией трех чисел, каждое из которых представляет взвешенную сумму энергий излучения по всему спектру видимого цвета, взятую с разными весами.

Что касается дисплеев, для них производитель указывает характеристики, описывающие то, как цифровой сигнал из, например, RGB преобразуется в значения XYZ, излучаемые этими самыми дисплеями. Такими характеристиками является точка белого (т.е. какому физическому цвету соответствует RGB-сигнал с компонентами max/max/max), основные цвета (максимумы RGB при остальных минимумах), гамма или передаточная функция, а также охват (gamut), который описывает всё множество физических цветов, которые в принципе может отобразить дисплей.

Гамма, или передаточная функция

Метаданные H.264

По отредактированному выводу программы можно понять следующее:

Color space» YUV нам говорит, что в каналах изображения хранятся яркость и UV-компоненты цветности

Chroma subsampling: 4:2:0 утверждает, что на каждый пиксель U или V приходится по 4 пикселя Y

Bit depth: 8 bits подсказывает что значения каналов хранятся в виде 8-битных чисел

Color range: Limited ограничивает задействованные значения диапазоном 16-235.

Вот это всё пока что описывает формат хранения логических цветов, без привязки к физической цветовой модели.

Декодирование битового формата

Избавляемся от 4:2:0 : 1 байт UV-компонент используем для всех четырех пикселей. Теперь у нас на каждый пиксель приходится по 3 байта YUV-компонент.

Перевод в RGB

Эти коэффициенты упомянуты в википедии и используются в формуле получения Y-компоненты из RGB:

Пристально взглянув на эту и остальные формулы, замечаем, что это линейное преобразование, которое описывается матрицей 3х3.

Нормируем, как указано в той же статье вики, получаем RGB, где каждая компонента лежит в диапазоне от 0 до 1.

Коррекция тональности

формула коррекции тональности для BT.709-5

Заметьте, мы всё еще не знаем, какие физические цвета обрабатываем: пока мы просто занимались преобразованием логических значений.

Отображение на дисплее

Таблица E-3 – Colour primaries [1]

Источник

Русские Блоги

Подробный формат данных YUV и реализация Python

Обзор формата данных YUV

Принцип YUV состоит в том, чтобы разделить яркость и цветность, используя Y, U и V для представления яркости соответственно, а также разницу между синим каналом и яркостью и разницу между красным каналом и яркостью. В дополнение к сигналу яркости компонент сигнала Y также содержит большое количество зеленых каналов, а компонент чистого Y может отображать полное черно-белое изображение. Компоненты U и V соответственно представляют синий (синий) и красный (красный) компонентные сигналы, они содержат только информацию о цвете (цветности / цвете), поэтому YUV также называется YCbCr, и C можно понимать как (компонент или цвет).

Формула RGB-YUV в Википедии может лучше отражать взаимосвязь между YUV и RGB и почему она называется YCbCr:

Y содержит троичную информацию о цвете и имеет больше G, поэтому они могут отображать полноцветное изображение вместе.
Очевидно, мы можем думать о том, будут ли YCgCb, YCgCr и т. д. Для различных прикладных сценариев действительно существуют связанные прикладные исследования.

Как показано ниже, изображение сверху вниз является исходным изображением Y, U и V:

Существует историческая причина использования YUV вместо RGB: чтобы быть совместимым со старомодными черно-белыми телевизорами, потому что, если YUV выводит только Y, оно становится черно-белым изображением. Есть и другие преимущества YUV, например, вы можете использовать определенный формат хранения YUV в соответствии с вашими потребностями, чтобы уменьшить занимаемое пространство пустого потока кода.

Формат хранения YUV

Существует две основные категории форматов хранения YUV: плоские и упакованные.
Для плоского формата YUV последовательно сохраняются Y всех пикселей, за которыми следует U всех пикселей, а затем V всех пикселей. Эквивалент разделения YUV на три плоскости (плоскости) хранения.
Для упакованного формата YUV Y, U и V каждого пикселя сохраняются последовательно и поочередно.
Поток кода YUV делится на YUV4: 4: 4, YUV4: 2: 2, YUV4: 2: 0, YUV4: 1: 1 и другие форматы хранения в соответствии с различными методами выборки. Три вида более распространены. Так называемая выборка означает получение значений в соответствии с определенным интервалом. Отношение относится к пикселям, представленным Y, U и V, а отношения трех соответственно. Понятно, что хранение и сканирование связаны со строкой сканирования DVD.
Например:

Читайте также:  Павловск тимашевск расстояние на машине

Для упакованного формата хранения опущено.

YV12/I420/YU12/NV12/NV21

I420: YYYYYYYY UU VV => YUV420P
YV12: YYYYYYYY VV UU => YUV420P
NV12: YYYYYYYY UVUV => YUV420SP
NV21: YYYYYYYY VUVU => YUV420SP

В Википедии есть две картинки I420 и NV12, которые очень хороши:

Принципиальная схема одиночного кадра I420 выглядит следующим образом (планарный метод):

В верхней части этого рисунка показано, что Y1, Y2, Y7 и Y8 имеют общие U1 и V1. Следующий линейный массив является порядком хранения. Видно, что Y, U и V. сохраняются последовательно. При записи компонент Y сначала записывается в порядке, а затем по очереди записывается в соответствии с U и V соответственно. может.

Принципиальная схема одиночного кадра NV12 выглядит следующим образом (планарный метод):

Можно видеть, что, когда он отличается от YV12, хотя его Y также сохраняется последовательно, U и V. чередуются. Таким образом, при записи Y записывается непосредственно последовательно, а затем UV записывается последовательно. вне.

Реализация Python: конвертировать 420P в jpg

from PIL import Image
def yuv420_to_rgb888(width, height, yuv):
# function requires both width and height to be multiples of 4
if (width % 4) or (height % 4):
raise Exception(«width and height must be multiples of 4»)
rgb_bytes = bytearray(width*height*3)

Интеллектуальная рекомендация

Частота амплитуды FFT и характеристики фазовой частоты

Подробное описание построения среды FLEX-BlazeDS-Java

Один. вести Многие люди задавали некоторые вопросы о создании проекта Flex + LCDS (FDS) в сообщениях и группах. Из-за операции ее трудно четко объяснить, поэтому я написал простой учебник (я обещал эт.

PhoneURLConnectGEt

package com.example.phonehttp; import android.os.Bundle; import android.os.Handler; import android.app.Activity; import android.widget.ScrollView; import android.widget.TextView; public class MainActi.

Глава 12 Полиморфизм

[LeetCode] в сочетании с двумя упорядоченными слоями

Источник

5 лучших проигрывателей H264

Видео с типом сжатия H.264 получает все большую популярность. Этот стандарт использует высокую степень сжатия с сохранением максимального качества изображения и часто присутствует в видеокамерах и видеорегистраторах. H.264 используют многие видеоплееры и редакторы, но все же он не так распространен, как AVI или MP4, поэтому некоторые пользователи могут не знать, что такое H264, чем открыть файлы с этим расширением. Давайте рассмотрим, какие плееры подойдут для просмотра этого типа видеофайлов на компьютере.

Альтернативный вариант проигрывателя H264

Стандартный медиаплеер предлагает слишком мало функций? Советуем вам скачать ВидеоМАСТЕР – он не только позволяет просматривать видеофайлы редких форматов, но также имеет встроенный редактор. Просматривайте файлы, сжатые кодеком H.264, обрезайте ролики, сохраняйте GIF-анимацию, заменяйте аудиодорожку или делайте озвучку, создавайте диски с любимыми клипами – все это легко и быстро.

Хотите преобразовать H264 в более популярный кодек или для просмотра на телефонах? ВидеоМАСТЕР поможет переконвертировать видеоролики в AVI, MP4, MKV, WMV, HEVC, DT, MTS и множество других популярных и редких видеоформатов, а также создать клип для Android, iPhone, Blackberry, iPad и других переносных гаджетов.

Установите ВидеоМАСТЕР прямо сейчас

Чем открыть H264: 5 проигрывателей

H.264 – сравнительно редкий тип файлов, поэтому некоторые проигрыватели распознают его только после установки дополнительных кодеков. Далее мы собрали плееры, которые уже включают в себя нужные библиотеки и не требуют настройки.

Медиаплеер VLC отличается тем, что умеет распознавать все видеоформаты, в том числе «сырые» файлы с домашних видеокамер и с камеры наблюдения. VLC работает на русском языке и включает в себя базовые функции: перемотка, регулировка и нормализация громкости, а также такие полезные опции, как стриминг, просмотр клипов по ссылке и с подключенных устройств. В фильм можно встраивать субтитры, применять эффекты и подключать модули и расширения. Видеоклип можно кадрировать прямо во время просмотра, также можно отрегулировать насыщенность и контрастность изображения и улучшить звуковую дорожку в эквалайзере.

Недостатком VLC можно назвать то, что он не позволяет просматривать DVD и Blu-Ray. Также иногда при подключении субтитров софт показывает неправильную кодировку.

​KMPlayer

KMPlayer – удобный и минималистичный h264 проигрыватель, который поддерживает все версии систем. Также его можно установить на Android. Программа уже имеет все необходимые кодеки и самостоятельно установит на компьютер недостающие библиотеки. Это очень удобно для пользователей, которые не особо разбираются в технических вопросах. В плеере можно создавать плейлисты, просматривать 3D и VR-видео, контролировать яркость, насыщенность и оттенки. Имеется эквалайзер, можно отрегулировать звучание аудиодорожки, есть менеджер субтитров.

KMPlayer – полностью бесплатный софт, и к минусу можно отнести лишь то, что он периодически подгружает рекламу, которая мешает просмотру фильмов.

GOM Media Player

GOM Media Player впервые был запущен в 2003 году как базовый проигрыватель и с тех пор пополнился множеством полезных опций. Предлагает поддержку практически всех типов файлов, настраиваемые скины и просмотр 360-градусного VR-видео. Большим плюсом плеера является функция Codec Finder, который запускает онлайн-поиск кодека, если проигрыватель не может распознать файл. GOM Player можно настраивать для режима мультизадач: закрепить его над остальными окнами и установить прозрачность, чтобы смотреть видео и одновременно работать над другими проектами. Воспроизведение можно настраивать вручную через удобную панель управления.

Воспроизведение в GOM Media Player​

Будьте осторожны при установке софта, он подгружает сторонние программы в фоновом режиме. Также имеется рекламный бар под окном просмотра.

QuickTime

QuickTime был разработан для MacOS, но есть также версия для Windows. В версии Pro доступны функции редактирования и создания видеороликов и слайд-шоу, которые потом можно просмотреть на iPhone и iPad. Поддерживаются субтитры, можно смотреть видео и трансляции по ссылке, настраивать изображение и звучание. Также доступно расширение для браузеров. Функционал плеера обширный, но если вы используете бесплатную версию, то около 80% всех функций будет недоступно.

Apple прекратили поддержку QuickTime для версий Windows выше 7, поэтому на Windows 8 и 10 он может работать некорректно. Также огорчает большое количество рекламы.

Media Player Classic

Media Player Classic – один из самых часто скачиваемых медиапроигрывателей. Популярность программы объясняется поддержкой всех форматов аудио и видео, а также то, что он распространяется вместе с пакетом кодеков K-Lite Codec Pack. Плеер имеет стильный интерфейс, можно переключаться между стандартной светлой и темной темами дизайна. Есть поддержка субтитров, файлы можно загружать с компьютера или делать поиск по интернету. Имеются видеофильтры, шумоподавление, ускорение и замедление воспроизведения. Дополнительно можно сохранять скриншоты в необходимых вам форматах, например, BMP, JPG, PNG, TIFF.

Читайте также:  Покраска авто в сарапуле

Media Player Classic

Недостаток смогут выявить любители онлайн-трансляций, так как MPC не поддерживает просмотр по ссылке. Также бывают ошибки при прослушивании CD-дисков.

Заключение

Каждый рассмотренный плеер для h264 отлично справляется с поставленной задачей и открывает этот тип видеофайлов. Выбор зависит только от личных предпочтений и удобства управления. Если вам нужны дополнительные функции редактирования или вы хотите перевести формат H264 в более распространенный тип, скачайте ВидеоМАСТЕР. В нем есть встроенный проигрыватель, поддержка практически всех видеоформатов и возможность сохранить ролик для любого устройства.

Источник

Русские Блоги

Понимание цветового пространства YUV, RGB

Что такое RGB

RGB не новичок: три основных цвета цветного света из средней школы говорят нам, что свет, который мы видим, можно получить, смешав эти три цвета в определенной пропорции, а затем установите элементы / элементы управления в разработке HTML и Android Когда цвет, вы можете получить определенный цвет через ряд чисел. Это приложение RGB.

Модель RGB в настоящее время является распространенным способом выражения информации о цвете: она использует яркость трех основных цветов: красного, зеленого и синего для количественного выражения цветов. Эта модель также называется моделью аддитивного смешения цветов, которая является методом достижения смешения цветов путем наложения трех цветов света RGB, поэтому она подходит для отображения светящихся тел, таких как дисплеи.

Цветовая модель RGB может рассматриваться как единичный куб в трехмерной прямоугольной системе координат. Любой цвет в цветовом пространстве RGB может быть представлен точкой в ​​трехмерном пространстве. В цветовом пространстве RGB, когда значение яркости любого основного цвета равно нулю, то есть в начале координат оно отображается черным. Когда три основных цвета достигают максимальной яркости, они отображаются белым. На диагональной линии, соединяющей черный и белый, это серый, смешанный с тремя основными цветами равной яркости, эта линия называется серой линией.

Что такое BGR

Аналогичен RGB, за исключением того, что биты B и R меняются местами во время хранения.

Что такое YCbCr

Y представляет яркость и CbCr представляет цвет. Как представить цвет, вы можете увидеть следующую координатную диаграмму:

Как Y обозначает яркость, ниже приведены характеристики Y в различных ситуациях:

Так что это можно понять так,Он также использует три числа для представления цвета пикселя, но значение этих трех чисел изменилось по сравнению с RGB., Тогда есть различные производные yuv.

The scope of the terms Y′UV, YUV, YCbCr, YPbPr, etc., is sometimes ambiguous and overlapping. Historically, the terms YUV and Y′UV were used for a specific analog encoding of color information in television systems, while YCbCr was used for digital encoding of color information suited for video and still-image compression and transmission such as MPEG and JPEG. Today, the term YUV is commonly used in the computer industry to describe file-formats that are encoded using YCbCr.

Вышеупомянутое значение состоит в том, что эти термины иногда действительно трудно различить, поскольку определение также неоднозначно Но что важно, так это последнее предложение:Текущий YUV обычно используется в поле компьютера для представления файлов, закодированных с использованием YCbCr.Следовательно, YUV можно рассматривать как YCbCr.

Тем не менее, в каждом кадре предварительного просмотра камеры, в дополнение к стандартному формату NV21, я также нашел другие форматы, такие как YV12. Когда я искал информацию о них, я обнаружил, что они все из серии yuv420. Каковы конкретные различия?

Поклонение блогу старшего брата (слегка отредактированный и измененный):

YUV классификация и значение

плоский и упакованный
Для формата плана YUV непрерывно сохраняется Y всех пикселей, за которым следует U всех пикселей, а затем V всех пикселей.
Для упакованного формата YUV значения Y, U и V каждого пикселя сохраняются непрерывно *.

YUV делится на три компонента: «Y» означает яркость (яркость или яркость), то есть значение серого, а «U» и «V» означает насыщенность цвета (цветность или насыщенность цвета), роль заключается в описании изображения. Цвет и насыщенность используются для указания цвета пикселей.

Формат хранения битового потока YUV на самом деле тесно связан с методом выборки. Существует три основных метода выборки: YUV4: 4: 4, YUV4: 2: 2, YUV4: 2: 0. Более подробные принципы вы можете узнать из других статей в Интернете. Здесь я хочу подчеркнуть, как восстановить значение YUV каждого пикселя из кодового потока в соответствии с его форматом выборки, поскольку только значение YUV каждого пикселя может быть восстановлено правильно, его можно извлечь с помощью формулы преобразования YUV и RGB. Затем отображается значение RGB каждого пикселя.

Способ хранения

Используйте три графика, чтобы визуально представить метод получения, с черными точками, чтобы представить Y-компонент пикселя, и открытыми кружками, чтобы представить УФ-компонент пикселя.

Сначала запомните следующие абзацы, а затем используйте компонент YUV каждого пикселя для его извлечения.

YUV 4: 4: 4, каждый Y соответствует набору ультрафиолетовых компонентов.
YUV 4: 2: 2, каждые два Y совместно используют набор ультрафиолетовых компонентов.
YUV 4: 2: 0, каждые четыре Y совместно используют набор ультрафиолетовых компонентов.

Ниже я приведу общий метод хранения потока кодов YUV в форме графика, а за методом хранения следует метод выборки данных YUV для каждого пикселя, среди которых значения Cb и Cr эквивалентны U и V.

Формат YUVY (принадлежит YUV422)

Формат UYVY (принадлежит YUV422)


Формат UYVY также является одним из форматов хранения для выборки YUV422, но в отличие от YUYV порядок расположения UV отличается. Метод восстановления значения YUV каждого пикселя такой же, как То же, что и выше.

YUV422P (принадлежит YUV422)


YUV422P также является типом YUV422. Это плоский режим, то есть плоский режим. Вместо чередования YUV-данных сначала сохраняются все компоненты Y, а затем сохраняются все U (Cb) компонент, и, наконец, сохранить все компоненты V (Cr), как показано на рисунке выше Метод извлечения значений YUV для каждого пикселя также является самым базовым методом извлечения, следующим за форматом YUV422, то есть два Y имеют УФ. Например, для точек пикселей Y’00 и Y’01 значения Cb и Cr равны Cb00 и Cr00.

YV12, формат YU12 (принадлежит YUV420)


YU12 и YV12 относятся к формату YUV420, который также является плоскостным режимом. Компоненты Y, U и V упакованы отдельно и хранятся в последовательности. Извлечение данных YUV для каждого пикселя следует методу извлечения в формате YUV420, то есть компоненты 4 Y совместно используют набор UV. Обратите внимание, что на приведенном выше рисунке Y’00, Y’01, Y’10 и Y’11 делят Cr00 и Cb00 и так далее.

Читайте также:  Термопот как налить воду

NV12, NV21 (принадлежит YUV420)

NV12 и NV21 относятся к формату YUV420, который представляет собой режим с двумя плоскостями, то есть Y и UV делятся на две плоскости, но UV (CbCr) является чередованным хранилищем, а не делится на три плоскости. Метод извлечения аналогичен предыдущему: Y’00, Y’01, Y’10, Y’11, доля Cr00, Cb00

Расчет размера файла YUV

Взяв в качестве примера плоское изображение YUV420 размером 720 × 488, формат хранения: общий размер (720 × 480 × 3 >> 1) байтов,

Разделен на три части: Y, U и V

Компонент Y: (720 × 480) байтов
Компонент U (Cb): (720 × 480 >> 2) байта
Компонент V (Cr): (720 × 480 >> 2) байта

Все три части сохраняются в первой строке, а три части сохраняются последовательно в Y, U, V.

4: 2: 2 и 4: 2: 0 преобразование

Самый простой способ:

В YUV420 один пиксель соответствует одному Y, а один квадрат 4X4 соответствует одному U и V. Для всех изображений YUV420 их значение Y одинаково, поскольку только изображение Y является изображением в градациях серого. Формат данных YUV420sp и YUV420p и их ультрафиолетовое расположение принципиально различны. На 420p сначала хранится U, а затем V, что означает, что они непрерывны в УФ. 420sp хранится попеременно как УФ и УФ. (См. Рисунок ниже). С помощью приведенной выше теории я могу точно рассчитать размер YUV420, хранящегося в памяти. ширина * высота = Y (сумма) U = Y / 4 V = Y / 4. Таким образом, длина данных YUV420 в памяти равна ширина * высота * 3/2,

Предположим, YUV-изображение с разрешением 8X4, их формат выглядит следующим образом:

Формат данных YUV420p показан ниже

Алгоритм поворота на 90 градусов:

Разница между YV12 и I420

Вообще говоря, непосредственно собранные видеоданные находятся в формате RGB24, размер одного кадра RGB24 равен size = width × heigth × 3 Bit, а размер RGB32 = width × heigth × 4, если это I420 (то есть стандартный формат YUV 4: 2 : 0) Размер данных: размер = ширина × высота × 1,5 бит. После сбора данных RGB24 данные в этом формате необходимо сжать в первый раз. Цветовое пространство изображения определяется RGB2YUV. Потому что X264 требует стандартного YUV (4: 2: 0) при кодировании. Тем не менее, следует отметить, что, хотя YV12 также (4: 2: 0), YV12 и I420 различаются, и есть некоторые различия в объеме памяти. Следующим образом: YV12: яркость (строка × столбец) + U (строка × столбец / 4) + V (строка × столбец / 4)

I420: Яркость (строка × столбец) + V (строка × столбец / 4) + U (строка × столбец / 4)

Как можно заметить,YV12 и I420 в основном одинаковы, но порядок УФ отличается

Разница между YUV420P и YUV420SP

Три компонента YUV420P, Y, U и V являются плоскими форматами, которые делятся на I420 и YV12. Разница между форматом I420 и форматом YV12 заключается в положении плоскости U и плоскости V. В формате I420 плоскость U сразу следует за плоскостью Y, а затем за плоскостью V (то есть: YUV), но YV12 является противоположностью (то есть: YVU).
YUV420SP, формат плоскости компонента Y, формат пакета UV, который является NV12. NV12 похож на NV21, U и V в шахматном порядке, разница в последовательности UV.

I420: YYYYYYYY UU VV =>YUV420P
YV12: YYYYYYYY VV UU =>YUV420P
NV12: YYYYYYYY UVUV =>YUV420SP
NV21: YYYYYYYY VUVU =>YUV420SP

Y′UV420p (and Y′V12 or YV12) to RGB888 conversion

Y′UV420p is a planar format, meaning that the Y′, U, and V values are grouped together instead of interspersed. The reason for this is that by grouping the U and V values together, the image becomes much more compressible. When given an array of an image in the Y′UV420p format, all the Y′ values come first, followed by all the U values, followed finally by all the V values.

The Y′V12 format is essentially the same as Y′UV420p, but it has the U and V data switched: the Y′ values are followed by the V values, with the U values last. As long as care is taken to extract U and V values from the proper locations, both Y′UV420p and Y′V12 can be processed using the same algorithm.

As with most Y′UV formats, there are as many Y′ values as there are pixels. Where X equals the height multiplied by the width, the first X indices in the array are Y′ values that correspond to each individual pixel. However, there are only one fourth as many U and V values. The U and V values correspond to each 2 by 2 block of the image, meaning each U and V entry applies to four pixels. After the Y′ values, the next X/4 indices are the U values for each 2 by 2 block, and the next X/4 indices after that are the V values that also apply to each 2 by 2 block.

Translating Y′UV420p to RGB is a more involved process compared to the previous formats. Lookup of the Y′, U and V values can be done using the following method:


As shown in the above image, the Y′, U and V components in Y′UV420 are encoded separately in sequential blocks. A Y′ value is stored for every pixel, followed by a U value for each 2×2 square block of pixels, and finally a V value for each 2×2 block. Corresponding Y′, U and V values are shown using the same color in the diagram above. Read line-by-line as a byte stream from a device, the Y′ block would be found at position 0, the U block at position x×y (6×4 = 24 in this example) and the V block at position x×y + (x×y)/4 (here, 6×4 + (6×4)/4 = 30).

Y′UV420sp (NV21) to RGB conversion (Android)

This format (NV21) is the standard picture format on Android camera preview. YUV 4:2:0 planar image, with 8 bit Y samples, followed by interleaved V/U plane with 8bit 2×2 subsampled chroma samples.
C++ code used on Android to convert pixels of YUVImage:

Источник

Онлайн портал