ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящие варианты осуществления, в целом, относятся к предобработке и кодированию пикселей в картинке и, в частности, к предобработке и кодированию, которые повышают значения яркости пикселей.
УРОВЕНЬ ТЕХНИКИ
В цифровом видеосигнале каждая выборка, т.е. пиксельная компонента, представляется целым числом или значением с плавающей точкой. Дисплей, например, экран, телевизор или монитор, визуализирующий видео, исключает оптические световые сигналы на основании цифровых значений видеосигнала. Функция, преобразующая цифровое значение V в оптический световой сигнал Y, является электрооптической передаточной функцией (EOTF). Традиционно EOTF выражается экспоненциальной функцией, именуемой гамма-функцией, где гамма γ - показатель степени. Она обычно равна 2,4 (но также может принимать другие значения): Y=V γ
Использование гамма-функции полезно для сигналов низкой яркости, но когда яркость превышает 100 нит (кд/м2) гамма-функция не полностью согласуется с контрастной чувствительностью зрительной системы человека. Поэтому задаются более нелинейные передаточные функции, например:
[1]
Эта передаточная функция более нелинейна, чем гамма-функция в том смысле, что максимальное значение ее первой производной в диапазоне от 0 до 1 больше, чем у гамма-функции.
Понижающая дискретизация цветности обычно осуществляется до сжатия в качестве начального этапа для уменьшения объема данных. В 4:2:2 сигнал цветности снижается до половины разрешения в вертикальном направлении. В 4:2:0 сигнал цветности снижается до половины разрешения в вертикальном направлении и горизонтальном направлении. Это обычно осуществляется посредством некоторой операции фильтрации для получения сигнала хорошего качества, но также может осуществляться с использованием ближайшего соседа.
Для отображения видео 4:2:0 или 4:2:2 декодер осуществляет повышающую дискретизацию сигнала цветности, например, с использованием билинейных фильтров или удлиненных фильтров.
Однако комбинация сильно нелинейной передаточной функции, понижающей дискретизации 4:2:0 или 4:2:2 и упорядочения непостоянной яркости вносит в видеоданные заметные артефакты, в особенности для насыщенных цветов, т.е. цветов вблизи границы цветовой гаммы.
Существует несколько путей обойти эту проблему. Один из них состоит в том, чтобы не использовать понижающую дискретизацию 4:2:0 или 4:2:2, но, вместо этого, использовать 4:4:4. Однако это сопряжено с большими затратами, поскольку 4:2:0 наполовину уменьшает количество битов до сжатия, тогда как 4:2:2 уменьшает количество битов до двух третей. Другой путь состоит в том, чтобы не использовать сильно нелинейную передаточную функцию. Однако это затрудняет представление контента с очень высокой пиковой яркостью без образования полосатости в темных областях. Третий путь состоит в использовании постоянной яркости, т.е. применении передаточной функции после преобразования в цветовое пространство XYZ CIE1931. Однако такое решение не согласуется обычной практикой в сфере вещания и в некоторых сценариях может быть трудно и дорого в осуществлении.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Общая задача состоит в обеспечении предобработки пикселей для подавления артефактов.
Эти и другие задачи решаются раскрытыми здесь вариантами осуществления.
Аспект вариантов осуществления относится к способу предобработки пикселя в картинке. Способ содержит получение исходного значения линейной яркостной компоненты пикселя в третьем цветовом пространстве, определенном на основании линейного цвета пикселя в первом цветовом пространстве. Способ также содержит вывод значения нелинейной яркостной компоненты во втором цветовом пространстве для пикселя на основании первого значения нелинейной цветностной компоненты во втором цветовом пространстве, второго значения нелинейной цветностной компоненты во втором цветовом пространстве и исходного значения линейной яркостной компоненты в третьем цветовом пространстве.
Другой аспект вариантов осуществления относится к устройству для предобработки пикселя в картинке. Устройство выполнено с возможностью получения исходного значения линейной яркостной компоненты пикселя в третьем цветовом пространстве, определенном на основании линейного цвета пикселя в первом цветовом пространстве. Устройство также выполнено с возможностью вывода значения нелинейной яркостной компоненты во втором цветовом пространстве для пикселя на основании первого значения нелинейной цветностной компоненты во втором цветовом пространстве, второго значения нелинейной цветностной компоненты во втором цветовом пространстве и исходного значения линейной яркостной компоненты в третьем цветовом пространстве.
Родственный аспект вариантов осуществления предусматривает устройство для предобработки пикселя в картинке. Устройство содержит блок определения для получения исходного значения линейной яркостной компоненты пикселя в третьем цветовом пространстве, определенном на основании линейного цвета пикселя в первом цветовом пространстве. Устройство также содержит модуль выведения для вывода значения нелинейной яркостной компоненты во втором цветовом пространстве для пикселя на основании первого значения нелинейной цветностной компоненты во втором цветовом пространстве, второго значения нелинейной цветностной компоненты во втором цветовом пространстве и исходного значения линейной яркостной компоненты в третьем цветовом пространстве.
Дополнительный аспект вариантов осуществления относится к устройству для кодирования пикселя в картинке. Устройство содержит процессор и память, содержащую инструкции, которые может выполнять процессор. Процессор выполнен с возможностью получения исходного значения линейной яркостной компоненты пикселя в третьем цветовом пространстве, определенном на основании линейного цвета пикселя в первом цветовом пространстве. Процессор также выполнен с возможностью вывода значения нелинейной яркостной компоненты во втором цветовом пространстве для пикселя на основании первого значения нелинейной цветностной компоненты во втором цветовом пространстве, второго значения нелинейной цветностной компоненты во втором цветовом пространстве и исходного значения линейной яркостной компоненты в третьем цветовом пространстве. Процессор дополнительно выполнен с возможностью кодирования значения нелинейной яркостной компоненты, первого значения нелинейной цветностной компоненты и второго значения нелинейной цветностной компоненты.
Родственный аспект вариантов осуществления предусматривает устройство для кодирования пикселя в картинке. Устройство содержит блок определения для получения исходного значения линейной яркостной компоненты пикселя в третьем цветовом пространстве, определенном на основании линейного цвета пикселя в первом цветовом пространстве. Устройство также содержит модуль выведения для вывода значения нелинейной яркостной компоненты во втором цветовом пространстве для пикселя на основании первого значения нелинейной цветностной компоненты во втором цветовом пространстве, второго значения нелинейной цветностной компоненты во втором цветовом пространстве и исходного значения линейной яркостной компоненты в третьем цветовом пространстве. Устройство дополнительно содержит кодер для кодирования значения нелинейной яркостной компоненты, первого значения нелинейной цветностной компоненты и второго значения нелинейной цветностной компоненты.
Еще один аспект вариантов осуществления относится к компьютерной программе, содержащей инструкции, которые, при выполнении процессором, предписывают процессору получать исходное значение линейной яркостной компоненты пикселя в картинке в третьем цветовом пространстве, определенном на основании линейного цвета пикселя в первом цветовом пространстве. Процессор также предписывается выводить значение нелинейной яркостной компоненты во втором цветовом пространстве для пикселя на основании первого значения нелинейной цветностной компоненты во втором цветовом пространстве, второго значения нелинейной цветностной компоненты во втором цветовом пространстве и исходного значения линейной яркостной компоненты в третьем цветовом пространстве.
Родственный аспект вариантов осуществления предусматривает носитель, содержащий компьютерную программу согласно вышеописанному. Носитель представляет собой один из электронного сигнала, оптического сигнала, электромагнитного сигнала, магнитного сигнала, электрического сигнала, радиосигнала, микроволнового сигнала или компьютерно-считываемого носителя данных.
Дополнительный аспект вариантов осуществления относится к сигнал, представляющий кодированную версию пикселя в картинке. Кодированная версия содержит кодированную версию дискретизированного с понижением первого значения нелинейной цветностной компоненты во втором формате цвета, кодированную версию дискретизированного с понижением второго значения нелинейной цветностной компоненты во втором цветовом пространстве и кодированную версию значения нелинейной яркостной компоненты во втором формате цвета, выведенные согласно вышеописанному.
Настоящие варианты осуществления предусматривают предобработку и кодирование пикселей, которые подавляют артефакты, которые в противном случае могут возникать вследствие использования нелинейной передаточной функции совместно с понижающей дискретизацией цветности. Субъективно, качественное повышение яркости отчетливо наблюдается даже для не сжатого видео.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Варианты осуществления, совместно с их дополнительными задачами и преимуществами, можно наилучшим образом понять, обратившись к нижеследующему описанию, приведенному совместно с прилагаемыми чертежами, в которых:
фиг. 1 - блок-схема операций, демонстрирующая способ предобработки пикселя согласно варианту осуществления;
фиг. 2 - блок-схема операций, демонстрирующая дополнительные, необязательные этапы способа, показанного на фиг. 1, согласно варианту осуществления;
фиг. 3 - блок-схема операций, демонстрирующая дополнительные, необязательные этапы способа, показанного на фиг. 1, согласно другому варианту осуществления;
фиг. 4 - блок-схема операций, демонстрирующая дополнительные, необязательные этапы способа, показанного на фиг. 3, согласно варианту осуществления;
фиг. 5 - блок-схема операций, демонстрирующая вариант осуществления реализации этапа вывода на фиг. 1;
фиг. 6 - блок-схема операций, демонстрирующая дополнительный, необязательный этап способа, показанного на фиг. 5, согласно варианту осуществления;
фиг. 7 - блок-схема операций, демонстрирующая дополнительный этап способа, показанного на фиг. 1, для формирования способ кодирования пикселя согласно варианту осуществления;
фиг. 8 демонстрирует технологию вывода скорректированного Y' согласно варианту осуществления;
фиг. 9 демонстрирует, что в разных областях можно использовать разные линеаризации;
фиг. 10 - блок-схема операций, демонстрирующая способ, который может осуществляться на кодере или при подготовке к обработке на кодере;
фиг. 11 - схема аппаратной реализации устройства согласно вариантам осуществления;
фиг. 12 - схема реализации устройства согласно вариантам осуществления с процессором и памятью;
фиг. 13 - схема пользовательского оборудования согласно варианту осуществления;
фиг. 14 - схема реализации устройства согласно вариантам осуществления с функциональными модулями;
фиг. 15 - схема, демонстрирующая распределенную реализацию вариантов осуществления среди множественных сетевых устройств;
фиг. 16 - схема примера системы беспроводной связи с одним или более облачными сетевыми устройствами согласно варианту осуществления;
фиг. 17A-17C демонстрируют исходную картинку 4:4:4 (фиг. 17A), картинку после традиционной обработки 4:2:0 (фиг. 17B) и картинку после предложенной обработки 4:2:0 (фиг. 17C) в случае отсутствия сжатия, но просто понижающей дискретизации и повышающей дискретизации;
фиг. 18A-18C демонстрируют исходную картинку 4:4:4 (фиг. 18A), картинку после традиционной обработки 4:2:0 (фиг. 18B) и картинку после предложенной обработки 4:2:0 (фиг. 18C) в случае отсутствия сжатия, но просто понижающей дискретизации и повышающей дискретизации;
фиг. 19 демонстрирует, что линейная яркость, Y в пространстве XYZ CIE1931, весьма отличается на исходной картинке (внизу) и обработанной картинке (вверху);
фиг. 20 демонстрирует, что изменяя значение Y' в отдельном пикселе, можно достигать линейной яркости Ŷ, которая совпадает с желаемой линейной яркостью Y;
фиг. 21 демонстрирует кривую Бартена для контрастной чувствительности; и
фиг. 22 демонстрирует сравнение между цветовыми гаммами Rec709 и BT.2020.
ПОДРОБНОЕ ОПИСАНИЕ
В чертежах одинаковые ссылочные позиции используются для обозначения аналогичных или соответствующих элементов.
Настоящие варианты осуществления, в целом, относятся к предобработке и кодированию пикселей в картинке и, в частности, к предобработке и кодированию, которые повышают значения яркости пикселей.
Традиционная цепочка сжатия предусматривает подачу пикселей входящего линейного светового сигнала, обычно в пределах от 0 до 10000 кд/м2, на обратную передаточную функцию, что приводит к новым пиксельным значениям от 0 до 1. После этого пиксели подвергаются цветовому преобразованию с получением яркостной компоненты и двух цветностных компонент. Затем две цветностные компоненты подвергаются понижающей дискретизации, например, до 4:2:0 или 4:2:2. После снятия сжатия последовательности 4:2:0 или 4:2:2 подвергаются повышающей дискретизации до 4:4:4, обратному цветовому преобразованию, и, наконец, передаточная функция возвращает пиксели линейного светового сигнала, который может выводиться на монитор.
Комбинация сильно нелинейной передаточной функции, понижающей дискретизации цветности и упорядочения непостоянной яркости вносит в видеоданные заметные артефакты, в особенности для насыщенных цветов. Проблема состоит в том, что цветностные компоненты интерполируются, тогда как яркостная компонента - нет. Следовательно, может существовать резкий сдвиг яркостной компоненты в пикселе, но цветностные компоненты не могут следовать, поскольку они интерполируются. Для некоторых цветов, в особенности, насыщенных цветов, получается пиксель совершено неправильной интенсивности, который отчетливо наблюдается как артефакт.
Предобработку пикселей согласно вариантам осуществления можно использовать для подавления или, по меньшей мере, уменьшения влияния артефактов, что позволяет получить цвет, более близкий к входящему ʺистинномуʺ цвету пикселя.
Цветовое пространство или формат цвета представляет собой тип и количество цветов, происходящих из комбинаций цветовых компонент цветовой модели. Цветовая модель это абстрактная конфигурация, описывающая, каким образом можно представлять цвета кортежами чисел, т.е. цветовыми компонентами. Цветовые компоненты имеют несколько отличительных признаков, например, тип компоненты, например, тон, и его единицу измерения, например, градус или процент, или тип шкалы, например, линейный или нелинейный, и назначенное ему количество значений, именуемое глубиной или битовой глубиной цвета.
В порядке неограничительного примера цветовые пространства, которые обычно используются для пикселей в картинках и видео, включают в себя цветовое пространство красного, зеленого, синего (RGB), цветовое пространство яркости, цветности синего и цветности красного (YCbCr, иногда обозначаемое Y'CbCr, Y'Cb'Cr', YCBCR, Y'CBCR или Y'CB'CR') и цветовое пространство яркости и цветностей (XYZ).
На фиг. 1 показана блок-схема операций, демонстрирующая способ предобработки пикселя в картинке. Способ содержит получение, на этапе S1, исходного значения линейной яркостной компоненты пикселя в третьем цветовом пространстве, определенном на основании линейного цвета пикселя в первом цветовом пространстве. Затем способ переходит к этапу S2, который содержит вывод значения нелинейной яркостной компоненты во втором цветовом пространстве для пикселя на основании первого значения нелинейной цветностной компоненты во втором цветовом пространстве, второго значения нелинейной цветностной компоненты во втором цветовом пространстве и исходного значения линейной яркостной компоненты в третьем цветовом пространстве.
В пиксельной предобработке на фиг. 1 используются две нелинейные цветностные компоненты во втором цветовом пространстве. Две нелинейные цветностные компоненты во втором цветовом пространстве могут представлять собой дискретизированное с понижением первое значение нелинейной цветностной компоненты во втором цветовом пространстве и дискретизированное с понижением второе значение нелинейной цветностной компоненты во втором цветовом пространстве. В конкретном варианте осуществления эти две нелинейные цветностные компоненты являются компонентами Cb' и Cr'. Более предпочтительно, нелинейные цветностные компоненты являются компонентами Cb' и Cr' в формате 4:2:0 или 4:2:2. Соответственно, второе цветовое пространство является, в этом варианте осуществления, цветовым пространством YCbCr. Апостроф "'" используется для указания того, что две цветностные компоненты являются нелинейными цветностными компонентами.
В таком случае, этап S2 на фиг. 1, предпочтительно, содержит вывод значения нелинейной яркостной компоненты во втором цветовом пространстве на основании дискретизированного с понижением первого значения нелинейной цветностной компоненты во втором цветовом пространстве, дискретизированного с понижением второго значения нелинейной цветностной компоненты во втором цветовом пространстве и исходного значения линейной яркостной компоненты в третьем цветовом пространстве.
В альтернативном варианте осуществления два значения нелинейной цветностной компоненты во втором цветовом пространстве не обязательно подвергаются понижающей дискретизации, но, напротив, могут иметь вид не дискретизированных значений нелинейной цветностной компоненты во втором цветовом пространстве или дискретизированных с повышением значений нелинейной цветностной компоненты во втором цветовом пространстве. В последнем случае дискретизированные с повышением значения нелинейной цветностной компоненты получаются после повышающей дискретизации дискретизированных с понижением значений нелинейной цветностной компоненты во втором цветовом пространстве. В этом альтернативном варианте осуществления, нелинейные цветностные компоненты являются компонентами Cb' и Cr' в формате 4:4:4.
Согласно варианту осуществления первое и второе значения нелинейной цветностной компоненты во втором цветовом пространстве пикселя получаются на основании линейного цвета пикселя в первом цветовом пространстве. В конкретном варианте осуществления это первое линейное цветовое пространство является цветовым пространством RGB. Соответственно, линейный цвет пикселя в первом цветовом пространстве, в этом конкретном варианте осуществления, является цветом RGB пикселя.
Согласно варианту осуществления вышеупомянутое третье цветовое пространство является цветовым пространством XYZ. Соответственно, линейная яркость пикселя в третьем цветовом пространстве, в этом варианте осуществления, является компонентой Y.
Таким образом, предобработка, показанная на фиг. 1, получает или обеспечивает исходное значение линейной яркостной компоненты пикселя в третьем цветовом пространстве, определенное на основании линейного цвета пикселя в первом цветовом пространстве. Это исходное значение линейной яркостной компоненты, предпочтительно, отражает истинную яркость пикселя, т.е. исходную яркость пикселя до любого цветового преобразования, применения передаточных функций и понижающей дискретизации. Это исходное значение линейной яркостной компоненты определяется на основании линейного цвета пикселя в первом цветовом пространстве. Согласно варианту осуществления этот линейный цвет пикселя в первом цветовом пространстве является исходным входящим цветом пикселя. В конкретном варианте осуществления, этот исходный входящий цвет обозначается здесь ROGOBO, и исходная линейная яркостная компонента обозначается YO.
Таким образом, исходная линейная яркость является целевой яркостью, которую можно вычислять многими разными способами. Эта исходная линейная яркость не обязана непосредственно соответствовать фактической яркости датчика в камере, формирующей картинку или записывающей видео, или в панели дисплея.
Исходное значение линейной яркостной компоненты в третьем цветовом пространстве может передаваться функции предобработки и кодирования в качестве исходного значения линейной яркостной компоненты, предпочтительно, значение YO, в заранее определенной или заранее вычисленной форме. Это означает, что определение исходного значения линейной яркостной компоненты на основании линейного цвета в первом цветовом пространстве уже произошло, и только результат определения передается функции предобработки и кодирования.
В альтернативном варианте осуществления предобработка вариантов осуществления содержит определение или вычисление исходного значения линейной яркостной компоненты. В таком варианте осуществления этап S1 на фиг. 1, предпочтительно, содержит определение исходного значения линейной яркостной компоненты в третьем цветовом пространстве на основании линейного цвета в первом цветовом пространстве.
Затем значение нелинейной яркостной компоненты во втором цветовом пространстве выводится для пикселя на этапе S2 на основании первого и второго значений нелинейной цветностной компоненты во втором цветовом пространстве и исходного значения линейной яркостной компоненты в третьем цветовом пространстве. Следовательно, согласно варианту осуществления нелинейная яркостная компонента Y' в цветовом пространстве YCbCr является функцией компонент Cb' и Cr' в цветовом пространстве YCbCr и компоненты YO в цветовом пространстве XYZ, т.е. Y'=f(Cb',Cr',YO). В свою очередь, компонента YO определяется на основании цвета ROGOBO пикселя в цветовом пространстве RGB, т.е. YO=g(RO,GO,BO). Соответственно, Y'=f(Cb',Cr',g(RO,GO,BO)).
Затем предобработанный пиксель представляется выведенной нелинейной яркостной компонентой (Y') и двумя дискретизированными с понижением нелинейными цветностными компонентами (Cb', Cr') во втором цветовом пространстве, т.е. Y'Cb'Cr'. Таким образом, кортеж Y'Cb'Cr' представляет предобработанный цвет пикселя, предпочтительно, в формате 4:2:0 или 4:2:2, т.е. с дискретизированными с понижением цветностными компонентами, но не подвергнутой понижающей дискретизации яркостной компонентой.
Согласно варианту осуществления этап S2 на фиг. 1 содержит вывод значения нелинейной яркостной компоненты во втором цветовом пространстве, которое минимизирует разность между исходным значением линейной яркостной компоненты в третьем цветовом пространстве и значением линейной яркостной компоненты в третьем цветовом пространстве, определенного на основании значения нелинейной яркостной компоненты во втором цветовом пространстве, первого значения нелинейной цветностной компоненты во втором цветовом пространстве и второго значения нелинейной цветностной компоненты во втором цветовом пространстве.
Следовательно, в этом варианте осуществления этап S2 предусматривает отыскание значения нелинейной яркостной компоненты (Y') во втором цветовом пространстве (YCbCr), которое минимизирует разность между исходным значением линейной яркостной компоненты (YO) и значением линейной яркостной компоненты (Y) в третьем цветовом пространстве (XYZ). Это значение линейной яркостной компоненты (Y) в третьем цветовом пространстве (XYZ), в свою очередь, получается на основании значения нелинейной яркостной компоненты (Y') и двух значений нелинейной цветностной компоненты (Cb', Cr') во втором цветовом пространстве (YCbCr).
Таким образом, этот вариант осуществления предусматривает отыскание значения компоненты Y', которое минимизирует разность |YO-Y| или (YO-Y)2, где Y=h(Y',Cb',Cr') и h(.) задает, что Y определяется на основании Y', Cb' и Cr'.
В альтернативном, но родственном варианте осуществления, этап S2 предусматривает вывод значения нелинейной яркостной компоненты во втором цветовом пространстве, которое минимизирует разность между функцией исходного значения яркостной компоненты в третьем цветовом пространстве и функцией значения линейной яркостной компоненты в третьем цветовом пространстве. Это значение линейной яркостной компоненты в третьем цветовом пространстве определяется на основании значения нелинейной яркостной компоненты во втором цветовом пространстве, первого значения нелинейной цветностной компоненты во втором цветовом пространстве и второго значения нелинейной цветностной компоненты во втором цветовом пространстве.
Таким образом, этот вариант осуществления предусматривает отыскание значения компоненты Y', которое минимизирует разность |k(YO)- k(Y)| или (k(YO)- k(Y))2, где Y=h(Y',Cb',Cr').
Предпочтительно, функция (k(.)) является обратной передаточной функцией, например, обратной к передаточной функции [1].
Этапы S1 и S2 способа на фиг. 1 осуществляются для, по меньшей мере, одного пикселя в картинке, например, видеопоследовательности. Согласно варианту осуществления этапы S1 и S2, предпочтительно, осуществляются для множественных, т.е., по меньшей мере, двух, пикселей на картинках, что схематически указано линией L1. В конкретном варианте осуществления этапы S1 и S2 осуществляются для всех пикселей в картинке.
В другом конкретном варианте осуществления этапы S1 и S2 осуществляются для тех пикселей в картинке, которые приводят к вышеописанному визуальному артефакту. Эти пиксели можно идентифицировать путем сравнения исходного значения линейной яркостной компоненты (YO) в третьем цветовом пространстве для пикселя со значением линейной яркостной компоненты (Y) в третьем цветовом пространстве, определенным для пикселя на основании значений нелинейных яркостной и цветностных компонент (Y', Cb', Cr') во втором формате цвета и где эти значения нелинейных яркостной и цветностных компонент выводятся согласно типичной цепочке сжатия без какой-либо предобработки согласно изобретению. В этом последнем варианте осуществления предобработка вариантов осуществления, таким образом, применяется только к тем пикселям в картинке, на которых типичная цепочка сжатия приводит к ошибке в яркостной компоненте.
Альтернативно, пиксели в картинке, которые приводят к визуальным артефактам, можно идентифицировать путем сравнения значений компонент Cb' и Cb и/или значений компонент Cr' и Cr, т.е. дискретизированного с повышением значения компоненты Cb' и/или Cr' с соответствующий значением компоненты Cb и/или Cr', полученным путем применения первого цветового преобразования к цвету R'G'B', где R', G' и B' получаются путем применения обратной передаточной функции к RO, GO и BO, соответственно, исходного цвета ROGOBO.
Дополнительный вариант состоит в осуществлении этапов S1 и S2 для тех пикселей, которые имеют насыщенные цвета, т.е. цвета на границе гаммы или вблизи нее.
На фиг. 2 показана блок-схема операций, демонстрирующая дополнительные, необязательные этапы способа, показанного на фиг. 1. Этапы на фиг. 2 демонстрируют типичную цепочку обработки, используемую для вывода дискретизированных с понижением значений нелинейной цветностной компоненты во втором цветовом пространстве на основании линейного цвета в первом цветовом пространстве. Способ начинается на этапе S10, который содержит применение первой передаточной функции к линейному цвету в первом цветовом пространстве для получения нелинейного цвета в первом цветовом пространстве. Нижеследующий этап S11 содержит применение первого цветового преобразования к нелинейному цвету в первом цветовом пространстве для получения нелинейного цвета во втором цветовом пространстве. Нелинейный цвет во втором цветовом пространстве содержит начальное первое значение нелинейной цветностной компоненты и начальное второе значение нелинейной цветностной компоненты. Нижеследующий этап S12 содержит понижающую дискретизацию начальное первого значения нелинейной цветностной компоненты во втором цветовом пространстве и начального второго значения нелинейной цветностной компоненты во втором цветовом пространстве для получения дискретизированного с понижением первого значения нелинейной цветностной компоненты во втором цветовом пространстве и дискретизированного с понижением второго значения нелинейной цветностной компоненты во втором цветовом пространстве. Затем способ переходит к этапу S1 на фиг. 1.
Согласно варианту осуществления типичной цепочки обработки на фиг. 2, первая передаточная функция, например, обратная передаточной функции [1], применяется к цвету ROGOBO пикселя, т.е. исходному цвету пикселя, для получения нелинейного цвета R'G'B' в цветовом пространстве RGB. Затем этот цвет R'G'B' цвет преобразуется из цветового пространства RGB в цветовое пространство YCbCr с использованием первого цветового преобразования, например, цветового преобразования:
Цвет Y'Cb'Cr' пикселя полученный применением первого цветового преобразования на этапе S11, является цветом Y'Cb'Cr' без сжатия, т.е. в формате 4:4:4. На следующем этапе S12 осуществляется понижающая дискретизация двух цветностных компонент Cb' и Cr' для получения цвета в формате 4:2:0 или 4:2:2, т.е. с дискретизированными с понижением нелинейными цветностными компонентами Cb' и Cr'.
Понижающая дискретизация на этапе S12 может осуществляться согласно известным методам понижающей дискретизации. Например, можно использовать операцию фильтрации или операцию ближайшего соседа. Пример метода понижающей дискретизации, который можно использовать согласно вариантам осуществления, раскрыт в разделе B.1.5.5 Chroma downsampling from 4:4:4 to 4:2:0 в документе [4].
На фиг. 3 показана блок-схема операций, демонстрирующая дополнительные, необязательные этапы способа, показанного на фиг. 1. Эти этапы демонстрируют дополнительную обработку для вывода оптимального значения нелинейной яркостной компоненты для пикселя в картинке. Способ продолжается от этапа S1 на фиг. 1 или этапа S12 на фиг. 2. Способ продолжается повышающей дискретизацией дискретизированного с понижением первого значения нелинейной цветностной компоненты во втором цветовом пространстве и дискретизированного с понижением второго значения нелинейной цветностной компоненты во втором цветовом пространстве для получения дискретизированного с повышением первого значения нелинейной цветностной компоненты во втором цветовом пространстве и дискретизированного с повышением второго значения нелинейной цветностной компоненты во втором цветовом пространстве на этапе S20. Нижеследующий этап S21 содержит применение второго цветового преобразования к значению-кандидату нелинейной яркостной компоненты во втором цветовом пространстве, дискретизированному с повышением первому значению нелинейной цветностной компоненты во втором цветовом пространстве и дискретизированному с повышением второму значению нелинейной цветностной компоненты во втором цветовом пространстве для получения нелинейного цвета в первом цветовом пространстве. Нижеследующий этап S22 содержит применение второй передаточной функции к нелинейному цвету во втором цветовом пространстве для получения линейного цвета в первом цветовом пространстве. Наконец, третье цветовое преобразование применяется на этапе S23 к линейному цвету в первом цветовом пространстве для получения значения линейной яркостной компоненты в третьем цветовом пространстве. Затем способ переходит к этапу S2 на фиг. 1, который содержит вывод значения нелинейной яркостной компоненты на основании сравнения исходного значения линейной яркостной компоненты в третьем цветовом пространстве и значения линейной яркостной компоненты в третьем цветовом пространстве.
Таким образом, согласно варианту осуществления дискретизированные с понижением значения компонент Cb' и Cr' в формате 4:2:0 или 4:2:2 сначала дискретизируются с повышением в формат 4:4:4. Повышающая дискретизация на этапе S20 может осуществляться согласно известным методам повышающей дискретизации. Например, повышающая дискретизация может осуществляться с использованием билинейных или удлиненных фильтров. Пример метода повышающей дискретизации, который можно использовать согласно вариантам осуществления, раскрыт в разделе B.1.5.6 Chroma upsampling from 4:2:0 to 4:4:4 (Y'CbCr domain) в документе [4].
Затем эти два дискретизированные с повышением значения компонент Cb' и Cr' передаются совместно с значением-кандидатом компоненты Y' во второе цветовое преобразование для получения нелинейного цвета R'G'B', например, цветовое преобразование:
Для цветового пространства Rec.709 a13=1,57480, a22=0,18732, a23=0,46812, a32=1,85560, и для цветового пространства BT.2020 a13=1,47460, a22=0,16455, a23=0,57135, a32=1,88140.
В целом, R', G' и B' могут принимать значения в интервале [0, 1]. Соответственно, второе цветовое преобразование также может включать в себя операцию ограничения или отсечки, например, , для компоненты R', где clip(x, a, b) равно a, если x<a и равно b, если x>b, и в противном случае равно x.
Затем этот цвет R'G'B' передается второй передаточной функции, например, передаточной функции [1], для получения линейного цвета RGB. Затем этот цвет RGB преобразуется из цветового пространства RGB в цветовое пространство XYZ с использованием третьего цветового преобразования, например, цветового преобразования:
Затем значение линейной яркостной компоненты Y, полученное из третьего цветового преобразования, сравнивается с исходным значением линейной яркостной компоненты YO пикселя на этапе S2.
Согласно варианту осуществления этап S2 на фиг. 1 содержит выбор значения-кандидата нелинейной яркостной компоненты во втором цветовом пространстве, которое уменьшает разность между исходным значением линейной яркостной компоненты в третьем цветовом пространстве и значением линейной яркостной компоненты в третьем цветовом пространстве.
Таким образом, этап S2, предпочтительно содержит выбор значения-кандидата нелинейной яркостной компоненты во втором цветовом пространстве, которое приводит к, по меньшей мере, уменьшению разности между исходным значением линейной яркостной компоненты и значением линейной яркостной компоненты, полученным на этапе S23. В конкретном варианте осуществления этап S2 содержит выбор значения-кандидата нелинейной яркостной компоненты во втором цветовом пространстве, которое минимизирует разность между исходным значением яркостной компоненты и значением линейной яркостной компоненты в третьем цветовом пространстве.
Эту разность, как упомянуто выше, можно представить как |YO-Y| или (YO-Y)2, где Y получено на этапе S23 на фиг. 3.
В альтернативном, но родственном варианте осуществления этап S2 предусматривает выбор значения-кандидата нелинейной яркостной компоненты во втором цветовом пространстве, которое уменьшает или, предпочтительно, минимизирует разность между функцией исходного значения яркостной компоненты в третьем цветовом пространстве и функцией значения линейной яркостной компоненты в третьем цветовом пространстве, т.е. выбор значения-кандидата компоненты Y', которое минимизирует разность |k(YO)- k(Y)| или (k(YO)- k(Y))2.
Согласно варианту осуществления этапы S21 - S23 на фиг. 3 осуществляются для разных значений-кандидатов нелинейной яркостной компоненты во втором цветовом пространстве, что схематически проиллюстрировано линией L2. В таком случае, этап S2, предпочтительно, содержит выбор значения-кандидата нелинейной яркостной компоненты среди разных значений-кандидатов нелинейной яркостной компоненты во втором цветовом пространстве, которое приводит к наименьшей разности между исходным значением линейной яркостной компоненты в третьем цветовом пространстве и значением линейной яркостной компоненты в третьем цветовом пространстве или наименьшей разности между функцией исходного значения линейной яркостной компоненты в третьем цветовом пространстве и функцией значения линейной яркостной компоненты в третьем цветовом пространстве.
Это означает, что цикл из этапов S21 - S23 осуществляются несколько раз и с использованием разных значений-кандидатов компоненты Y' на этапе S21. Затем значение-кандидат компоненты Y', дающее наименьшую разность между YO и Y или между k(YO) и k(Y) выбирается и используется совместно с дискретизированными с понижением значениями компонент Cb' и Cr' в качестве цветового представления пикселя.
Нижеследующие варианты осуществления описаны более подробно в отношении разности между исходным значением линейной яркостной компоненты в третьем цветовом пространстве и значением линейной яркостной компоненты в третьем цветовом пространстве. Эти варианты осуществления также охватывают разность между функцией исходного значения линейной яркостной компоненты в третьем цветовом пространстве и функцией значения линейной яркостной компоненты в третьем цветовом пространстве. Функция, как упомянуто выше, предпочтительно, является обратной к передаточной функции, например, обратна передаточной функции [1].
Выбор оптимального значения-кандидата компоненты Y' среди множественных значений-кандидатов компоненты Y' может осуществляться согласно различным вариантам осуществления, описанным далее.
Первый вариант осуществления предусматривает осуществление двоичного поиска. Следовательно, в этом варианте осуществления способ содержит осуществление двоичного поиска для выбора значения-кандидата нелинейной яркостной компоненты во втором цветовом пространстве, которое минимизирует разность между исходным значением линейной яркостной компоненты в третьем цветовом пространстве и значением линейной яркостной компоненты в третьем цветовом пространстве.
Двоичный поиск является эффективным методом, который можно использовать для отыскания оптимального значения-кандидата нелинейной яркостной компоненты. В целом, алгоритм двоичного поиска начинается со сравнения исходного значения яркостной компоненты в третьем цветовом пространстве со значением линейной яркостной компоненты в третьем цветовом пространстве, полученным с использованием среднего элемента сортированного массива возможных значений-кандидатов нелинейной яркостной компоненты во втором цветовом пространстве. Если значение линейной яркостной компоненты в третьем цветовом пространстве равно исходному значению яркостной компоненты в третьем цветовом пространстве или отличается от исходного значения яркостной компоненты в третьем цветовом пространстве не более чем на заданную величину, то возвращается позиция среднего элемента, и поиск заканчивается. Если значение линейной яркостной компоненты больше исходного значения линейной яркостной компоненты, то поиск продолжается в нижней половине массива; или если значение линейной яркостной компоненты меньше исходного значение линейной яркостной компоненты, то поиск продолжается в верхней половине массива. Этот процесс продолжается, исключая половину элементов и сравнивая результирующее значение линейной яркостной компоненты с исходным значением линейной яркостной компоненты, пока разность между ними не станет равна нулю, или пока не будет перебран весь массив, т.е. пока не будут исключены все элементы кроме одного. Для этого гарантированно требуется только log2(N) шагов, где N - количество возможных значений-кандидатов нелинейной яркостной компоненты в массиве. Например, предположим, что значения-кандидаты нелинейной яркостной компоненты можно выбрать из массива [0, 1023]. Тогда N=1024 и log2(1024)=10.
Согласно варианту осуществления двоичный поиск осуществляется путем осуществления этапов S21 - S23 на фиг. 3 для значения-кандидата нелинейной яркостной компоненты во втором цветовом пространстве в середине интервала поиска. Затем способ переходит к этапам, проиллюстрированным на фиг. 4. Нижеследующий этап S25 содержит выбор значения-кандидата нелинейной яркостной компоненты в середине интервала поиска, если разность между исходным значением яркостной компоненты в третьем цветовом пространстве и значением линейной яркостной компоненты в третьем цветовом пространстве равна нулю, что предпочтительно вычислять на этапе S24. В противном случае, т.е. если разность, вычисленная на этапе S24, не равна нулю, способ переходит к этапу S26. Этот этап S26 содержит выбор интервала поиска, имеющего вдвое меньший размер по сравнению с интервалом поиска, используемым выше и заканчивающимся на значении-кандидате нелинейной яркостной компоненты, используемой выше, если значение линейной яркостной компоненты в третьем цветовом пространстве больше, чем исходное значение линейной яркостной компоненты в третьем цветовом пространстве, или выбор интервала поиска, имеющего вдвое меньший размер по сравнению с интервалом поиска, используемым выше и начинающимся на значении-кандидате нелинейной яркостной компоненты, используемом выше, если значение линейной яркостной компоненты в третьем цветовом пространстве меньше, чем исходное значение линейной яркостной компоненты в третьем цветовом пространстве.
Затем этапы, предусматривающие цикл L2, т.е. этапы S21-S23 и S24-S26, повторяются, пока разность между исходным значением линейной яркостной компоненты в третьем цветовом пространстве и значением линейной яркостной компоненты в третьем цветовом пространстве не станет равной нулю, не исчезнет возможность уменьшить интервал поиска в два раза, пока цикл не будет повторен заданное число раз, или пока интервал поиска не достигнет заранее заданного размера интервала, т.е. интервал поиска меньше или равен заранее заданному размеру интервала.
Выбор интервала поиска на этапе S26, в целом, предусматривает выбор интервала поиска, имеющего приблизительно вдвое меньший размер по сравнению с интервалом поиска, используемым выше. Например, если интервал поиска содержит значения 100, 101, 102, 103, то можно выбирать либо 101, либо 102, в качестве ʺсреднего значенияʺ, приводящее к ʺуполовиненномуʺ интервалу поиска [100, 101] (истинное уполовинивание интервала поиска) или [101, 103] (приближенное уполовинивание интервала поиска) или ʺуполовиненныйʺ интервал поиска [100, 102] (приближенное уполовинивание интервала поиска) или [102, 103] (истинное уполовинивание интервала поиска).
Другой вариант осуществления предусматривает выбор значения нелинейной яркостной компоненты в качестве задачи оптимизации и минимизирует ошибку E=(YO-Y)2 или E=|YO-Y| относительно Y'. Это может осуществляться, например, посредством градиентного спуска, посредством вычисления градиента E относительно Y', т.е. dE/dY', и обновления Y' на малую величину в направлении, противоположном градиенту, т.е. Y'n+1=Y'n-α(dE/dY'), где α - малая постоянная.
Градиентный спуск может быть медленным, поэтому более быстрый путь может представлять собой алгоритм оптимизации второго порядка, который вычисляет или аппроксимирует производные второго порядка d2E/dY'2. Примером такого алгоритма является метод Гаусса-Ньютона.
Дополнительный вариант осуществления предусматривает использование поисковой таблицы (LUT) при выборе значения нелинейной яркостной компоненты. Такая LUT может, например, содержать наилучшее значение компоненты Y' для каждой возможной комбинации значений компонент Cb', Cr' и YO. Предположим, например, что компоненты Cb' и Cr' квантуются до 10 битов, и что компонента YO также квантуется до 10 битов. Тогда LUT будет содержать 210×210×210 разных значений компоненты Y'. Это эквивалентно 230 значений компоненты Y'. Если каждое такое значение компоненты Y' составляет два байта, LUT будет иметь размер 231 байтов или 2 ГБ.
Также можно использовать LUT меньшего размера. Например, можно квантовать компоненты YO, Cb' и Cr' до меньшего размера, например 6 битов. Тогда LUT будет составлять 218 значений компоненты Y', или 219 байтов, что равно 512 кБ.
Компонента YO является линейной. Соответственно, может быть неэффективно просто квантовать ее. Вместо этого может быть лучше использовать функцию YO совместно с Cb' и Cr' в качестве входного сигнала в LUT для получения оптимальной компоненты Y'. Функция, предпочтительно, возвращает нелинейное представление компоненты YO и может быть, например, обратной передаточной функцией (TF-1(.)), например, обратной передаточной функции [1]. Затем оптимальное значение компоненты Y' выводится из LUT в виде Y'=LUT(Cb',Cr',TF-1(YO)).
На фиг. 5 показана блок-схема операций, демонстрирующая вариант осуществления этапа S2 на фиг. 1 при использовании LUT. Способ продолжается от этапа S1 на фиг. 1. Нижеследующий этап S30 содержит повышающую дискретизацию дискретизированного с понижением первого значения нелинейной цветностной компоненты во втором цветовом пространстве и дискретизированного с понижением второго значения нелинейной цветностной компоненты во втором цветовом пространстве для получения дискретизированного с повышением первого значения нелинейной цветностной компоненты во втором цветовом пространстве и дискретизированного с повышением второго значения нелинейной цветностной компоненты во втором цветовом пространстве.
Нижеследующий этап S32 содержит извлечение значения нелинейной яркостной компоненты во втором цветовом пространстве из поисковой таблицы с использованием исходного значения линейной яркостной компоненты в третьем цветовом пространстве или ее нелинейной версии, дискретизированного с повышением первого значения нелинейной цветностной компоненты во втором цветовом пространстве и дискретизированного с повышением второго значения нелинейной цветностной компоненты во втором цветовом пространстве, или их квантованных версий, в качестве входного сигнала в поисковую таблицу.
На фиг. 6 показана блок-схема операций, демонстрирующая дополнительный, необязательный этап способа, показанного на фиг. 5. Способ продолжается от этапа S30 на фиг. 5. Нижеследующий этап S31 содержит применение первой обратной передаточной функции к исходному значению линейной яркостной компоненты в третьем цветовом пространстве для получения исходного значения нелинейной яркостной компоненты в третьем цветовом пространстве. Затем способ переходит к этапу S32 на фиг. 5. В этом варианте осуществления этап S32 содержит извлечение значения нелинейной компоненты во втором цветовом пространстве из поисковой таблицы с использованием исходного значения нелинейной яркостной компоненты в третьем цветовом пространстве, дискретизированного с повышением первого значения нелинейной цветностной компоненты во втором цветовом пространстве и дискретизированного с повышением второго значения нелинейной цветностной компоненты во втором цветовом пространстве, или их квантованных версий, в качестве входного сигнала в поисковую таблицу.
Согласно варианту осуществления поисковая таблица содержит, для каждой комбинации исходного значения линейной яркостной компоненты в третьем цветовом пространстве, или ее нелинейной версии, дискретизированного с повышением первого значения нелинейной цветностной компоненты во втором цветовом пространстве и дискретизированного с повышением второго значения нелинейной цветностной компоненты во втором цветовом пространстве, или их квантованных версий, оптимальное значение нелинейной яркостной компоненты во втором цветовом пространстве, которое минимизирует разность между исходным значением линейной яркостной компоненты в третьем цветовом пространстве и значением линейной яркостной компоненты в третьем цветовом пространстве, определенное на основании оптимального значения нелинейной яркостной компоненты во втором цветовом пространстве, дискретизированного с понижением первого значения нелинейной цветностной компоненты во втором цветовом пространстве и дискретизированного с понижением второго значения нелинейной цветностной компоненты во втором цветовом пространстве.
Повышающая дискретизация значений нелинейной цветностной компоненты во втором цветовом пространстве, осуществляемая на этапе S20 на фиг. 3 и этапе S5 на фиг. 5, предпочтительно, дискретизирует с повышением значения нелинейной цветностной компоненты до того же количества выборок, что и значение нелинейной яркостной компоненты во втором пространстве. Таким образом, повышающая дискретизация, осуществляемая на этих этапах, предпочтительно приводит к значениям нелинейной цветностной компоненты, имеющим то же количество выборок, что и до применения любой понижающей дискретизации, например, на этапе S12 на фиг. 2. Это означает, что до понижающей дискретизации и после повышающей дискретизации все компоненты Y', Cb' и Cr' содержат одно и то же количество выборок, например, в формате 4:4:4. После понижающей дискретизации компонента Y' содержит больше выборок по сравнению с компонентами Cb' и Cr', которые, предпочтительно, содержат одинаковое количество выборок, например, в формате 4:2:0 или 4:2:2.
Пиксель в картинке имеет значение нелинейной яркостной компоненты во втором цветовом пространстве, предпочтительно выведенное как описано здесь. Значения нелинейной цветностной компоненты во втором цветовом пространстве, связанные с пикселем и полученные после повышающей дискретизации, можно генерировать на основании соответствующих дискретизированных с понижением первого и второго значения нелинейной цветностной компоненты во втором цветовом пространстве или на основании множественных дискретизированных с понижением первого и второго значений нелинейной цветностной компоненты во втором цветовом пространстве, в зависимости от метода повышающей дискретизации. Например, если используется билинейная повышающая дискретизация, то четыре дискретизированных с понижением значения компоненты Cb' и четыре дискретизированных с понижением значения компоненты Cr' будут влиять на пиксель и дискретизированные с повышением значения компонент Cb' и Cr'. Соответственно, если используется повышающая дискретизация ближайшего соседа, то обычно единственное дискретизированное с понижением значение компоненты Cb' и единственное дискретизированное с понижением значение компоненты Cr' используются для вывода дискретизированных с повышением значений компонент Cb' и Cr' для пикселя.
Предобработку пикселей согласно вариантам осуществления можно использовать в различных применениях, в частности, различных применениях для видео, в том числе, кодировании видеосигнала.
Таким образом, вариант осуществления относится к способу кодирования пикселя в картинке. Способ содержит предобработку пикселя согласно любому из раскрытых здесь вариантов осуществления для вывода значения нелинейной яркостной компоненты во втором цветовом пространстве для пикселя. Способ также содержит, на этапе S3, как показано на фиг. 7, кодирование значения нелинейной яркостной компоненты, дискретизированного с понижением первого значения нелинейной цветностной компоненты во втором цветовом пространстве и дискретизированного с понижением второго значения нелинейной цветностной компоненты во втором цветовом пространстве.
Таким образом, предобработку пикселей можно использовать как дополнительную обработку при кодировании пикселей картинок, например, совместно с кодированием картинок видеопоследовательности.
Затем выходной сигнал предобработки, т.е. Y'Cb'Cr', например, в формате 4:2:0 или 4:2:2, вводится в видеокодер, например, видеокодер H.264, High Efficiency Video Encoder (HEVC) или видеокодер H.265 или другой видеокодер. Кодирование, осуществляемое видеокодером, может включать в себя этапы традиционного кодирования видеосигнала, например, внешнее прогнозирование, внутреннее прогнозирование, определение режима, преобразование остатка, квантование и кодирование преобразованных и квантованных остатков, например, в энтропийном кодере, например, кодер контекстно-адаптивного двоичного арифметического кодирования (CABAC).
Преимущество предобработки вариантов осуществления состоит в том, что его можно применять к любому процессу кодирования видео или картинок без необходимости в осуществлении каких-либо регулировок в кодере видео или картинки или каких-либо регулировок в соответствующем декодере видео или картинки. Напротив, предобработку можно рассматривать как дополнительную обработку, т.е. предобработку, которая применяется к входным картинкам, вместо традиционного преобразования исходных цветов, например, цветов ROGOBO, пикселей на картинках, подлежащих кодированию в цвета Y'Cb'Cr', которое предусматривает применение передаточной функции, применение цветового преобразования и понижающей дискретизации цветности.
Предобработку пикселей на картинках, например, видеопоследовательности, также можно использовать в других вариантах применения помимо кодирования видеосигнала. Например, варианты осуществления можно использовать как предобработку, которая применяется до переноса видео по интерфейсу, например, мультимедийному интерфейсу высокой четкости (HDMI), DisplayPort или Thunderbolt. Например, в HDMI 2.0a для переноса разрешение 4K на 50 или 60 кадрах в секунду (fps) используется только понижающая дискретизация YCbCr 4:2:0 или 4:2:2. Если видеоданные имеют полный формат дискретизации цветности (4:4:4), то этап предобработки понижающей дискретизации нужно применять до отправки видеоданных по кабелю HDMI. Затем видеоданные 4:2:0 или 4:2:2 переносятся по интерфейсу без дополнительного сжатия. Благодаря применению предобработки вариантов осуществления качество видео повышается по сравнению с традиционной понижающей дискретизации 4:2:0 или 4:2:2 без какой-либо коррекции компоненты Y' или отыскания оптимальной компоненты Y'.
Типичная цепочка сжатия описана ниже. Входящий пиксель линейного светового сигнала (R, G, B) в пределах, например, от 0 до 10000 сначала подается на передаточную функцию, в результате чего, получается новый пиксель (R', G', B') от 0 до 1. После этого пиксель подвергается цветовому преобразованию, дающему (Y', Cb', Cr'). Затем компоненты Cb' и Cr' подвергаются понижающей дискретизации до 4:2:0.
После снятия сжатия, последовательности 4:2:0 снова подвергаются повышающей дискретизации до 4:4:4, обратное преобразование цветового пространства дает (R', G', B'), и, наконец, обратная передаточная функция возвращает пиксель линейного светового сигнала (R, G, B), который может выводиться на монитор.
Проблема состоит в том, что компоненты Cb' и Cr' интерполируются, тогда как компонента Y' - нет. Следовательно, может существовать резкий сдвиг компоненты Y' в пикселе, но компоненты Cb' и Cr' не могут следовать, поскольку они интерполируются. Для некоторых цветов, в особенности, насыщенных цветов, получается пиксель совершено неправильной интенсивности, и это отчетливо наблюдается.
В этих случаях предлагается изменять компоненту Y' таким образом, чтобы кортеж (Y', Cb', Cr'), генерируемый из интерполированных цветов, не сильно отличался от исходного. В идеале различие должно быть совсем незаметным.
В основном, исходя из того, что компоненты Cb' и Cr' ложны, компонента Y' также делается ложной, благодаря чему, (Y', Cb', Cr') приближаются к истинным цветам. Другими словами, внесение ошибки в компоненту Y' позволяет компенсировать ошибки, уже существующие в компонентах Cb' и Cr', для приближения к реальному пикселю. Определить, что компоненты Cb' и Cr' являются ложными, можно путем сравнения (Cb' - Cb'444) и (Cr' - Cr'444) с порогом, например, сравнивая Cb', полученную первой понижающей дискретизацией цветности (4:2:0) с последующей повышающей дискретизацией (до 4:4:4), с исходными значениями Cb'444 и Cr'444 до понижающей дискретизации.
Скорректированную компоненту Y' можно выводить согласно различным вариантам осуществления, описанным ниже. Следовательно, скорректированная компонента Y' и компоненты Cb' и Cr' затем сжимаются, в результате чего, изображение или видео воспринимается с более высоким качеством.
Изменяя компоненту Y', т.е. выводя скорректированную компоненту Y', можно компенсировать результирующее значение яркости. Глаз гораздо более чувствителен к изменениям яркости, чем к изменениям цветности, поэтому, прежде всего, нужно удостовериться, что яркость не слишком отклоняется от исходного значения.
Как описано выше, нелинейная яркость Y' регулируется до сжатия таким образом, чтобы линейная яркость Y пикселя приближалась к своему правильному значению. Это дополнительно описано ниже.
Предположим, картинка, где левая часть экрана, например, пиксели с 0 по 96, имеет значение (2142, 0, 138), и правая часть, например, пиксели с 97 по 1920, имеет значение (2142, 4, 138). Традиционная цепочка обработки дает результаты, приведенные в таблице 1.
Таблица 1 - данные ʺнаихудшегоʺ цвета для понижающей дискретизации 4:2:0
4
138
3,9750
138,2966
2,4265
263,6030
* Указывает значения, полученные посредством повышающей дискретизации дискретизированного с понижением цвета в формате 4:2:0
Здесь значение Y является линейной яркостью. Таким образом, значение Y источника является значением, которое получается преобразованием исходного линейного светового сигнала RGB (2142, 4, 138) в XYZ. Например, если RGB представлен в цветовом пространстве BT.2020, его можно преобразовать в XYZ с использованием
X=0,636958×R+0,144617×G+0,168881×B
Y=0,262700×R+0,677998×G+0,059302×B
Z=0,000000×R+0,028073×G+1,060985×B
Эта компонента Y является яркостью, к которой чувствителен глаз. Ее не следует путать с вышеупомянутой компонентой Y', которая нелинейно зависит от RGB.
Как явствует из таблицы 1, значение Y является грубо ошибочным для пикселя 97 при использовании понижающей дискретизации 4:2:0 RGB и повышающей дискретизации. Заметим, что в этом примере не происходит никакого сжатия, только квантование до 10 битов, и, тем не менее, значение Y имеет относительную ошибку 85%. Используя модель Бартена, которая прогнозирует, насколько большие различия может видеть глаз, можно понять, что эта ошибка составляет 195 шагов Бартена, или 195 раз больше едва заметной.
В таблице 2 показано видеть что происходит.
Таблица 2 - пиксель 97 очень отличается до и после понижающей дискретизации цвета
10 битов
0
138
0
138
0
138
4
138
4
138
4
138
10 битов
650
867
641
855
575
771
650
867
650
866
641
855
607
812
575
771
571
766
0
138,2278
0
138,2278
0,0018
114,8210
2,4265
263,6030
3,9750
138,2966
4,2102
127,3837
Если посмотреть на компоненту Cb', она имеет значение 607, находящееся примерно посередине между 650, до нарушения непрерывности, т.е. пикселя 94, и 575, после нарушения непрерывности, но правильное значение равно 575. Проблема состоит в том, что ошибка влияет не только на цветность, но и яркость пикселя, которая становится слишком большой. Наша идея состоит в том, чтобы компенсировать это путем изменения компоненты Y' пикселя. Согласно вариантам осуществления, мы не допускаем значение компоненты Y' 422 для пикселя, но вместо этого выбираем значение 363. В таблице 3 показан результат.
Таблица 3 - пиксель 97 значительно более аналогичен до и после понижающей дискретизации цвета
10 битов
0
138
0
138
0
138
4
138
4
138
4
138
650
867
641
855
575
771
650
867
650
866
641
855
607
812
575
771
571
766
0
138,2278
0
138,2278
0,0018
114,8210
0,7008
138,0825
3,9750
138,2966
4,2102
127,3837
Теперь можно видеть, что новый цвет значительно более аналогичен его правильному значению. Зеленая компонента, ушла в неправильном направлении, но только на 1,72 кд/м2, но, в то же время, красная компонента почти в два раза меньше ее правильного значения, перемещение 1849 кд/м2, и синяя компонента изменилась аналогичным образом. В таблице 4 показано, что происходит с яркостью.
Таблица 4 - данные ʺнаихудшегоʺ цвета для понижающей дискретизации 4:2:0 после коррекции
4
138
3,9750
138,2966
0,7008
138,0825
* Указывает значения, полученные посредством повышающей дискретизации дискретизированного с понижением цвета в формате 4:2:0
Как показано в таблице 4, получается гораздо меньшая ошибка яркости Y. Относительная ошибка равна 0,2465%, что эквивалентно 0,5602 шагам Бартена, т.е. невидима.
Теперь ошибка касается цветности, но с учетом того, что зрительная система человека менее чувствительна к ошибкам цветности, чем яркости, это не составляет проблемы. Кроме того, так или иначе, возникает ошибка цветности после понижающей дискретизации. Также, можно изменять компоненту Y' для получения хорошего компромисса между ошибкой яркости и ошибкой цветности.
Кроме того, изменение цветности может не быть сколько-нибудь заметным - единственное различие состоит в том, что зеленая компонента равна 0,7008 кд/м2 вместо 3,9750 кд/м2, но, наиболее вероятно, уменьшается за счет красной компоненты, так или иначе, поскольку она равна 2145, почти в тысячу раз больше. Другой способ увидеть это состоит в том, что отношение между зеленой и красной компонентами становится 0,7008/2145,11=0,000327 вместо правильного 3,9750/2142,6617=0,001855. Не очевидно, что человеческий глаз может увидеть этот незначительный сдвиг тона. Следовательно, мы согласовали ошибку яркости, которая в 200 раз больше едва заметной, с ошибкой цветности, которая настолько мала, что ее невозможно увидеть.
Приятно, что измененное значение Y' влияет только на отдельный пиксель. Следовательно, никакой пиксель не жертвуется за счет изменения компоненты Y'.
Согласно варианту осуществления значение Y' не оптимизируется в отношении конкретного значения Cb' и Cr'. Вместо этого, значение Y' выбирается таким образом, чтобы оно минимизировало ошибку яркости для нескольких разных значений Cb' и Cr' или для диапазона значений Cb' и Cr'. Это может осуществляться в сценариях, где способ повышающей дискретизации цветности неизвестен.
Один вариант состоит в осуществлении конкретного количества способов повышающей дискретизации цветности с последующим выбором значения Y', которое минимизирует среднеквадратическую ошибку для разных способов повышающей дискретизации. В другой версии, значение Y' выбирается таким образом, что худший случай, т.е. наибольшая ошибка, минимизируется.
Другой вариант состоит в использовании двух или более соседних значений Cb' и Cr' и использовании их непосредственно для вычисления диапазона возможных значений Cb' и Cr'.
Существует несколько способов отыскания наилучшего значения Y', и мы рассмотрим некоторые из них. Один способ показан на фиг. 8.
Сначала нужно найти значение YO для оптимизации. Исходный пиксель RO, GO, BO преобразуется из RGB в XYZ, как упомянуто выше. Это дает XO, YO, ZO, из которых нам нужно только YO. Фактически, не требуется вычислять XO и ZO. Эта YO является исходной яркостью в линейном световом сигнале, и является тем, к чему чувствителен глаз. В нашем иллюстративном случае YO равна 573,5991, см. таблицу 1.
Затем используется существующее значение Y', совместно со значениями Cb' и Cr'. В вышеописанном случае, подается (422, 607, 812), см. таблицу 2. Затем осуществляется цветовое преобразование из Y'Cb'Cr' в R'G'B'. Это делается с использованием
R=Y'+1,47460×Cr'
G=Y'-0,16455×Cb'-0,57135×Cr'
B=Y'+1,88140×Cb'.
Затем вызывается передаточная функция. В этом случае используется PQ-EOTF, которую можно реализовать с использованием следующим кодом Matlab, например:
функция L=pq_eotf(c)
%%%
%%% c принимает значение от 0,0 до 1,0
%%% L - выходная яркость в нитах
%%%
c1=0,8359375;
c2=18,8515625;
c3=18,6875;
n=0,1593017578125;
m=78,84375;
c=max(c,0);
c=min(c,1);
L=10000*((max(c.^(1/m)-c1, 0)./(c2 - c3*c.^(1/m))).^ (1/n));
Результатом является цвет (R, G, B) в линейном световом сигнале. Теперь это преобразуется в XYZ, как упомянуто выше, или, в действительности, нужно вычислять только Y. Это Y является линейной яркостью пикселя, и эту яркость нужно максимально приблизить к YO. В нашем иллюстративном случае, Y начинается со значения 1066,4311, см. таблицу 1.
Теперь сравним Y и YO. Если Y больше YO, мы уменьшаем значение Y' от 422 до несколько меньшего. Например, можно сделать один шаг и проверить 421. Затем повторно осуществляется все вычисление, с генерацией нового значения Y. Оно снова сравнивается с YO, и если оно все еще слишком велико, Y' дополнительно уменьшается. Наконец, достигается 363, и теперь результирующее значение Y, т.е. 572,1852 меньше, чем YO, т.е. 573,5991. На этом процесс останавливается.
Согласно вышеприведенного варианта осуществления это занимает 422-363=59 итераций для достижения наилучшего значения. Это может дорого стоить.
Поэтому вариант осуществления предусматривает двоичный поиск для отыскания наилучшего значения Y'. В необязательном порядке, сначала проверяется максимальное значение Y', например 1023. Затем, в необязательном порядке, проверяется минимальное значение Y', например 0. Затем проверяется значение в середине, например 512. Если значение Y, полученное при Y'=512, больше, чем YO, поиск производится в интервале [0, 512]. Если значение Y меньше, чем YO, поиск производится в интервале [512, 1023]. После этого осуществляется вычисление нового значения в середине выбранного интервала, и процесс продолжается, пока интервал не будет содержать единственную величину, например, [363, 363] или [363, 364]. Для этого гарантированно требуется только log2(N) шагов, где N - количество возможных значений, которое в этом случае равно 1024. Следовательно, достаточно только log2(1024)=10 шагов.
Еще один путь вычисления наилучшего значения, показанный на фиг. 8, состоит в оптимизации и минимизации ошибки E=(Y-YO)2 относительно Y'. Это может осуществляться посредством градиентного спуска, посредством вычисления градиента E относительно Y', т.е. dE/dY', и обновления Y' на малую величину в направлении, противоположном градиенту: Y'n+1=Y'n-α×dE/dY', где α - малая постоянная.
Градиентный спуск может быть медленным, поэтому более быстрый путь может представлять собой алгоритм оптимизации второго порядка, который вычисляет или аппроксимирует производные второго порядка d2E/dY'2. Примером такого алгоритма является метод Гаусса-Ньютона.
В другом варианте осуществления для вычисления Y' применяется нижеследующий процесс:
- X, YO и Z преобразуются посредством преобразования XYZ в RGB для генерации новых значений R1, G1 и B1
- R1, G1 и B1 преобразуются посредством обратной передаточной функции для генерации R1', G1' и B1'.
- R1', G1' и B1' преобразуются посредством обратного цветового преобразования для генерации Y'
Согласно варианту осуществления корректируются значения Y' всех пикселей в изображении или картинке. В альтернативном варианте осуществления корректируются только пиксели, которые могут иметь наблюдаемые ошибки яркости. Это могут быть пиксели, находящиеся вблизи границы цветовой гаммы, но не пиксели, расположенные ближе к середине треугольника цветовой гаммы.
Согласно нижней строке на фиг. 9, первый этап обработки выражается в виде
R'=Y'+1,47460×Cr'
G'=Y'-0,16455×Cb'-0,57135×Cr'
B'=Y'+1,88140×Cb'.
Но поскольку Cr' и Cb' являются фиксированными, они интерполируются, а не отправляются, все справа от Y' можно заменить постоянной
R'=Y'+c1
G'=Y'+c2
B'=Y'+c3
На следующем этапе используется передаточная функция цветовых компонентов:
R=TF(R')
G=TF(G')
B=TF(B'),
которая приобретает вид
R=TF(Y'+c1)
G=TF(Y'+c2)
B=TF(Y'+c3)
На последнем этапе обработки осуществляется из RGB в XYZ. Это делается с использованием
X=0,636958×R+0,144617×G+0,168881×B
Y=0,262700×R+0,677998×G+0,059302×B
Z=0,000000×R+0,028073×G+1,060985×B,
из которых представляет интерес только компонента Y, поэтому используется
Y=0,262700×R+0,677998×G+0,059302×B.
Вставка предыдущих уравнений в это дает
Y=0,262700×TF(Y'+c1)+0,677998×TF(Y'+c2)+0,059302×TF(Y'+c3),
или, сокращенно,
Y=f(Y')
Нужно, чтобы выходное значение Y этого уравнения совпадало с исходным YO. Поскольку Y зависит от Y' в трех разных местах по нелинейному закону, инверсия функции для получения Y'=f-1(Y) выглядит сложной задачей.
Однако можно линеаризовать нелинейную TF(x) ~ kx+m. Делая это в трех разных местах, получаем
Y~k1×Y'+m1+k2×Y'+m2+k3×Y'+m3,
что эквивалентно
Y~(k1+k2+k3)×Y'+(m1+m2+m3).
Это можно инвертировать в
Y'~Y'k=(YO- (m1+m2+m3))/(k1+k2+k3).
Таким образом, возможно, что Y'k даст значение Yk, более близкое к YO, чем прежде. Функцию можно снова линеаризовать в этой новой точке Y'k с получением нового значения Y'(k+1) и т.д.
Следует отметить, что для всех этих итерационных методов не требуется находить абсолютно наилучшее 10-битовое значение, порождающее значение Y, ближайшее к значению YO. Может быть достаточно использовать лишь несколько итераций или даже одну итерацию. Наиболее вероятно, что скорректированное значение Y, полученное в результате единственной итерации будет гораздо лучше, чем вовсе не скорректированное.
Некоторые линеаризации также можно осуществлять заранее. Как упомянуто выше, самые серьезные проблемы возникают на границе гаммы. Следовательно, можно иметь одну линеаризацию для линии, соединяющей красный основной цвет с зеленым основным цветом, одну линеаризацию для линии, соединяющей красный основной цвет с синим основным цветом, и одну линеаризацию для линии, соединяющей зеленый основной цвет с синим основным цветом. Альтернативно, можно иметь линеаризации, одна из которых будет использоваться вблизи красного основного цвета, другая - вблизи зеленого основного цвета, и третья - вблизи синего основного цвета. Кроме того, можно иметь несколько линеаризаций по линии гаммы, как показано на фиг. 9.
Таким образом, в разных областях могут существовать разные линеаризации. Если цвет находится внутри окружности, выполненной сплошной линией, он близок к зеленому основному цвету, и можно использовать одну линеаризацию. При перемещении в сторону красного основного цвета, т.е. внутрь штрихового прямоугольника, можно использовать вторую линеаризацию. При нахождении вблизи граница гаммы и примерно посередине между красным и зеленым основными цветами, т.е. внутри пунктирного прямоугольника, можно использовать третью линеаризацию. При нахождении еще ближе к красному основному цвету, т.е. внутри прямоугольника, выполненного сплошной линией, можно использовать четвертую линеаризацию. При нахождении внутри пунктирной окружности, т.е. вблизи красного основного цвета, можно использовать пятую линеаризацию. Также можно использовать такое же разбиение двух других линий в треугольнике. Наконец, область внутри треугольника, но не прямоугольника и не окружности, можно разбить на одну или более областей, каждая из которых будет иметь отдельную линеаризацию.
Другой способ состоит в создании поисковой таблицы (LUT). Как явствует из вышеизложенного, имея Cb', Cr' и искомое значение Y, можно найти наилучшее Y' с использованием любого из вышеупомянутых итерационных методов. Следовательно, можно создавать поисковую таблицу для каждой возможной комбинации Cb', Cr' и Y. Предположим, например, что Cb' и Cr' квантуются до 10 битов. Предположим, дополнительно, что Y также квантуется до 10 битов. В таком случае, в поисковой таблице должно быть 210×210×210 разных значений. Это эквивалентно 230 значений. Если каждое значение составляет два байта, это означает 231 байтов или 2 ГБ. Это много, но не невыполнимо, в особенности в будущем.
Особое внимание следует уделять квантованию Y. Поскольку Y полностью линейна, может быть неэффективно просто квантовать ее. Вместо этого, может быть лучше создавать Ynonlinear=TF(Y) и создавать LUT для Y с использованием Cb', Cr' и Ynonlinear в качестве входных переменных. На основании Cb', Cr' и Y, сначала вычисляется Ynonlinear=TF(Y) и затем отыскивается Y'=LUT(Cb',Cr',Ynonlinear).
Также можно использовать LUT меньшего размера. Например, можно квантовать Y (или Ynonlinear), Cb' и Cr', например, до 6 битов. Тогда таблица будет иметь размер 2(6+6+6)=218 значений или 219 байтов, т.е. 512 кБ. Это приемлемый размер даже с точки зрения возможностей современного оборудования.
Можно также брать квантованные значения Cb', Cr' и Y, ближайшие к истинным значениям, и интерполировать их. В порядке примера, если реальное значение Cb' больше Cb', квантованной до 6 битов, но меньше Cb', квантованной до 6 битов,+1, нижеследующее может быть хорошим приближением:
Y'=(LUT(Cb'6bit,Cr'6bit,Y6bit)+(LUT(Cb'6bit+1,Cr'6bit,Y6bit))/2
Возможна также интерполяция между более чем двумя значениями.
Согласно варианту осуществления поисковая таблица используется для вывода значения Y'. В одной версии поисковая таблица содержит каждое возможное значение YO, Cb' и Cr'. Для 10-битового видео, которое даст 1024×1024×1024 элементов и в некоторых вариантах применения этот размер является приемлемым. В другой версии поисковая таблица (LUT) сокращается, например, путем округления одного или более из YO, Cb' и Cr', например, до 8 битов. Если используется сокращенная поисковая таблица, алгоритм может расширяться на этапе уточнения, который находит наилучшую Y', начиная с Y', извлеченной из LUT. Согласно версии, LUT используется только, когда значение Cb' и/или значение Cr' таково, что Y' может сильно отдаляться от YO, т.е. когда первоначально вычисленная Y' дает значение линейной Y, которые слишком отличается от YO, и, таким образом, размер LUT может существенно сокращаться, поскольку многие значения Cb' и Cr' не будут создавать никаких проблем.
Согласно варианту осуществления для вывода Y' используется функция YO, Cb' и Cr', например, линейная комбинация, полиномиальная функция, экспоненциальная функция, логарифмическая функция, тригонометрическая функция и т.д. Функция может задаваться таким образом, что для любого значения YO, Cb' и Cr' разность между Y и YO ниже некоторого порога или разность между выведенной Y' и оптимальной Y' ниже некоторого порога.
Согласно варианту осуществления для вывода Y' задано несколько разных функций YO, Cb' и Cr'. Выбор используемой функции опирается на значения YO, Cb' и Cr'.
Для каждого описанного здесь варианта осуществления возможен случай, когда способ вывода Y' применяется только, если сначала разность между Y' и TF(YO) превышает некоторый порог.
Согласно аспекту, способ обеспечивается, как показано на фиг. 10. Способ может осуществляться на кодере или при подготовке к обработке на кодере. Согласно способу, когда определено, что компоненты Cb' и/или Cr' включают в себя ошибки, скорректированная компонента Y' выводится для компенсации ошибок в компонентах Cb' и/или Cr'. Способ, в необязательном порядке, также содержат кодирование видео скорректированной компонентой Y'.
Другой аспект вариантов осуществления относится к устройству для предобработки пикселя в картинке. Устройство выполнено с возможностью получения исходного значения линейной яркостной компоненты пикселя в третьем цветовом пространстве, определенном на основании линейного цвета пикселя в первом цветовом пространстве. Устройство также выполнено с возможностью вывода значения нелинейной яркостной компоненты во втором цветовом пространстве для пикселя на основании первого значения нелинейной цветностной компоненты во втором цветовом пространстве, второго значения нелинейной цветностной компоненты во втором цветовом пространстве и исходного значения линейной яркостной компоненты в третьем цветовом пространстве.
Согласно варианту осуществления устройство выполнено с возможностью определения исходного значения линейной яркостной компоненты в третьем цветовом пространстве на основании линейного цвета в первом цветовом пространстве.
Согласно варианту осуществления устройство выполнено с возможностью вывода значения нелинейной яркостной компоненты во втором цветовом пространстве, которое минимизирует разность между исходным значением линейной яркостной компоненты в третьем цветовом пространстве и значением линейной яркостной компоненты в третьем цветовом пространстве, определенного на основании значения нелинейной яркостной компоненты во втором цветовом пространстве, первого значения нелинейной цветностной компоненты во втором цветовом пространстве и второго значения нелинейной цветностной компоненты во втором цветовом пространстве.
Согласно варианту осуществления устройство выполнено с возможностью вывода значения нелинейной яркостной компоненты во втором цветовом пространстве на основании дискретизированного с понижением первого значения нелинейной цветностной компоненты во втором цветовом пространстве, дискретизированного с понижением второго значения нелинейной цветностной компоненты во втором цветовом пространстве и исходного значения линейной яркостной компоненты в третьем цветовом пространстве.
Согласно варианту осуществления устройство выполнено с возможностью применения первой передаточной функции к исходному линейному цвету в первом цветовом пространстве для получения нелинейного цвета в первом цветовом пространстве. Устройство также выполнено с возможностью применения первого цветового преобразования к нелинейному цвету в первом цветовом пространстве для получения нелинейного цвета во втором цветовом пространстве. Нелинейный цвет во втором цветовом пространстве содержит начальное первое значение нелинейной цветностной компоненты и начальное второе значение нелинейной цветностной компоненты. Устройство дополнительно выполнено с возможностью осуществления понижающей дискретизации начального первого значения нелинейной цветностной компоненты во втором цветовом пространстве и начального второго значения нелинейной цветностной компоненты во втором цветовом пространстве для получения дискретизированного с понижением первого значения нелинейной цветностной компоненты во втором цветовом пространстве и дискретизированного с понижением второго значения нелинейной цветностной компоненты во втором цветовом пространстве.
Согласно варианту осуществления устройство выполнено с возможностью осуществления повышающей дискретизации дискретизированного с понижением первого значения нелинейной цветностной компоненты во втором цветовом пространстве и дискретизированного с понижением второго значения нелинейной цветностной компоненты во втором цветовом пространстве для получения дискретизированного с повышением первого значения нелинейной цветностной компоненты во втором цветовом пространстве и дискретизированного с повышением второго значения нелинейной цветностной компоненты во втором цветовом пространстве. Устройство также выполнено с возможностью применения второго цветового преобразования к значению-кандидату нелинейной яркостной компоненты во втором цветовом пространстве, дискретизированному с повышением первому значению нелинейной цветностной компоненты во втором цветовом пространстве и дискретизированному с повышением второму значению нелинейной цветностной компоненты во втором цветовом пространстве для получения нелинейного цвета в первом цветовом пространстве. Устройство дополнительно выполнено с возможностью применения второй передаточной функции к нелинейному цвету в первом цветовом пространстве для получения линейного цвета в первом цветовом пространстве. Устройство дополнительно выполнено с возможностью применения третьего цветового преобразования к линейному цвету в первом цветовом пространстве для получения значения линейной яркостной компоненты в третьем цветовом пространстве. Устройство также выполнено с возможностью вывода значения нелинейной яркостной компоненты на основании сравнения исходного значения линейной яркостной компоненты в третьем цветовом пространстве и значения линейной яркостной компоненты в третьем цветовом пространстве.
Согласно варианту осуществления устройство выполнено с возможностью выбора кандидатной нелинейной яркостной компоненты во втором цветовом пространстве, которая уменьшает, например, минимизирует, разность между исходной линейной яркостной компонентой в третьем цветовом пространстве и линейной яркостной компонентой в третьем цветовом пространстве.
Согласно варианту осуществления устройство выполнено с возможностью осуществления применения второго цветового преобразования к значению-кандидату нелинейной яркостной компоненты во втором цветовом пространстве, дискретизированному с повышением первому значению нелинейной цветностной компоненты во втором цветовом пространстве и дискретизированному с повышением второму значению нелинейной цветностной компоненты во втором цветовом пространстве, применения второй передаточной функции к нелинейному цвету в первом цветовом пространстве и применения третьего цветового преобразования к линейному цвету в первом цветовом пространстве для разных значений-кандидатов нелинейной яркостной компоненты во втором цветовом пространстве. Устройство также выполнено с возможностью выбора значения-кандидата нелинейной яркостной компоненты среди разных значений-кандидатов нелинейной яркостной компоненты во втором цветовом пространстве, которое приводит к наименьшей разности между исходным значением линейной яркостной компоненты в третьем цветовом пространстве и значением линейной яркостной компоненты в третьем цветовом пространстве.
Согласно варианту осуществления устройство выполнено с возможностью осуществления двоичного поиска для выбора значения-кандидата нелинейной яркостной компоненты во втором цветовом пространстве, которое минимизирует разность между исходным значением линейной яркостной компоненты в третьем цветовом пространстве и значением линейной яркостной компоненты в третьем цветовом пространстве.
Согласно варианту осуществления устройство выполнено с возможностью осуществления применения второго цветового преобразования к значению-кандидату нелинейной яркостной компоненты во втором цветовом пространстве, дискретизированному с повышением первому значению нелинейной цветностной компоненты во втором цветовом пространстве и дискретизированному с повышением второму значению нелинейной цветностной компоненты во втором цветовом пространстве, применения второй передаточной функции к нелинейному цвету в первом цветовом пространстве и применения третьего цветового преобразования к линейному цвету в первом цветовом пространстве для значения-кандидата нелинейной яркостной компоненты во втором цветовом пространстве в середине интервала поиска. Устройство также выполнено с возможностью выбора значения-кандидата нелинейной яркостной компоненты в середине интервала поиска, если разность между исходным значением линейной яркостной компоненты в третьем цветовом пространстве и значением линейной яркостной компоненты в третьем цветовом пространстве равна нулю. Устройство также выполнено с возможностью иначе выбирать интервал поиска, имеющий вдвое меньший размер по сравнению с интервалом поиска, используемым устройством, при осуществлении применений и заканчивающимся на значении-кандидате нелинейной яркостной компоненты, используемой устройством при осуществлении применений, если значение линейной яркостной компоненты в третьем цветовом пространстве больше, чем исходное значение линейной яркостной компоненты в третьем цветовом пространстве, или выбирать интервал поиска, имеющий вдвое меньший размер по сравнению с интервалом поиска, используемым устройством, при осуществлении применений и начиная с значения-кандидата нелинейной яркостной компоненты, используемом устройством при осуществлении применений, если значение линейной яркостной компоненты в третьем цветовом пространстве меньше, чем исходное значение линейной яркостной компоненты в третьем цветовом пространстве. Устройство дополнительно выполнено с возможностью повторного осуществления применений и выбора интервала поиска, пока разность между исходным значением линейной яркостной компоненты в третьем цветовом пространстве и значением линейной яркостной компоненты в третьем цветовом пространстве не станет равной нулю, или интервал поиска не будет содержать единственное значение-кандидат нелинейной яркостной компоненты во втором цветовом пространстве.
Согласно варианту осуществления устройство выполнено с возможностью осуществления повышающей дискретизации дискретизированного с понижением первого значения нелинейной цветностной компоненты во втором цветовом пространстве и дискретизированного с понижением второго значения нелинейной цветностной компоненты во втором цветовом пространстве для получения дискретизированного с повышением первого значения нелинейной цветностной компоненты во втором цветовом пространстве и дискретизированного с повышением второго значения нелинейной цветностной компоненты во втором цветовом пространстве. Устройство также выполнено с возможностью извлечения значения нелинейной яркостной компоненты во втором цветовом пространстве из поисковой таблицы с использованием исходного значения линейной яркостной компоненты в третьем цветовом пространстве или ее нелинейной версии, дискретизированного с повышением первого значения нелинейной цветностной компоненты во втором цветовом пространстве и дискретизированного с повышением второго значения нелинейной цветностной компоненты во втором цветовом пространстве, или их квантованных версий, в качестве входного сигнала в поисковую таблицу.
Согласно варианту осуществления устройство выполнено с возможностью применения первой передаточной функции к исходному значению линейной яркостной компоненты в третьем цветовом пространстве для получения исходного значения нелинейной яркостной компоненты в третьем цветовом пространстве. Устройство выполнено с возможностью извлечения значения нелинейной яркостной компоненты во втором цветовом пространстве из поисковой таблицы с использованием исходного значения нелинейной яркостной компоненты в третьем цветовом пространстве, дискретизированного с повышением первого значения нелинейной цветностной компоненты во втором цветовом пространстве и дискретизированного с повышением второго значения нелинейной цветностной компоненты во втором цветовом пространстве, или их квантованных версий, в качестве входного сигнала в поисковую таблицу.
Фиг. 11 демонстрирует конкретную аппаратную реализацию устройства 100 для предобработки картинки согласно варианту осуществления. Согласно варианту осуществления устройство 100 содержит блок 101 определения, выполненный с возможностью получения исходного значения линейной яркостной компоненты пикселя в третьем цветовом пространстве. Устройство 100 также содержит модуль 102 выведения, выполненный с возможностью вывода значения нелинейной яркостной компоненты во втором цветовом пространстве для пикселя.
В другом варианте осуществления устройство 100 содержит блок 101 определения, выполненный с возможностью определения, что Cb' и/или Cr' включают в себя ошибки. Устройство 100 также содержит модуль 102 выведения, выполненный с возможностью вывода скорректированной Y'. Устройство 100 дополнительно содержит видеокодер 103, выполненный с возможностью кодирования картинки скорректированной Y'.
Согласно варианту осуществления устройство 100 также содержит блок 104 ввода, выполненный с возможностью приема видео, подлежащего кодированию, и блок 105 вывода, выполненный с возможностью вывода кодированного битового потока.
Блок 104 ввода может быть выполнен в виде общего блока ввода, в частности, в случае проводного соединения с внешними устройствами. Альтернативно, блок 104 ввода может быть выполнен в виде приемника или приемопередатчика, в частности, в случае беспроводного соединения с внешними устройствами. Соответственно, блок 105 вывода может быть выполнен в виде общего блока вывода, в частности, в случае проводного соединения с внешними устройствами. Альтернативно, блок 105 вывода может быть выполнен в виде передатчика или приемопередатчика, в частности, в случае беспроводного соединения с внешними устройствами.
Блок 104 ввода, предпочтительно, подключен к блоку 101 определения, модулю 102 выведения и видеокодеру 103 для ретрансляции на него видео, подлежащего кодированию. Блок 101 определения предпочтительно, подключен к модулю 102 выведения и видеокодеру 103. Видеокодер 103, предпочтительно, подключен к блоку 105 вывода для ретрансляции кодированного битового потока, например, на декодер.
Конкретные примеры пригодной аппаратной схемы включают в себя одну или более надлежащим образом сконфигурированных или, возможно, переконфигурируемых электронных схем, например, специализированных интегральных схем (ASIC), вентильных матриц, программируемых пользователем (FPGA), или любой другой аппаратной логики, например, схем на основании дискретных логических вентилей и/или мультивибраторов, соединенных между собой для осуществления специализированных функций совместно с пригодными регистрами (REG) и/или блоками памяти (MEM).
Альтернативно, по меньшей мере, некоторые из описанных здесь этапов, функций, процедур модулей и/или блоков можно реализовать программными средствами, например, компьютерной программы для выполнения пригодной схемой обработки, например, одним или более процессорами или блоками обработки.
Примеры схемы обработки включает в себя, но без ограничения, один или более микропроцессоров, один или более цифровых сигнальных процессоров (DSP), один или более центральных процессоров (CPU), оборудование ускорения видеообработки и/или любую пригодную программируемую логическую схему, например, один или более FPGA или один или более программируемых логических контроллеров (PLC).
Следует также понимать, что существует возможность повторного использования общих возможностей обработки любого традиционного устройства или блока, в котором реализована предложенная технология. Можно также повторно использовать существующее программное обеспечение, например, путем перепрограммирования существующего программного обеспечения или путем добавления новых программных компонентов.
В конкретном примере, устройство 110, см. фиг. 12, содержит процессор 111 и память 112, содержащую инструкции, которые может выполнять процессор 111. Согласно варианту осуществления процессор 111 выполнен с возможностью получения исходного значения линейной яркостной компоненты пикселя в третьем цветовом пространстве. Процессор 111 также выполнен с возможностью вывода значения нелинейной яркостной компоненты во втором цветовом пространстве для пикселя.
В другом варианте осуществления процессор 111 выполнен с возможностью определения, что компоненты Cb' и/или Cr' включают в себя ошибки, и также, когда определено, что компоненты Cb' и/или Cr' включают в себя ошибки, вывода скорректированной компоненты Y' для компенсации ошибок в компонентах Cb' и/или Cr'.
Согласно варианту осуществления устройство 110 также содержит блок 113 ввода, выполненный с возможностью приема видео, подлежащего кодированию. В таком случае, процессор 111 выполнен с возможностью принимать видео, подлежащее кодированию от блока 113 ввода.
Согласно варианту осуществления устройство 110 также содержит блок 114 вывода, выполненный с возможностью вывода кодированного битового потока, принятого от процессора 111.
В конкретном варианте осуществления процессор 111 выполнен с возможностью, при выполнении инструкций, хранящихся в памяти 112 для осуществления вышеописанных операций. Процессор 111, таким образом, соединен с памятью 112 для обеспечения нормального выполнения программного обеспечения.
На фиг. 13 показана упрощенная блок-схема, демонстрирующая пример пользовательского оборудования (UE) 200, содержащего процессор 210, связанную память 220 и схему 230 связи.
В этом конкретном примере, по меньшей мере, некоторые из описанных здесь этапов, функций, процедур модулей и/или блоков реализованы в компьютерной программе 240, которая загружается в память 220 для выполнения схемой обработки, включающей в себя один или более процессоров 210. Процессор 210 и память 220 соединены друг с другом для обеспечения нормального выполнения программного обеспечения. Схема 230 связи также подключена к процессору 210 и/или памяти 220 для обеспечения ввода и/или вывода видеоданных.
Пользовательское оборудование 200 может представлять собой любое устройство или приспособление, которое может принимать и обрабатывать видеоданные. Например, пользовательское оборудование 200 может представлять собой компьютер, стационарный или портативный, например, портативный компьютер, смартфон, планшет, телевизионную приставку, видеокамеру и т.д.
Термин 'процессор' следует понимать в общем смысле как любую систему или устройство, способное выполнять программный код или инструкции компьютерной программы для осуществления конкретной задачи обработки, определения или вычисления.
Таким образом, схема обработки, включающая в себя один или более процессоров, выполнена с возможностью осуществления, при выполнении компьютерной программы, строго определенных задач обработки, например, описанных здесь.
Схема обработки предназначен не только для выполнения вышеописанных этапов, функций, процедур и/или блоков, но может также выполнять другие задачи.
Согласно варианту осуществления компьютерная программа 240 содержит инструкции, которые, при выполнении процессором 210, предписывают процессору 210 получать исходное значение линейной яркостной компоненты пикселя в картинке в третьем цветовом пространстве, определенном на основании линейного цвета пикселя в первом цветовом пространстве. Процессору 210 также предписывается выводить значение нелинейной яркостной компоненты во втором цветовом пространстве для пикселя на основании первого значения нелинейной цветностной компоненты во втором цветовом пространстве, второго значения нелинейной цветностной компоненты во втором цветовом пространстве и исходного значения линейной яркостной компоненты в третьем цветовом пространстве.
Согласно варианту осуществления компьютерная программа 240 дополнительно содержит инструкции, которые, при выполнении процессором 210, предписывают процессору 210 кодировать значение нелинейной яркостной компоненты, первого значения нелинейной цветностной компоненты и второго значения нелинейной цветностной компоненты.
В другом варианте осуществления компьютерная программа 240 содержит инструкции, которые, при выполнении процессором 210, предписывают процессору 210 определять, что компоненты Cb' и/или Cr' включают в себя ошибки, и когда определено, что компоненты Cb' и/или Cr' включают в себя ошибки, они предписывают процессору 210 выводить скорректированную компоненту Y' для компенсации ошибок в компонентах Cb' и Cr'.
Предложенная технология также обеспечивает носитель 250, содержащий компьютерную программу 240. Носитель 250 представляет собой один из электронного сигнала, оптического сигнала, электромагнитного сигнала, магнитного сигнала, электрического сигнала, радиосигнала, микроволнового сигнала или компьютерно-считываемого носителя 250 данных.
В порядке примера, программное обеспечение или компьютерную программу 240 можно реализовать как компьютерный программный продукт, который нормально переносится или хранится на компьютерно-считываемом носителе 240, предпочтительно, энергонезависимом компьютерно-считываемом носителе 250 данных. Компьютерно-считываемый носитель 250 может включать в себя один или более сменных или стационарных запоминающих устройств, включающих в себя, но без ограничения, постоянную память (ROM), оперативную память (RAM), компакт-диск (CD), цифровой универсальный диск (DVD), диск Blue-ray, память с интерфейсом универсальной последовательной шины (USB), запоминающее устройство типа жесткого диска (HDD), флеш-память, магнитную ленту или любое другое традиционное запоминающее устройство. Таким образом, компьютерная программа 240 может загружаться в рабочую память компьютера или эквивалентного устройства обработки, представленного пользовательским оборудованием 200 на фиг. 19, для выполнения его процессором 210.
Дополнительный аспект вариантов осуществления также относится к сигналу, представляющему кодированную версию пикселя в картинке. Кодированная версия содержит кодированную версию дискретизированного с понижением первого значения нелинейной цветностной компоненты во втором формате цвета, кодированную версию дискретизированного с понижением второго значения нелинейной цветностной компоненты во втором формате цвета и кодированную версию значения нелинейной яркостной компоненты во втором формате цвета, выведенные согласно любому из вариантов осуществления.
Согласно варианту осуществления сигнал представляет собой один из электронного сигнала, оптического сигнала, электромагнитного сигнала, магнитного сигнала, электрического сигнала, радиосигнала и микроволнового сигнала.
Таким образом, представленную(ые) здесь блок-схему или блок-схемы операций можно рассматривать как блок-схему или блок-схемы компьютера, при осуществлении одним или более процессорами. Соответствующее устройство можно определить как группу функциональных модулей, где каждый этап, осуществляемый процессором, соответствует функциональному модулю. В этом случае, функциональные модули реализованы в виде компьютерной программы, выполняющейся на процессоре. Следовательно, устройство можно альтернативно определить как группу функциональных модулей, где функциональные модули реализованы в виде компьютерной программы, выполняющейся на, по меньшей мере, одном процессоре.
Таким образом, компьютерная программа, присутствующая в памяти, может быть организована как соответствующие функциональные модули, выполненные с возможностью осуществления, при выполнении процессором, по меньшей мере, часть описанных здесь этапов и/или задач. Пример таких функциональных модулей проиллюстрирован на фиг. 14.
На фиг. 14 показана упрощенная блок-схема устройства 120 для предобработки пикселя в картинке с функциональными модулями. Согласно варианту осуществления устройство 120 содержит блок 121 определения для получения исходного значения линейной яркостной компоненты пикселя в третьем цветовом пространстве, определенном на основании линейного цвета пикселя в первом цветовом пространстве. Устройство 120 также содержит модуль 122 выведения для вывода значения нелинейной яркостной компоненты во втором цветовом пространстве для пикселя на основании первого значения нелинейной цветностной компоненты во втором цветовом пространстве, второго значения нелинейной цветностной компоненты во втором цветовом пространстве и исходного значения линейной яркостной компоненты в третьем цветовом пространстве.
В другом варианте осуществления устройство 120 содержит блок 121 определения для определения, что Cb' и/или Cr' включают в себя ошибки. Устройство 120 также содержит модуль 102 выведения для вывода скорректированной Y'. Устройство 120 дополнительно, в необязательном порядке, содержит видеокодер 123 для кодирования битового потока с использованием скорректированной Y'.
Дополнительный аспект вариантов осуществления, см. фиг. 12, относится к устройству 110 для кодирования пикселя в картинке. Устройство 110 содержит процессор 111 и память 112, содержащую инструкции, которые может выполнять процессор 111. Процессор 111 выполнен с возможностью получения исходного значения линейной яркостной компоненты пикселя в третьем цветовом пространстве, определенном на основании линейного цвета пикселя в первом цветовом пространстве. Процессор 111 также выполнен с возможностью вывода значения нелинейной яркостной компоненты во втором цветовом пространстве для пикселя на основании первого значения нелинейной цветностной компоненты во втором цветовом пространстве, второго значения нелинейной цветностной компоненты во втором цветовом пространстве и исходного значения линейной яркостной компоненты в третьем цветовом пространстве. Процессор 111 дополнительно выполнен с возможностью кодирования значения нелинейной яркостной компоненты, первого значения нелинейной цветностной компоненты и второго значения нелинейной цветностной компоненты.
Еще один дополнительный аспект вариантов осуществления, см. фиг. 14, относится к устройству 120 для кодирования пикселя в картинке. Устройство 120 содержит блок 121 определения для получения исходного значения линейной яркостной компоненты пикселя в третьем цветовом пространстве, определенном на основании линейного цвета пикселя в первом цветовом пространстве. Устройство 120 также содержит модуль 122 выведения для вывода значения нелинейной яркостной компоненты во втором цветовом пространстве для пикселя на основании первого значения нелинейной цветностной компоненты во втором цветовом пространстве, второго значения нелинейной цветностной компоненты во втором цветовом пространстве и исходного значения линейной яркостной компоненты в третьем цветовом пространстве. Устройство 120 дополнительно содержит кодер 123 для кодирования значения нелинейной яркостной компоненты, первого значения нелинейной цветностной компоненты и второго значения нелинейной цветностной компоненты.
Согласно аспекту, предусмотрен блок, например, препроцессор или кодер. Блок выполнен с возможностью определения, что компоненты Cb' и/или Cr' включают в себя ошибки, и когда определено, что компоненты Cb' и/или Cr' включают в себя ошибки, вывода скорректированной компоненты Y' для компенсации ошибок в компонентах Cb' и Cr'.
Настоящие варианты осуществления также относится к пользовательскому оборудованию, содержащему устройство для предобработки пикселя или устройство для кодирования пикселя согласно вариантам осуществления. Пользовательское оборудование, предпочтительно, представляет собой устройство или приспособление, выполненное с возможностью приема и обработки видеоданных. Например, пользовательское оборудование может представлять собой устройство или приспособление, выполненное с возможностью ретрансляции видеоданных по интерфейсу, например HDMI.
Другой вариант осуществления относится к пользовательскому оборудованию, содержащему устройство для предобработки пикселя или устройство для кодирования пикселя согласно вариантам осуществления. В этом варианте осуществления пользовательское оборудование, предпочтительно, выбрано из группы, состоящей из компьютера, портативного компьютера, смартфона, планшета и телевизионной приставки.
Все большую популярность приобретает предоставление вычислительных услуг, например, аппаратных и/или программных, на сетевых устройствах, например, сетевых узлах и/или серверах, где ресурсы доставляются в виде услуги в удаленные места по сети. В порядке примера, это означает, что описанные здесь функциональные возможности могут распределяться или перемещаться на один или более отдельных физических узлов или серверов. Функциональные возможности могут перемещаться или распределяться на одну или более совместно действующих физических и/или виртуальных машин, которые могут располагаться в отдельном(ых) физическом(их) узле(ах), т.е. в так называемом облаке. Эту также иногда называется облачными вычислениями, что является моделью, обеспечивающей повсеместный сетевой доступ по требованию к массиву конфигурируемых вычислительных ресурсов, например, сетям, серверам, хранилищу, приложениям и общим или специализированным службам.
На фиг. 15 показана схема, демонстрирующая пример того, как функциональные возможности, в общем случае, могут распределяться или разделяться между различными сетевыми устройствами 300, 301, 302. В этом примере представлены, по меньшей мере, два отдельных, но соединенных между собой сетевых устройства 300, 301, которые могут иметь различные функции или части одной и той же функции, разделенные между сетевыми устройствами 300, 301. Могут существовать дополнительные сетевые устройства 302, составляющие часть такой распределенной реализации. Сетевые устройства 300, 301, 302 могут входить в состав одной и той же системы беспроводной связи, или одно или более из сетевых устройств могут представлять собой так называемые облачные сетевые устройства, находящиеся вне системы беспроводной связи.
На фиг. 16 показана схема, демонстрирующая пример системы беспроводной связи, включающей в себя сеть 1 доступа и/или базовую сеть 2 и/или систему 3 операционной поддержки (OSS) совместно с одним или более облачными сетевыми устройствами 300. Фигура также демонстрирует сетевой узел 4 сети 1 доступа и пользовательское оборудование 5 согласно вариантам осуществления.
Пример
В последнее время было достигнуто значительное повышение качества цифрового видео за счет повышения разрешения, с переходом от стандартной четкости через высокую четкость к 4k. Видео высокого динамического диапазона (HDR) использует другой подход к повышению воспринимаемого качества изображения, а именно, увеличение контрастности. Традиционная телевизионная система была разработана для яркостей от 0,1 канделы на квадратный метр (кд/м2) до 100 кд/м2, или около десяти удвоений яркости, что, в целом, именуется видео стандартного динамического диапазона (SDR). В порядке сравнения, некоторые HDR мониторы способны отображать диапазон от 0,01 до 4000 кд/м2, т.е. свыше 18 удвоений.
Традиционная обработка SDR
Типичные системы SDR, например, телевизоры или компьютерные мониторы часто используют восьмибитовое представление, где 0 представляет темный, и 255 - яркий. Простое линейное масштабирование диапазона значений кода [0; 255] в вышеупомянутый диапазон яркости [0,1; 100] кд/м2 не будет идеальным: Первые два кодовых слова 0 и 1 будут отображаться в 0,1 кд/м2 и 0,49 кд/м2, соответственно, относительная разность будет составлять 390%. С другой стороны, последние два кодовых слова 254 и 255, будут отображаемый в 99,61 кд/м2 и 100 кд/м2 соответственно, относительная разность будет составлять только 0,3%. Во избежание столь большого различия в относительных размерах шага, системы SDR включают в себя электронно-оптическую передаточную функцию (EOTF), которая отображает значения кода в яркости по нелинейному закону. В порядке примера, красная компонента сначала делится на 255 для получения значения R01 ∈ [0; 1] и затем подвергается преобразованию степенной функцией R'=(R01)γ.
Наконец R' масштабируется в диапазон [0,1; 100] для получения представления светового сигнала в кд/м2. Зеленая и синяя компоненты обрабатываются таким же образом. При выборе γ=2,4, относительная разность между первыми двумя кодовыми словами становится 0:16%, а между последними двумя кодовыми словами - 0,95%, то есть становится гораздо более сбалансированной.
Процесс захвата SDR
Предполагая, что датчик камеры измеряет линейный световой сигнал (R, G, B) в кд/м2, на первом этапе осуществляется деление на пиковую яркость для получения нормализованного линейного светового сигнала (R01, G01, B01). Затем применяется функция, обратная к EOTF R'=(R01)1/γ, и аналогично для зеленого и синего. Для раскоррелирования цветовых компонент применяется цветовое преобразование из цветового пространства RGB в YCbCr. Следующий этап состоит в квантовании данных. В этом примере осуществляется квантование до 10 битов, дающее компоненты (Y'444, Cb'444, Cr'444), изменяющиеся от 0 до 1023. Наконец, две цветностные компоненты подвергаются понижающей дискретизации для получения (Y'420, Cb'420, Cr'420). Теперь данные могут отправляться на видеокодер, например, кодер HEVC.
Отображение данных SDR
На стороне приемника битовый поток HEVC декодируется для восстановления (Y'420, Cb'420, Cr'420) или, вместо этого, декодированных версий этих значений ввиду того, что HEVC является потерьным декодером. Затем сигнал обрабатывается в порядке, обратном описанному выше. В итоге получается линейное представление светового сигнала (R, G, B), которое отображается.
Обработка HDR
Для данных HDR, которые могут включать в себя яркости вплоть до 10000 кд/м2, простой степенной функции недостаточно для согласования с контрастной чувствительностью человеческого глаза по всему диапазону яркостей. Любое фиксированное значение γ будет приводить к слишком грубому квантованию либо в темных тонах, ярких тонах или средних тонах. Для решения этой проблемы используется EOTF, заданная в виде
.
Пиковая яркость также изменяется от 100 до 10000.
Проблема
В случае применения традиционной обработки SDR, изложенной выше, но с новой EOTF, заданной выше, и пиковой яркостью, равной 10000, происходит что-то неожиданное. Как показано путем сравнения фиг. 17A и 17B и фиг. 18A и 18B, возникают артефакты. Заметим, что для фиг. 17A, 17B, 18A, 18B, не происходит никакого сжатия, кроме понижающей дискретизации и квантования до 10 битов. Кроме того, возникают мешающие артефакты.
Анализ
Предположим, что следующие два пикселя следуют друг с другом в картинке:
RGB1=(1000; 0; 100); и
RGB2=(1000; 4; 100)
Заметим, что эти цвета весьма аналогичны. Однако первые этапы обработки дают
Y'444Cb'444Cr'4441=(263; 646; 831) и
Y'444Cb'444Cr'4442=(401; 571; 735),
которые заметно отличаются друг от друга. Среднее этих двух значений равно Y'Cb'Cr'=(332; 608,5; 783). Теперь, если пойти назад по цепочке обработки, чтобы увидеть, какое линейное значение RGB это представляет, получим RGB=(1001; 0,48; 100,5), что весьма близко к RGB1 и RGB2. Таким образом, просто усреднение всех трех компонентов не является проблемой. Большая проблема возникает, когда интерполируются только Cb' и Cr', и значения Y' из пикселей используются без интерполяции. Именно это происходит в традиционной понижающей дискретизации цветности, которая осуществляется для создания представления 4:2:0. Например, использование Y' из первого вышеупомянутого пикселя, т.е. Y'Cb'Cr'=(263; 608,5; 783) представляет линейный цвет RGB (484; 0,03; 45), который чрезмерно темен. Аналогично, использование Y' из второго пикселя, т.е. Y'Cb'Cr'=(401; 608,5; 783) дает значение RGB (2061; 2,2; 216), означающее чрезмерную яркость.
Возможные обходные пути
Рассмотрим добавление третьего пикселя к примеру,
RGB3=(1000; 8; 100)
Преобразование этих линейных входных сигналов в R'G'B' дает
R'G'B'1=(0,7518; 0,0000; 0,5081)
R'G'B'2=(0,7518; 0,2324; 0,5081)
R'G'B'3=(0,7518; 0,2824; 0,5081).
Очевидно, переход в G' больше между первым и вторым пикселями, хотя линейный G изменяется одинаковыми шагами, равными 4. Аналогично, разность между координатами Y'Cb'Cr' будет больше между первыми двумя пикселями, чем между последними двумя. Следовательно, эффект будет максимальным, когда одна или две из компонент близки к нулю в линейном световом сигнале, т.е. когда цвет находится вблизи границы цветовой гаммы. Таким образом, во избежание артефактов можно просто избегать насыщенных цветов. Однако более обширное цветовое пространство BT.2020 было предложено, в частности, для обеспечения более насыщенных цветов, поэтому решение не является желательным.
Это вскрывает еще одну проблему. Большой объем проверочного контента фотографируется в Rec.709, и после преобразования в BT.2020, ни один из цветов не будет полностью насыщенным, и, таким образом, артефакты будут малыми. В порядке примера, пиксель, захваченный в Rec.709, например, RGB709=(0; 500; 0), после преобразования в BT.2020 уже не будет иметь нулевых компонент, RGB2020=(165; 460; 44). Позже, когда камеры смогут записывать в BT.2020, будут возникать значительно более сильные артефакты. Поэтому, для устранения эффекта контента BT.2020 в контейнере BT.2020, использовался материал Rec.709 в контейнере Rec.709 для обработки, показанной на фигурах в этом примере. Однако математически нет никакого различия, поскольку координаты R01G01B01 будут охватывать полный диапазон [0; 1] в обоих случаях.
Другой обходной путь состоит в использовании обработки постоянной яркости (CL). В CL, вся яркость переносится в Y', в отличие от представленной выше обработки, которая именуется обработкой непостоянной яркости (NCL), где яркость только по большей части переносится в яркости Y'. Однако одна проблема с CL состоит в том, что она влияет на всю цепочку; преобразование назад и вперед между представлением CL4:2:0/4:2:2 и представлением 4:2:0/4:2:2 NCL приводит к внесению артефактов на каждом этапе преобразование. Поэтому на практике трудно было переводить все отрасли с традиционной NCL на CL.
Предложенное решение: регулировка яркости
Основная идея состоит в том, чтобы удостовериться в том, что результирующая яркость совпадает с желаемой. Под яркостью подразумевается компонента Y (линейного) цветового пространства XYZ CIE1931. Эта Y отличается от вышеупомянутой яркости Y' поскольку Y вычисляется из линейных значений R G B Y=wRR+wGG+wBB (1), где wR=0,2627, wG=0,6780 и wB=0,0593. Яркость Y соответствует восприятию яркости зрительной системой человека, поэтому ее желательно поддерживать. Это показано на фиг. 19, где обработанный сигнал (верхний) и исходный сигнал (нижний) преобразуется в линейное XYZ. В этом случае компоненты Y сильно отличаются, как можно видеть на фигуре. Основная идея состоит в том, что значение яркости Y' может изменяться независимо в каждом пикселе, что позволяет приходить к правильной желаемой или исходной линейной яркости YO, изменяя Y', пока Ŷ не сравняется с YO, как показано на фиг. 20. Также в случае, когда Ŷ монотонно возрастает с Y', можно знать направление, в котором должна изменяться Y'. Поэтому такие простые способы, как уполовинивание интервала, можно использовать для отыскания оптимальной Y', максимум за десять шагов для 10-битового квантования. Если предпочтительно одношаговое решение, то можно использовать 3D поисковую таблицу, которая выдает Y' на основании Cb, Cr и желаемой линейной яркости YO.
Аспекты реализации
метод можно эффективно реализовать следующим образом: сначала желаемая или исходная яркость YO для каждого пикселя получается путем применения уравнения 1 к исходным значениям (R, G, B) каждого пикселя. Затем осуществляется вся цепочка: (R, G, B) → (нормализация) → (R01, G01, B01) → (EOTF-1) → (R', G', B') → (цветовое преобразование) → (Y'01, Cb'0,5, Cr'0,5) → (10-битовое квантование) → (Y'444, Cb'444, Cr'444) → (понижающая дискретизация цветности) → (Y'420, Cb'420, Cr'420) → (повышающая дискретизация цветности) → (Ŷ'444, Ĉb'444, Ĉr'444) → (обратное квантование) → (Ŷ'01, Ĉb'0,5, Ĉr'0,5). Затем, для каждого пикселя, устанавливается начальный интервал [0; 1023]. Затем проверяется значение-кандидат Ŷ'444=512. Ŷ'01 вычисляется из значения-кандидата, и с использованием ранее вычисленных Ĉb'0,5, Ĉr'0,5 можно пройти последние этапы обработки, дающие (), по цепочке (Ŷ'01, Ĉb'0,5, Ĉr'0,5) → (обратное цветовое преобразование) →() → (EOTF) → () → (денормализация) → (). К результату применяется уравнение 1 для получения кандидатной яркости Ŷ. Если для данного пикселя Ŷ<YO, это означает, что значение-кандидат Ŷ'444 слишком мало, и правильное значение яркости должно находиться в интервале [512; 1023]. Аналогично, если Ŷ>YO, правильное значение яркости должно находиться в интервале [0; 512]. Затем процесс повторяется, и после десяти итераций интервал содержит два соседних значения. На этой стадии проверяются оба значения и выбирается то, которое дает наименьшую ошибку (Ŷ-YO)2.
Результаты
Была рассмотрена традиционная цепочка обработки, которая сравнивалась с предложенной цепочкой, которая включает в себя этап регулировки яркости, но с тем же декодером. На фиг. 17A-17C и 18A-18C показаны результаты без сжатия. Здесь, традиционная цепочка обработки (фиг. 17B и 18B), как и предложенная цепочка обработки (фиг. 17C и 18C), включает в себя преобразование в Y'Cb'Cr' 4:2:0 и затем обратно в линейное RGB. Фиг. 17A и 18A демонстрируют исходные картинки. Полное время кодирования (цветовое преобразование плюс сжатие HM) возрастает примерно на 3% по сравнению с традиционной обработкой.
Для материала HDR никакая отдельная метрика не играет роли, аналогичной PSNR для контента SDR. Напротив, предложено две метрики: tPSNR-Y для яркости и deltaE для цветности. В таблице 5 представлены результаты без сжатия для материала BT.709 в контейнере BT.709. Здесь можно видеть большое увеличение качества яркости, измеренного как tPSNR-Y свыше 17 дБ в среднем и свыше 20 дБ в одной последовательности. Также улучшается результат deltaE. Таблица 6 демонстрирует результаты без сжатия для материала BT.709 или материала P3 в контейнере BT.2020. Здесь коэффициенты усиления менее выражены, ввиду отсутствия цветов непосредственно на границе гаммы, но все же tPSNR-Y повышается на 8 дБ в среднем и более чем на 11 дБ в некоторых последовательностях. Мера deltaE улучшается минимально. Заметим, что с истинным материалом BT.2020 можно ожидать, что коэффициенты усиления будут ближе к представленным в таблице 5.
Таблица 5 - увеличение (дБ) tPSNR-Y и deltaE для контейнера Rec.709
Таблица 6 - увеличение (дБ) tPSNR-Y и deltaE для контейнера BT.2020
ПРИЛОЖЕНИЕ
В этом приложении исследуются цветовые артефакты вследствие понижающей дискретизации 4:2:0. Сначала, делается попытка перекрестного контроля, но наихудшее значение не воспроизводится, возможно, вследствие ошибки в HDRTools, которая уже исправлена. Затем осуществляется поиск наихудшей относительной ошибки яркости, обусловленной понижающей дискретизацией 4:2:0. Обнаружено, что относительная ошибка 86% (195 шагов Бартена) может возникать даже при отображении на экране с ограничением до 4000 нит. Даже если данные ограничены Rec709 и содержатся в контейнере BT.2020, возможна ошибка в 30 шагов Бартена. Для контента P3 в контейнере BT.2020 возможна ошибка в 40 шагов Бартена.
1 Введение
Было замечено, что малые изменения цвета могут вносить неожиданно большие артефакты при использовании понижающей дискретизации 4:2:0, даже если в отсутствие сжатия.
1.1 Различия в перекрестном контроле
Это исследование начинается с перекрестного контроля m35255 [1], с попыткой повторить результаты на слайде 13, перепечатанном в нижеприведенной таблице A1. Результаты получены из проверочного изображения, где левая часть изображения до пикселя 95 имеет цвет (3000, 0, 100) и правая часть, после пикселя 96 имеет цвет (3000, 4, 100).
Таблица A1 - значения m35255
0
100
0
100
4
100
4
100
4
100
4
100
650
882
650
882
640
870
640
870
570
787
570
787
650
882
649
881
642
862
604
828
570
787
566
782
0
99,1875
0
97,125
1,57324
402,25
2,58008
199
3,99609
100,125
4,20313
92,1875
При перекрестном контроле с использованием тех же процедур, что и для привязок (n14548, [2]) получается результат, представленный в таблице A2. Для понижающей дискретизации, далее применялись фильтры, описанные в разделе 2,4.7 [2] (отводы 2 и 3) и для повышающей дискретизации далее применялись 4-отводные фильтры (Раздел 2,4.8 [2]).
Таблица A2 - значения при попытке перекрестного контроля
0
100
0
100
4
100
4
100
4
100
4
100
650
882
580
799
570
787
650
882
616
841
580
799
571
788
570
787
569
786
0
99,1875
0,0169
48,2188
3,5293
122,9375
3,9531
102,2500
3,9961
100,125
4,0391
98,0625
Как можно видеть, они действительно плохо совпадают, и совпадают только пиксели №№ 94 и 98, тогда как для пикселей №№ 95-97 или 99 не найдено никакого совпадения. Однако перемещение нарушения непрерывности к пикселю 97 дает значительно лучшее совпадение, как показано в таблице A3.
Таблица A3 - значения при перемещении нарушения непрерывности
0
100
0
100
0
100
4
100
4
100
4
100
650
882
640
870
570
787
650
882
649
881
640
870
604
828
570
787
566
782
0
99,1875
0
97,125
0,00142
80,5625
2,58008
199
3,99609
100,125
4,20312
92,1875
В таблице A3 не совпадает только пиксель № 96. Также существует пиксель с наиболее странными значениями (10000, 1,57, 402,25), в то время, как правильным ответом является (3000, 0, 100) или (3000, 4, 100) в зависимости от размещения нарушения непрерывности.
Это выглядит, как если бы несовпадение при перекрестном контроле было вызвано ошибкой в HDRtools, которая уже исправлена. Возвращаясь к редакции 492, можно создавать такие же значения, как в m35255 [1]. Для подтверждения, что более новая версия HDRtools (редакция 573) верна, была независимо осуществлена цепочка обработки в Matlab и были получены те же результаты, что в таблице A3. Причина, по которой необходимо перемещать нарушение непрерывности для получения совпадения, вероятно состоит в ошибочной фильтрации в редакции 492, которая исправлена в текущей версии.
1.2 Проблема округления
При осуществлении перекрестного контроля Matlab, было обнаружено, что преобразование числа с плавающей точкой в EXR в HDRtools имеет недостатки в округлении. Вместо округления 23 битов мантиссы до 10 битов, они просто сдвигаются вправо, в основном, заменяя round( ) с floor( ). Это влияет на конечный результат. В порядке примера, число с плавающей точкой 3007,9 будет преобразовано в 3006,0, несмотря на то, что 3008,0 является гораздо более близким значением. Для получения совпадения нужно, чтобы код Matlab эмулировал преобразование типа floor( ) в текущей редакции HDRtools (редакция 587 [3]).
1.3 Цветовые выбросы
Заметим, что даже если пиксель 96 больше не является экстремальным выбросом, пиксель 97 все еще весьма далек от правильного: (5860, 2,58, 199) вместо (3000, 4, 100). Это ставит вопрос: насколько плохие выбросы может генерировать понижающая дискретизация 4:2:0 и где это происходит? Чтобы ответить на этот вопрос, сначала нужно определить, что означает ʺплохиеʺ. Особое внимание уделялось яркости, поскольку зрительная система человека более чувствительна к изменениям яркости, чем к изменениям цветности. Поэтому входное изображение EXR и выходное изображение EXR преобразовывались из линейного светового сигнала в XYZ, и формировалось различие в Y. Для получения относительной ошибки производилось деление на компоненту Y источника. Затем была написана небольшая программа, максимизирующая эту относительную ошибку для пикселя 97 во всех возможных изображениях типа, где левая часть имеет один цвет, и правая часть имеет такой же цвет плюс малая дельта длиной 4, как в m35255 [1].
Выполнение этой программы дало ответ, что наличие цвета (2142, 0, 138) в левой части и (2142, 4, 138) в правой части дает наибольшую наблюдаемую ошибку, как показано в таблице A4. Программное обеспечение оптимизации, которое ищет ʺнаихудшуюʺ ошибку, не гарантирует отыскание глобального максимума, следовательно, могут существовать еще худшие позиции в цветовой гамме.
Таблица A4 - данные ʺнаихудшегоʺ цвета для понижающей дискретизации 4:2:0
4
138
3,9750
138,2966
2,4265
263,6030
Следует отметить, что наличие красной компоненты, превышающей 2142, приведет к дополнительному увеличению относительной ошибки. Однако предполагается, что значения RGB выше 4000 будут ограничиваться 4000 монитором, поэтому предполагается, что фактическое различие на экране начнет уменьшаться в случае использования более высоких значений.
Как можно видеть в таблице A4, относительная ошибка для RGB 4:4:4 равна 0,0304%. С общей точки зрения, производилось сравнение с кривой Бартена, см. фиг. 21, где изображена кривая Бартена для контрастной чувствительности. Контрастность под кривой незаметна. Таблица A5 демонстрирует значения, используемые для построения кривой на фиг. 21.
Таблица A5 - значения, используемые для построения кривой Бартена
Как можно видеть на фиг. 21, допуск для относительных ошибок снижается с увеличением яркости. При 100 нит может не восприниматься ошибка в 0,44%, тогда как при 1000 нит, может не восприниматься ошибка 0,40%. Поскольку 455 нит находится точно посередине между ними, используется более высокое значение 0,44%. Это дает шаг Бартена 0,069, что трудно заметить.
С другой стороны, для понижающей дискретизации 4:2:0, относительная ошибка равна 85,92%. Это эквивалентно свыше 195 шагов Бартена, что должно отчетливо наблюдаться. Это позволяет допустить, что понижающая дискретизация 4:2:0 может создавать отчетливо наблюдаемые артефакты, по меньшей мере, при непостоянной яркости и сильно нелинейной передаточной функции, что имеет место при генерации привязок.
Заметим, что наихудшая ошибка находится прямо на границе цветовой гаммы; когда зеленый цвет равен нулю, цвет (2142, 0, 138) находится на линии между красным и зеленым основными цветами. Это согласуется с описанием в m35255 [1], где также указана проблема цветов на границе гаммы.
1.4 При вводе данных 709
Данные, представленные в таблице A1, относятся к основным цветам BT.2020. Если входные данные имеют основные цвета Rec709, но контейнер является BT.2020, не будет возможности достичь границы цветовой гаммы. Это объясняется тем, что треугольник гаммы Rec709 находится внутри треугольника BT.2020, не касаясь границы гаммы, как можно видеть на фиг. 22. Это позволяет предположить, что относительная ошибка будет меньше.
Программное обеспечение оптимизации позволяет найти цвет Rec709, который, после преобразования в BT.2020, приведет к наибольшей относительной ошибке. В результате получаются два цвета: (0, 0, 50) в левой части экрана и (2, 3, 49) в правой части. Это представлено в таблице A6.
Таблица A6 - данные ʺнаихудшегоʺ цвета для понижающей дискретизации 4:2:0, если входной сигнал является Rec709, и контейнер имеет формат BT.2020
3
49
3,4535
44,1810
3,4293
43,7035
2,9939
63,5135
Здесь использовалась кривая Бартена при 10 нит, что составляет 0,54%. Для RGB 4:4:4 была получена едва заметная ошибка в 1,2305 шагах Бартена, тогда как ошибка в RGB 4:2:0 равна 33 шагам Бартена, которая должна отчетливо наблюдаться. Возможно также, что ошибка меньше (33 шага Бартена в отличие от 195 шагов Бартена), поскольку, если начинать с данных Rec709, цвет не сможет достичь всей частей границы гаммы BT.2020.
Также следует обратить внимание на то, как результат оптимизации позволяет обнаружить наличие наихудшей ошибки вблизи синего основного цвета. Это, скорее всего, обусловлено тем, что синий основной цвет Rec709 является ближайшим к границе гаммы BT.2020, как можно видеть на фиг. 22.
1.5 Когда входной сигнал является данными P3
Такая же проверка может осуществляться для исходных данных P3, содержащихся в контейнере BT.2020. Тогда наихудшие цвета представляют собой (2,48, 3,32, 4,63) и (3,29, 0, 6,71), как показано в таблице A7.
Таблица A7 - данные ʺнаихудшегоʺ цвета для понижающей дискретизации 4:2:0, если входной сигнал является P3, и контейнер имеет формат BT.2020
0
6,71
0,2342
6,5960
0,2304
6,4838
0,3834
3,2402
Можно предположить, что ошибка будет принимать промежуточное значение между Rec709 и BT.2020, и это также позволяет получить ошибку, эквивалентную 40,38 шагов Бартена. Заметим, что поскольку значение Бартена изменяется, важно включать его в цикл при поиске наихудшего значения. Использовалось значение Бартена для 1 кд/м2, равное 0,85%.
1.6 Заключение
В этом приложении была исследована ошибка яркости вследствие понижающей дискретизации 4:2:0. Хотя не удалось добиться совпадения с наихудшим выбросом из m35255 [1], ошибки худшего случая все же значительны, достигая почти 200 шагов Бартена для общих данных. Даже если исходные данные ограничены Rec709 и помещены в контейнер BT.2020, ошибка все еще значительна, свыше 30 шагов Бартена, и для данных P3 в контейнере BT.2020, свыше 40 шагов Бартена.
Вышеописанные варианты осуществления следует рассматривать как несколько иллюстративных примеров настоящего изобретения. Специалисты в данной области техники могут предложить различные модификации, комбинации и изменения варианты осуществления, не выходящие за рамки объема настоящего изобретения. В частности, различные частичные решения в различных вариантах осуществления можно объединять в других конфигурациях, при наличии технической возможности. Однако объем настоящего изобретения определяется нижеследующей формулой изобретения.
ССЫЛКИ
[1] International Organization for Standardization, ISO/IEC JTC1/SC29/WG11, Coding of moving pictures and audio, MPEG2013/M35255, October 2014, Strasbourg, France, Francois et al., About using a BT.2020 container for BT.709 content
[2] International Organization for Standardization, ISO/IEC JTC1/SC29/WG11, Coding of moving pictures and audio, MPEG2014/N14548, July 2014, Sapporo, Japan, Luthra et al., Test sequences and anchor generation for HDR and Wide Gamut Content Distribution
[3] https://wg11.sc29.org/svn/repos/Explorations/XYZ/HDRTools/branches/0,9-dev
[4] International Organization for Standardization, ISO/IEC JTC1/SC29/WG11, Coding of moving pictures and audio, MPEG2014/N15083, February 2015, Geneva, Switzerland, Luthra et al., Call for Evidence (CfE) for HDR and WCG Video Coding
Изобретение относится к области предобработки и кодирования пикселей в картинке. Технический результат заключается в обеспечении предобработки пикселей для подавления артефактов. Технический результат достигается за счет получения исходного значения линейной яркостной компоненты упомянутого пикселя в третьем цветовом пространстве, причем третье цветовое пространство содержит линейное цветовое пространство XYZ, при этом исходное значение линейной яркостной компоненты определено на основании линейного цвета упомянутого пикселя в перовом линейном цветовом пространстве, вывода значения нелинейной яркостной компоненты во втором нелинейном цветовом пространстве для упомянутого пикселя на основании первого значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве, второго значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве и упомянутого исходного значения линейной яркостной компоненты в упомянутом третьем цветовом пространстве. 6 н. и 10 з.п. ф-лы, 26 ил., 13 табл.
1. Способ предобработки пикселя в картинке, причем упомянутый способ содержит этапы, на которых:
получают (S1) исходное значение линейной яркостной компоненты упомянутого пикселя в третьем цветовом пространстве, причем третье цветовое пространство содержит линейное цветовое пространство XYZ, при этом исходное значение линейной яркостной компоненты определено на основании линейного цвета упомянутого пикселя в первом линейном цветовом пространстве; и
выводят (S2) значение нелинейной яркостной компоненты во втором нелинейном цветовом пространстве для упомянутого пикселя на основании первого значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве, второго значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве и упомянутого исходного значения линейной яркостной компоненты в упомянутом третьем цветовом пространстве.
2. Способ кодирования пикселя в картинке, причем упомянутый способ содержит этапы, на которых:
осуществляют предобработку (S1, S2) упомянутого пикселя по п. 1 для вывода значения нелинейной яркостной компоненты во втором цветовом пространстве для упомянутого пикселя; и
кодируют (S3) упомянутое значение нелинейной яркостной компоненты, дискретизированное с понижением первое значение нелинейной цветностной компоненты в упомянутом втором цветовом пространстве и дискретизированное с понижением второе значение нелинейной цветностной компоненты в упомянутом втором цветовом пространстве.
3. Устройство (100, 110) для предобработки пикселя в картинке, причем упомянутое устройство содержит:
процессор; и
невременную память, подсоединенную к процессору;
причем
упомянутый процессор выполнен с возможностью получения исходного значения линейной яркостной компоненты упомянутого пикселя в третьем цветовом пространстве, причем третье цветовое пространство содержит линейное цветовое пространство XYZ, при этом исходное значение линейной яркостной компоненты определено на основании линейного цвета упомянутого пикселя в первом цветовом пространстве; и
упомянутый процессор выполнен с возможностью вывода значения нелинейной яркостной компоненты во втором нелинейном цветовом пространстве для упомянутого пикселя на основании первого значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве, второго значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве и упомянутого исходного значения линейной яркостной компоненты в упомянутом третьем цветовом пространстве.
4. Устройство по п. 3, причем упомянутый процессор выполнен с возможностью определения упомянутого исходного значения линейной яркостной компоненты в упомянутом третьем цветовом пространстве на основании упомянутого линейного цвета в упомянутом первом цветовом пространстве.
5. Устройство по любому из пп. 3, 4, причем упомянутый процессор выполнен с возможностью вывода упомянутого значения нелинейной яркостной компоненты в упомянутом втором цветовом пространстве на основании дискретизированного с понижением первого значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве, дискретизированного с понижением второго значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве и упомянутого исходного значения линейной яркостной компоненты в упомянутом третьем цветовом пространстве.
6. Устройство по п. 5, причем
упомянутый процессор выполнен с возможностью применения первой передаточной функции к упомянутому исходному линейному цвету в упомянутом первом цветовом пространстве для получения нелинейного цвета в упомянутом первом цветовом пространстве;
упомянутый процессор выполнен с возможностью применения первого цветового преобразования к упомянутому нелинейному цвету в упомянутом первом цветовом пространстве для получения нелинейного цвета в упомянутом втором цветовом пространстве, причем упомянутый нелинейный цвет в упомянутом втором цветовом пространстве содержит начальное первое значение нелинейной цветностной компоненты и начальное второе значение нелинейной цветностной компоненты; и
упомянутый процессор выполнен с возможностью осуществления понижающей дискретизации упомянутого начального первого значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве и упомянутого начального второго значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве для получения упомянутого дискретизированного с понижением первого значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве и упомянутого дискретизированного с понижением второго значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве.
7. Устройство по п. 5, причем
упомянутый процессор выполнен с возможностью осуществления повышающей дискретизации упомянутого дискретизированного с понижением первого значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве и упомянутого дискретизированного с понижением второго значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве для получения дискретизированного с повышением первого значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве и дискретизированного с повышением второго значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве;
упомянутый процессор выполнен с возможностью применения второго цветового преобразования к значению-кандидату нелинейной яркостной компоненты в упомянутом втором цветовом пространстве, упомянутому дискретизированному с повышением первому значению нелинейной цветностной компоненты в упомянутом втором цветовом пространстве и упомянутому дискретизированному с повышением второму значению нелинейной цветностной компоненты в упомянутом втором цветовом пространстве для получения нелинейного цвета в упомянутом первом цветовом пространстве;
упомянутый процессор выполнен с возможностью применения второй передаточной функции к упомянутому нелинейному цвету в упомянутом первом цветовом пространстве для получения линейного цвета в упомянутом первом цветовом пространстве;
упомянутый процессор выполнен с возможностью применения третьего цветового преобразования к упомянутому линейному цвету в упомянутом первом цветовом пространстве для получения значения линейной яркостной компоненты в упомянутом третьем цветовом пространстве; и
упомянутый процессор выполнен с возможностью вывода упомянутого значения нелинейной яркостной компоненты на основании сравнения упомянутого исходного значения линейной яркостной компоненты в упомянутом третьем цветовом пространстве и упомянутого значения линейной яркостной компоненты в упомянутом третьем цветовом пространстве.
8. Устройство по п. 7, причем упомянутый процессор выполнен с возможностью выбора значения-кандидата нелинейной яркостной компоненты в упомянутом втором цветовом пространстве, которое уменьшает разность между упомянутым исходным значением линейной яркостной компоненты в упомянутом третьем цветовом пространстве и упомянутым значением линейной яркостной компоненты в упомянутом третьем цветовом пространстве.
9. Устройство по п. 8, причем
упомянутый процессор выполнен с возможностью осуществления применения упомянутого второго цветового преобразования к значению-кандидату нелинейной яркостной компоненты в упомянутом втором цветовом пространстве, упомянутому дискретизированному с повышением первому значению нелинейной цветностной компоненты в упомянутом втором цветовом пространстве и упомянутому дискретизированному с повышением второму значению нелинейной цветностной компоненты в упомянутом втором цветовом пространстве, применения упомянутой второй передаточной функции к упомянутому нелинейному цвету в упомянутом первом цветовом пространстве и применения упомянутого третьего цветового преобразования к упомянутому линейному цвету в упомянутом первом цветовом пространстве для разных значений-кандидатов нелинейной яркостной компоненты в упомянутом втором цветовом пространстве; и
упомянутый процессор выполнен с возможностью выбора значения-кандидата нелинейной яркостной компоненты из упомянутых разных значений-кандидатов нелинейной яркостной компоненты в упомянутом втором цветовом пространстве, которое приводит к наименьшей разности между упомянутым исходным значением линейной яркостной компоненты в упомянутом третьем цветовом пространстве и упомянутым значением линейной яркостной компоненты в упомянутом третьем цветовом пространстве.
10. Устройство по любому из пп. 7-9, причем упомянутый процессор выполнен с возможностью осуществления двоичного поиска для выбора значения-кандидата нелинейной яркостной компоненты в упомянутом втором цветовом пространстве, которое минимизирует разность между упомянутым исходным значением линейной яркостной компоненты в упомянутом третьем цветовом пространстве и упомянутым значением линейной яркостной компоненты в упомянутом третьем цветовом пространстве.
11. Устройство по п. 5, причем
упомянутый процессор выполнен с возможностью осуществления повышающей дискретизации упомянутого дискретизированного с понижением первого значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве и упомянутого дискретизированного с понижением второго значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве для получения дискретизированного с повышением первого значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве и дискретизированного с повышением второго значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве; и
упомянутый процессор выполнен с возможностью извлечения упомянутого значения нелинейной яркостной компоненты в упомянутом втором цветовом пространстве из поисковой таблицы с использованием упомянутого исходного значения линейной яркостной компоненты в упомянутом третьем цветовом пространстве или ее нелинейной версии, упомянутого дискретизированного с повышением первого значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве и упомянутого дискретизированного с повышением второго значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве или их квантованных версий, вводимых в упомянутую поисковую таблицу.
12. Устройство по п. 11, причем
упомянутый процессор выполнен с возможностью применения упомянутой первой передаточной функции к упомянутому исходному значению линейной яркостной компоненты в упомянутом третьем цветовом пространстве для получения исходного значения нелинейной яркостной компоненты в упомянутом третьем цветовом пространстве; и
упомянутый процессор выполнен с возможностью извлечения упомянутого значения нелинейной яркостной компоненты в упомянутом втором цветовом пространстве из упомянутой поисковой таблицы с использованием упомянутого исходного значения нелинейной яркостной компоненты в упомянутом третьем цветовом пространстве, упомянутого дискретизированного с повышением первого значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве и упомянутого дискретизированного с повышением второго значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве или упомянутых их квантованных версий, вводимых в упомянутую поисковую таблицу.
13. Пользовательское оборудование (5, 200) для предобработки пикселя в картинке, содержащее устройство (100, 110, 120) по п. 3, причем упомянутое пользовательское оборудование (5, 200) является устройством или приспособлением, выполненным с возможностью приема и обработки видеоданных.
14. Пользовательское оборудование (5, 200) для предобработки пикселя в картинке, содержащее устройство (100, 110, 120) по п. 3, причем упомянутое пользовательское оборудование (5, 200) выбрано из группы, состоящей из компьютера, портативного компьютера, смартфона, планшета и телевизионной приставки.
15. Носитель (250), содержащий компьютерную программу (240), причем упомянутый носитель содержит один из электронного сигнала, оптического сигнала, электромагнитного сигнала, магнитного сигнала, электрического сигнала, радиосигнала, микроволнового сигнала или компьютерно-считываемого носителя данных;
при этом упомянутая компьютерная программа (240) содержит инструкции, которые, при выполнении процессором (210), предписывают упомянутому процессору (210):
получать исходное значение линейной яркостной компоненты пикселя в картинке в третьем цветовом пространстве, причем третье цветовое пространство содержит линейное цветовое пространство XYZ, при этом исходное значение линейной яркостной компоненты определено на основании линейного цвета упомянутого пикселя в первом линейном цветовом пространстве; и
выводить значение нелинейной яркостной компоненты во втором нелинейном цветовом пространстве для упомянутого пикселя на основании первого значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве, второго значения нелинейной цветностной компоненты в упомянутом втором цветовом пространстве и упомянутого исходного значения линейной яркостной компоненты в упомянутом третьем цветовом пространстве.
16. Носитель (250) по п. 15, в котором упомянутая компьютерная программа (240) дополнительно содержит инструкции, которые, при выполнении упомянутым процессором (210), предписывают упомянутому процессору (210) кодировать упомянутое значение нелинейной яркостной компоненты, упомянутое первое значение нелинейной цветностной компоненты и упомянутое второе значение нелинейной цветностной компоненты.
Колосоуборка | 1923 |
|
SU2009A1 |
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
Способ приготовления лака | 1924 |
|
SU2011A1 |
Способ приготовления лака | 1924 |
|
SU2011A1 |
ОБРАБОТКА ИЗОБРАЖЕНИЙ С ПОМОЩЬЮ ЛИНЕЙНЫХ ПАРАМЕТРОВ СВЕТОУСТАНОВКИ И ДРУГИХ УСОВЕРШЕНСТВОВАНИЙ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2005 |
|
RU2402811C2 |
Изложница с суживающимся книзу сечением и с вертикально перемещающимся днищем | 1924 |
|
SU2012A1 |
Авторы
Даты
2019-02-06—Публикация
2016-01-28—Подача