Перейти до вмісту

YUV

Матеріал з Вікіпедії — вільної енциклопедії.
Колірна площина UV (за ), подана в колірній гамі RGB
Фотографія та її YUV-компоненти

YUV — колірна модель, у якій колір подається трьома компонентами — яскравістю (Y) і двома кольорорізницевими (U і V).

Компоненти визначено на основі компонент RGB так:

Зворотне перетворення в RGB:

Зворотне перетворення зберігає діапазон змін компонентів RGB, але діапазон змін компонентів і більший, ніж в , що незручно для кодування та передавання сигналу. Тому вводиться нормування.

Модель широко застосовується в телемовленні та зберіганні / обробці відеоданих. Яскравісна компонента містить «чорно-біле» (у відтінках сірого) зображення, а дві інші компоненти — інформацію для відновлення належного кольору. Це було зручно на момент появи кольорового телебачення для сумісності зі старими чорно-білими телевізорами. Тоді як яскравість передається з усіма деталями, деякі деталі в компонентах кольорорізницевого сигналу, позбавленого інформації про яскравість, можуть бути видалені шляхом пониження роздільності.

Зазвичай, терміни YCbCr і YUV використовують як взаємозамінні, що призводить до деякої плутанини. Коли мова йде про відео або сигнали в цифровій формі, термін «YUV» переважно означає «YCbCr».[1]

Нормування YUV. Формат YPbPr

[ред. | ред. код]

Якщо прийняти, що компоненти змінюються в діапазоні то, за визначенням, компонента змінюється в інтервалі , а  — в інтервалі .

Для зведення до інтервалу компоненти і нормують:

Зворотне перетворення в :

Цей спосіб подання компонент використано в аналоговому форматі YPbPr[en].

Цифрове подання YUV. Формат YCbCr

[ред. | ред. код]

Цифрове подання YUV — це формат YCbCr[en]. Переважно, для цифрових форматів даних використовують цілі невід'ємні числа діапазонів розміру степеня двійки. Найчастіше — 8, 10 біт тощо. Оскільки і можуть бути від'ємними, то для них уводять зміщення — половину від рівнів квантування (кодування). Також для проріджування менш інформативних компонентів застосовують просторове кодування, наприклад YUYV або YUV422.

YCbCr чи YCrCb?

У рекомендації BT.601 частіше зустрічається послідовність Cr, Cb — у тексті, формулах, але в Додатку 2 BT.601 — вже Cb, Cr. У наступних рекомендаціях тієї ж групи послідовність Cb, Cr зберігається. Хоча ці рекомендації не регламентують послідовність запису Cb, Cr в адресному просторі, казус щодо черговості прийнято і втілено, наприклад, в OpenCV,[2] що торкнулося не тільки назв параметрів, але й черговості в адресному просторі.

Тим не менш, T-REC-T.871 строго задає послідовність — Cb, Cr: Якщо використовуються три компоненти, вони мають бути присутні в зображенні в такому порядку: перша компонента – канал Y, друга компонента – канал Cb, третя компонента – канал Cr.
Оригінальний текст (англ.)
If three components are used, they shall be present in the image with the ordering of the components such that the first component is the Y channel, the second component is the Cb channel, and the third component is the Cr channel.

Коефіцієнти KR та KB

[ред. | ред. код]

У рекомендації BT.601[en] визначено такі значення для KR і KB:

Ці ж значення використовують для перетворення колірного простору в YPbPr і JPEG (JFIF).[3]

За рекомендацією BT.709[en] визначено значення KR і KB:

B рекомендації BT.2020[en]

При цьому для збереження сталості яскравості враховують нелінійну відповідність і яскравості і вводять різні множники для від'ємних і додатних значень і . У традиційному варіанті з мінливою яскравістю множники — постійні величини.

Кодування

[ред. | ред. код]
YUV у JPEG (T-REC-T.871)

У рекомендації T-REC-T.871 визначено перетворення для подання YUV у цифровій формі YCbCr:

По суті, з урахуванням зміщення нуля, це перетворення аналогічне YPbPr — усі компоненти займають повний діапазон, доступний для цієї розрядності даних. Зворотне перетворення на RG':

При цьому кожну обчислену компоненту слід звести до [0,255] — відсікти.

YUV у телевізійних стандартах

Перетворення в рекомендаціях BT.601, BT.709, BT.2020 також стосуються подання YUV в цифровій формі YCbCr, основна відмінність яких від T-REC-T.871 у тому, що діапазони змінення компонент менші, ніж доступний для цієї розрядності даних: для Y це 220 (8 біт) або 877 (10 біт) і найменше значення 16 (8 біт) або 64 (10 біт), а для U і V — 225 (8 біт) або 897 (10 біт) і нуль відповідає значенню 128 (8 біт) або 512 (10 біт). Це зроблено для того, щоб використовувати крайні значення (0 і 255 (8 біт)) для передавання даних синхронізації.

Перетворення для BT.601 YCbCr здійснюють за такими формулами:

Зворотне перетворення для BT.601 RGB YCbCr з RGB здійснюють за такими формулами:

де , ,  — відповідно, цифрове подання інтенсивності кольорів червоного, зеленого та синього;  — складова яскравості; і  — колірні складові. За BT.601 і BT.709 цифрове подання інтенсивності кольорів означає, що початкову величину інтенсивності, яка пройшла попередню гамма-корекцію і лежить у діапазоні [0,1], слід помножити на 219 і додати 16, наприклад .

Модель широко застосовують у телемовленні та зберіганні / обробці відеоданих. Компонента яскравості містить «чорно-біле» (у відтінках сірого) зображення, а дві інші компоненти — інформацію для відновлення необхідного кольору. Це виявилося зручно на момент появи кольорового телебачення для сумісності із старими чорно-білими телевізорами.

У колірному просторі YUV є одна компонента, яка представляє яскравість (сигнал яскравості), і дві інші компоненти, які представляють колір (сигнал кольору). Тоді як яскравість передається з усіма деталями, деякі деталі в компонентах кольорорізницевого сигналу, позбавленого інформації про яскравість, можуть бути видалені завдяки зниженню роздільності відліків (фільтрація або усереднення), що можна зробити декількома способами (тобто, існує багато форматів для збереження зображення в колірному просторі YUV).

YUV часто плутають із колірним простором YCbCr, і, як правило, терміни YCbCr та YUV використовують як взаємозамінні, що спричиняє додаткову плутанину. Коли йдеться про відео або сигнали в цифровій формі, особливо в контексті телевізійного мовлення, термін YUV переважно означає Y'CbCr (у термінах однієї з рекомендацій BT.601, BT.709 і BT.2020). Якщо йдеться про JPEG, або MPEG, або в контексті обробки зображень, то мають на увазі T-REC-T.871 YCbCr.

Див. також

[ред. | ред. код]

Примітки

[ред. | ред. код]
  1. Poynton, Charles. «YUV and luminance considered harmful: A plea for precise terminology in video» [1]
  2. Функція cv::cvtColor з параметром CV_YCrCb2BGR [Архівовано 2021-11-22 у Wayback Machine.]
  3. ITU T-REC-T.871 T.871 : Information technology - Digital compression and coding of continuous-tone still images: JPEG File Interchange Format (JFIF). Архів оригіналу за 25 травня 2018. Процитовано 24 травня 2018.

Література

[ред. | ред. код]

Посилання

[ред. | ред. код]