Ps4 pro 2160 rgb и 2160 yuv420 разница

Обновлено: 07.07.2024

Всем привет, 2160p yuv420 или 2160p rgb что лучше для прошки? Телек 4к. У кого как?

Похожие статьи

У меня так а ргб…

Yuv 420 идет 10 бит цвет, в rgb 8 бит, думаю сразу понятно, что миллиард цветов лучше, чем 16 миллионов, учитывая, что HDR10 требует именно 10 бит цвет, так что ставь YUV420, и не ставь авто разрешение, авто ставит 8 бит, Рустама не слушай, он вообще в упор разницы между 10 бит цветов и 8 бит не видит, говорит одно и то же, лол, тот еще типок

у меня стоит именно 420, картинка в разы по цветам лучше, чем при ргб и HDR так же выглядит шикарно только при YUv420, а при ргб выглядит высветленно из за 8 бит цвета.

Константин, ща буду сравнивать, правда телек 8 бит матрица.

Максим, не 8бит, а 8бит+FRC, это разные вещи, 8бит+FRC дает те же миллиард цветов, что и нативные 10 бит, просто способ достижения такой глубины цвета хитрый, чтоб сэкономить.

Для начала вам нужно знать, что вы должны обладать кабелями Premium HDMI. Они будут использованы для соединения всей вашей конфигурации в одну систему. Так что удостоверьте, что у вас есть в наличии Premium HDMI. Затем вам нужно будет включить режим для 4K разрешения на всех устройства находящихся в связке с PS4 Pro. В этот список могут входить например непосредственно телевизор, ресивер или что-то подобное. Прежде мы начнем детально описывать действия по включению 4K режима, также удостоверьтесь, что используйте именно тот HDMI для 4K, которой нужен для подключения.

Настройка PS4 Pro

Как только любое устройство способное работать с 4К будет подключено к консоле, то режим 4К сразу же будет запущен. Но для проверки лучше всего самостоятельно выполнить следующее действия:

Если вы не смогли «нащупать» никаких изменений, то попробуйте покопаться в настройка самой игры. Некоторые из них запускаются в 4К именно через внутриигровые настройки.

Настройка других устройств

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

  • Зайдите в настройки изображения.
  • Внимательно пройдитесь по ним и найдите там пункт о активации режима 4К.
  • Тоже самое вы должны проделать и для других устройств.

Делитесь своим опытом!

KD-49XF9005 и неудовлетворительное качество контента в играх на Playion 4 Pro с поддержкой HDR

Столкнулся с проблемой того, что при включении и играх режима HDR картинка становится тусклая и не выразительная, теряются краски, зашел в настройки и увидел, что при включении HDR в игре, Playion 4 Pro переключается автоматически в режим 2160p YUV420, съедающий добрую половину оттенков. А режим 2160p RGB доступен только при выводе 4К сигнала, без включенного HDR, не хватает пропускной способности HDMI 2.0. Вроде где то вычитал, что данную проблему может решить покупка кабеля HDMI 2.0b, Но нет, приобрел достаточно дорогостоящий кабель этой версии и ничего не изменилось. Где то читал что видимой разницы между 2160p YUV420 и 2160p RGB или она не значительная. Но мне лично режет глаз, разница однозначно есть. Есть ли выход из данной ситуации, или получается, что настоящего HDR 10bit добиться не получиться и придется смерится с выцветшей картинкой. И еще вопрос лично техподдержке Sony какие спецификации HDMI поддерживают порты в телевизоре KD-49XF9005 и Playion 4 Pro, поддерживают ли они HDMI 2.0b. И как добится яркой и сочной картинки в играх с поддержкой HDR. Заранее спасибо за ответы.

на 8077 таких проблем не наблюдаю. В комплекте с про идет кабель 2.0, проблема может быть в самой настройке.

В самих настройках консоли советую оставить все на автомате.

Я вечером перепроверю настроики с дома, сравним.

Может до тех пор ктонибудь более продвинутый даст ответ

Ох надеюсь) Может я просто слишком много хочу?)) Но покупая телек с функцией HDR расчитываешь на WOW эффект, а по факту теперь маюсь. Но стоит сказать, что при выводе Dolby Vision контента через сервис Netflix, картинка просто отпад. Примерно такого эффекта я ожидал и от игр.

Каждый браузер видит цвета видео по-разному

В преобразовании значения RGB-триплета в конкретную длину волны света задействовано множество систем. Это преобразование должно быть стандартизовано, чтобы всё ПО, все декодеры видео, видеокарты и мониторы (даже изготовленные разными производителями в разные десятилетия) могли создавать одинаковые результаты по одинаковым входным данным. Для решения этой задачи были разработаны цветовые стандарты. Однако со временем дисплеи и другие технологии развивались. Телевидение стало цифровым, начали применять сжатие, а мы отказались от ЭЛТ в пользу LCD и OLED. Новое оборудование было способно отображать больше цветов при большей яркости, но получаемые им сигналы по-прежнему были адаптированы под возможности старых дисплеев.

Решение этой проблемы заключалось в создании нового «цветового пространства». Новый HD-контент можно производить в новом цветовом пространстве, а новые HD-дисплеи могут его отображать. И если старое цветовое пространство будет перед отображением преобразовываться в новое, то старый контент не утратит совместимости.

Это работающее решение, но оно усложняет процесс создания видео. На каждом этапе процесса захвата, записи, редактирования, кодирования, декодирования, композитинга и отображения необходимо учитывать используемое цветовое пространство. И если хотя бы на одном этапе процесса используется старое оборудование, или есть баг ПО, из-за которого не учитывается цветовое пространство, то в результате может получиться некорректное изображение. Видео всё равно можно будет смотреть, однако цвета могут оказаться слишком тёмными или бледными.

Что же происходит, если процесс выполняется неправильно? Давайте проведём эксперимент.

Для начала я создам с помощью ffmpeg простой тестовый файл:

Краткое объяснение этой команды:

Эта команда создаёт файл 601.mp4 длительностью 1 секунду, который можно открывать и воспроизводить. После выполнения этой команды мы можем проверить, что ffmpeg не исказил значения пикселей, выполнив следующую команду и изучив выходные данные:

Эти данные в шестнадцатеричном виде показывают, что все значения пикселей после декодирования равны нулю.

При рендеринге видео в Safari мы получаем такой скриншот:

Возникает вопрос: что это за цветовое пространство? Я назвал файл 601.mp4, но нигде в команде я не указывал цветового пространства, так как же Safari узнал, какой оттенок зелёного нужно рендерить? Откуда браузер знает, что yuv(0,0,0) должно быть равно rgb(0,135,0)? Очевидно, что существует алгоритм для вычисления этих значений. На самом деле, это простое матричное умножение. (Примечание: в некоторых форматах пикселей, в том числе и в yuv420p, для преобразования требуется этап пре- и постпроцессинга, но в этой демонстрации мы опустим такие тонкости). Для каждого цветового пространства имеется собственная матрица. Так как мы не задавали матрицу цветового пространства при кодировании видео, Safari просто делает предположение. Мы можем перебрать все матрицы, умножить все значения RGB на обратные матрицы и посмотреть, чему же они соответствуют, но давайте попробуем использовать более визуальный подход и посмотреть, удастся ли нам разобраться, что делает Safari.

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

Команда ffmpeg осталась практически такой же, но я добавил следующее:

А вот результат:

И с VUI, и без него видео рендерятся с одинаковым цветом. Давайте попробуем файл BT.709:

Здесь мы берём видео 601vui.mp4 и используем фильтр цветового пространства для преобразования в BT.709. Фильтр цветового пространства может считать из vui файла 601vui.mp4 цветовое пространство входящих данных, поэтому нам достаточно только указать цветовое пространство, которое мы хотим получить на выходе.

Давайте внимательно изучим свойства файла при помощи приложения ffprobe:

Основная часть информации здесь для нас неважна, но мы заметим, что 601vui.mp4 имеет формат пикселей «yuvj420p(pc, smpte170m)». Так мы понимаем, что файл имеет правильный VUI. Но 709.mp4 содержит только «yuvj420p(pc)». Похоже, метаданные цветового пространства не были включены в выходной файл. Даже несмотря на то, что фильтр цветового пространства смог прочитать исходное цветовое пространство, и мы явным образом указали новое пространство, программа ffmpeg не записала правильный vui в конечный файл.

Обойти её можно, добавив метаданные цветового пространства вручную:

В результате значение цвета в 709vui.mp4 будет равно rgb(0,132,0). Яркость зелёного канала чуть меньше, чем в 601vui.mp4, но поскольку преобразование цветового пространства происходит с потерями, а результат меня устраивает, то назовём это успехом.

И в SD, и в HD цвет рендерится одинаково. Делая предположение о цветовом пространстве, Safari не учитывает разрешение. Apple уже давно работает в пространстве медиа и издательского дела, поэтому я ожидал, что продукт этой компании обеспечит достойные результаты. Но если даже в Safari всё устроено настолько хитро, то интересно, как обстоит ситуация в других браузерах.

Chrome рендерит видео 601 чуть более тёмным, чем Safari, но 709 выглядит так же. Подозреваю, что разница вызвана оптимизацией скорости в вычислениях с плавающей запятой, но для нашего теста это несущественно.

По опыту я знаю, что когда в настройках отключено аппаратное ускорение, Chrome выполняет рендеринг иначе:

Изучив этот результат, мы увидим, что значения в 601 рендерятся очень похожими на предыдущие, но файлы 709 рендерятся так, как будто в них нет VUI. Из этого мы можем заключить, что Chrome при отключенном аппаратном ускорении просто игнорирует VUI и рендерит все файлы, как будто они имеют формат 601. Это означает, что все файлы 709 будут воспроизводиться некорректно.

И наконец, давайте изучим Firefox:

Здесь нужно разобрать многое. Так как 709.mp4 и 709vui.mp4 выглядят одинаково, можно прийти к заключению, что при отсутствии VUI браузер Firefox предполагает формат BT.709. Правильный рендеринг 601vui.mp4 означает, что для контента BT.601 раздел VUI учитывается. Однако когда файл BT.601 без VUI рендерится как 709, то становится очень тёмным. Очевидно, что невозможно отрендерить картинку правильно без всей необходимой информации, однако выбранный Firefox способ искажает цвет сильнее, чем выбранные браузерами Safari и Chrome.

Как мы видим, ситуация с рендерингом цветов видео по-прежнему представляет собой Дикий Запад. К сожалению, мы рассмотрели только часть проблемы. Мы ещё не изучали Windows. Давайте сделаем это.

Похоже, что Edge (по крайней мере, на моём компьютере) просто игнорирует VUI и рендерит всё как 601.

Chrome (со включенным аппаратным ускорением):

Firefox ведёт себя так же, как и на Mac.

Что касается Linux, iOS, Android, Roku, Fire TV, смарт-телевизоров, игровых консолей и т.д., то я оставлю это в качестве упражнения для читателя.

Чему же мы научились? Самое главное: всегда указывайте в своих видео метаданные цветового пространства. Если вы пользуетесь ffmpeg и не задаёте флаги цвета, то вы работаете неправильно. Во-вторых, хотя ffmpeg и является потрясающей программой, её популярность, простота использования и неудачно выбранные стандартные параметры сослужили плохую службу. Никогда не стоит допускать, что ПО достаточно умно, чтобы разобраться в этом самостоятельно. Руководителям проектов Ffmpeg, Google, Mozilla, Microsoft (и, вероятно, Nvidia и AMD) нужно собраться и вместе выбрать единый способ. Я понимаю, что здесь нет хорошего решения, но плохое и предсказуемое лучше, чем плохое и случайное. Лично я рекомендую всегда предполагать формат BT.601, если раздел VUI отсутствует. Это создаёт наименьшую степень искажений. Можно выбрать для согласования этого стандарта FOMS, или даже AOM, поскольку эти организации имеют довольно неплохое представительство.

И напоследок: если у вас есть видео без информации о цвете и вам нужно его преобразовать или отрендерить, то удачи!

На правах рекламы

Всем привет, 2160p yuv420 или 2160p rgb что лучше для прошки? Телек 4к. У кого как?

Похожие статьи

8 comments on “ 2160p yuv420 или 2160p rgb что лучше для прошки ”

У меня так а ргб…

2160p yuv420 или 2160p rgb что лучше

Yuv 420 идет 10 бит цвет, в rgb 8 бит, думаю сразу понятно, что миллиард цветов лучше, чем 16 миллионов, учитывая, что HDR10 требует именно 10 бит цвет, так что ставь YUV420, и не ставь авто разрешение, авто ставит 8 бит, Рустама не слушай, он вообще в упор разницы между 10 бит цветов и 8 бит не видит, говорит одно и то же, лол, тот еще типок

у меня стоит именно 420, картинка в разы по цветам лучше, чем при ргб и HDR так же выглядит шикарно только при YUv420, а при ргб выглядит высветленно из за 8 бит цвета.

Константин, ща буду сравнивать, правда телек 8 бит матрица.

Максим, не 8бит, а 8бит+FRC, это разные вещи, 8бит+FRC дает те же миллиард цветов, что и нативные 10 бит, просто способ достижения такой глубины цвета хитрый, чтоб сэкономить.

Для начала вам нужно знать, что вы должны обладать кабелями Premium HDMI. Они будут использованы для соединения всей вашей конфигурации в одну систему. Так что удостоверьте, что у вас есть в наличии Premium HDMI. Затем вам нужно будет включить режим для 4K разрешения на всех устройства находящихся в связке с PS4 Pro. В этот список могут входить например непосредственно телевизор, ресивер или что-то подобное. Прежде мы начнем детально описывать действия по включению 4K режима, также удостоверьтесь, что используйте именно тот HDMI для 4K, которой нужен для подключения.

Настройка PS4 Pro

Как только любое устройство способное работать с 4К будет подключено к консоле, то режим 4К сразу же будет запущен. Но для проверки лучше всего самостоятельно выполнить следующее действия:

  • Зайдите в «Настройки»PS4 Pro.
  • Затем в «Звук и экран».
  • Во вкладке «Настройки вывода видео» поставьте значение «2160P — YUV420», либо «2160p- RGB».
  • В случае того, если вы увидели в списке недоступные параметры, то знайте, что устройство, на которое вы хотите вывести сигнал с PS4 Pro, не умеет работать с 4К.
  • Альтернативно, вы можете выбрать просто режим «Автоматически». В нем PS4 Pro самостоятельно будет выставлять максимально доступные значения.
  • Зайдите в какую-либо игру или начните просмотр видео.

Если вы не смогли «нащупать» никаких изменений, то попробуйте покопаться в настройка самой игры. Некоторые из них запускаются в 4К именно через внутриигровые настройки.

Настройка других устройств

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

  • Зайдите в настройки изображения.
  • Внимательно пройдитесь по ним и найдите там пункт о активации режима 4К.
  • Тоже самое вы должны проделать и для других устройств.

Делитесь своим опытом!

KD-49XF9005 и неудовлетворительное качество контента в играх на Playstation 4 Pro с поддержкой HDR

Столкнулся с проблемой того, что при включении и играх режима HDR картинка становится тусклая и не выразительная, теряются краски, зашел в настройки и увидел, что при включении HDR в игре, Playstation 4 Pro переключается автоматически в режим 2160p YUV420, съедающий добрую половину оттенков. А режим 2160p RGB доступен только при выводе 4К сигнала, без включенного HDR, не хватает пропускной способности HDMI 2.0. Вроде где то вычитал, что данную проблему может решить покупка кабеля HDMI 2.0b, Но нет, приобрел достаточно дорогостоящий кабель этой версии и ничего не изменилось. Где то читал что видимой разницы между 2160p YUV420 и 2160p RGB или она не значительная. Но мне лично режет глаз, разница однозначно есть. Есть ли выход из данной ситуации, или получается, что настоящего HDR 10bit добиться не получиться и придется смерится с выцветшей картинкой. И еще вопрос лично техподдержке Sony какие спецификации HDMI поддерживают порты в телевизоре KD-49XF9005 и Playstation 4 Pro, поддерживают ли они HDMI 2.0b. И как добится яркой и сочной картинки в играх с поддержкой HDR. Заранее спасибо за ответы.

на 8077 таких проблем не наблюдаю. В комплекте с про идет кабель 2.0, проблема может быть в самой настройке.

В самих настройках консоли советую оставить все на автомате.

Я вечером перепроверю настроики с дома, сравним.

2160p yuv420 или 2160p rgb что лучше

Может до тех пор ктонибудь более продвинутый даст ответ

Ох надеюсь) Может я просто слишком много хочу?)) Но покупая телек с функцией HDR расчитываешь на WOW эффект, а по факту теперь маюсь. Но стоит сказать, что при выводе Dolby Vision контента через сервис Netflix, картинка просто отпад. Примерно такого эффекта я ожидал и от игр.

  • Сообщество
  • Домашние Кинотеатры
  • Телевизоры
  • KD-49XF9005 и неудовлетворительное качество контен.

KD-49XF9005 и неудовлетворительное качество контента в играх на Playstation 4 Pro с поддержкой HDR

Bezmel
  • Отметить как новое
  • Закладка
  • Подписаться
  • Отключить
  • Электронная почта другу
KD-49XF9005 и неудовлетворительное качество контента в играх на Playstation 4 Pro с поддержкой HDR

Столкнулся с проблемой того, что при включении и играх режима HDR картинка становится тусклая и не выразительная, теряются краски, зашел в настройки и увидел, что при включении HDR в игре, Playstation 4 Pro переключается автоматически в режим 2160p YUV420, съедающий добрую половину оттенков. А режим 2160p RGB доступен только при выводе 4К сигнала, без включенного HDR, не хватает пропускной способности HDMI 2.0. Вроде где то вычитал, что данную проблему может решить покупка кабеля HDMI 2.0b, Но нет, приобрел достаточно дорогостоящий кабель этой версии и ничего не изменилось. Где то читал что видимой разницы между 2160p YUV420 и 2160p RGB или она не значительная. Но мне лично режет глаз, разница однозначно есть. Есть ли выход из данной ситуации, или получается, что настоящего HDR 10bit добиться не получиться и придется смерится с выцветшей картинкой. И еще вопрос лично техподдержке Sony какие спецификации HDMI поддерживают порты в телевизоре KD-49XF9005 и Playstation 4 Pro, поддерживают ли они HDMI 2.0b. И как добится яркой и сочной картинки в играх с поддержкой HDR. Заранее спасибо за ответы.

  • Отметить как новое
  • Закладка
  • Подписаться
  • Отключить
  • Электронная почта другу

1) В первую очередь хочу отметить, что HDR-изображение - это как раз более естественное и правдоподобное изображения с большим количеством оттенков и детализацией в них в широком диапазоне. HDR изображение игр и HDR-кино - оно в принципе не такое цветастое и переконтрастченое, как изображение стандартного динамического диапазона.

2) 10 бит YUV420 - это стандартный формат цвета для записи и передачи HDR изображения. Для примера, спецификация UHD HDR Blu-Ray предписывает как раз в YUV420 10 bit кодировать 4K HDR фильмы. И большинство 4K HDR контента в принципе (UHD HDR Blu-Ray, Netflix, Amazon) в таком формате цвета и кодируется. И в таком формате обычно и по HDMI передаётся. Так что никакой половины цветов там не теряется.

3) Для передачи 4К в формате RGB 10 бит и со скоростью кадров 60 fps требуется пропускная способность 22,275 Гигабит в секунду - это превышает спецификации HDMI 2.0b с её максимальной пропускной способностью в 18 Гб/сек (большинство современных телевизоров и HDMI источников сигнала, включая PS4Pro и мощные потребительские видеокарты ПК типа GTX10x0). Такую пропускную способность имеет спецификация HDMI 2.1 (утверждена в ноябре 2017 го), но таких устройтсв ещё вроде бы не существует.

Связался с некоторой юв связанной информацией. Для каждого кадра, полученного от Камеры, его формат по умолчанию - NV21, который является форматом yuv, и затем преобразован в BGR, требуемый OpenCV. Формат данных каждого кадра камеры также может быть указан как другой формат. Поэтому я стал обращать внимание на термин yuv, за которым следуют различные производные 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» означает насыщенность цвета (цветность или насыщенность цвета), роль заключается в описании изображения. Цвет и насыщенность используются для указания цвета пикселей.

Подобно RGB, как мы его знаем, YUV - это также метод цветового кодирования, в основном используемый в телевизионных системах и аналоговых полях видео, он отделяет информацию о яркости (Y) от информации о цвете (UV),Полное изображение может отображаться без УФ-информации (неправильно написано), Это просто черно-белый, этот дизайн решает проблему совместимости цветного телевизора и черно-белого телевизора. Более того, YUV не требует передачи трех независимых видеосигналов одновременно с RGB, поэтому передача YUV занимает очень небольшую полосу пропускания.

Формат хранения битового потока 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)



YUYV - один из форматов хранения, выбранных YUV422. Два смежных Y совместно используют два смежных анализа Cb и Cr. Для пикселя Y'00, Y ' В терминах 01 значения Cb и Cr являются Cb00 и Cr00, а значения YUV других пикселей выводятся по аналогии.

Формат 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.

0-720 × 480 байтов - это значение компонента Y,
720 × 480–720 × 480 × 5/4 байта составляют компонент U
720 × 480 × 5 / 4–720 × 480 × 3/2 байта - это V-компонент.

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

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

YUV4: 2: 2 -> YUV4: 2: 0 Y не изменяется, и значения сигналов U и V дискретизируются один раз в линии (вертикальное направление). YUV4: 2: 0 -> YUV4: 2: 2 Y не изменяется, и каждая строка значений сигналов U и V копируется отдельно для формирования двух последовательных строк данных.

В 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 в основном одинаковы, но порядок УФ отличается。

Продолжая нашу тему, после первого сжатия данных RGB24-> YUV (I420). Таким образом, объем данных будет уменьшен вдвое, почему? Ха-ха, это слишком просто, я не буду много писать. Аналогично, если это RGB24 -> YUV (YV12), оно также уменьшается вдвое. Однако, хотя оба являются половиной, если это YV12, эффект будет значительно потерян. Затем, после кодирования X264, объем данных будет значительно уменьшен. Упакуйте закодированные данные и передайте их в реальном времени через RTP. После достижения пункта назначения данные извлекаются и декодируются. После того как декодирование завершено, данные все еще находятся в формате YUV, поэтому их необходимо преобразовать один раз, чтобы драйвер Windows мог их обработать, то есть YUV2RGB24.

Разница между 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 2x2 subsampled chroma samples.
C++ code used on Android to convert pixels of YUVImage:

Читайте также: