ОБРАБОТКА ИЗОБРАЖЕНИЯ С ИЗМЕНЕНИЕМ СТЕПЕНИ ЯРКОСТИ ПРИ ПОСТОЯНСТВЕ ЦВЕТА
IMAGE PROCESSING WITH VARIATION OF DEGREE OF BRIGHTNESS WITH COLOUR CONSISTENCY

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Данное изобретение относится к устройствам и способам и получающимся в результате продуктам, таким как продукты хранения или передачи данных или сигналов, для преобразования изображения с цветами пикселей с первыми степенями яркости в изображение с цветами пикселей со вторыми, более низкими или более высокими степенями яркости.
УРОВЕНЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
В технологии обработки цвета, полезной категорией цветовых отображений является категория, в которой изменяется степень яркости цвета пикселя, и в тоже время сам подлинный цвет, который может характеризоваться, например, цветностью, наподобие CIE 1976 (uʹ,vʹ), является одинаковым для результирующего выходного цвета и входного цвета, который должен быть обработан. Этим в действительности является цветовое отображение, соответствующее световым изменениям в природе: освещение спектра объекта большим количеством света, имеющим световой спектр, производит цвета с повышающейся степенью яркости (или другим коррелятом степени яркости, как например, яркость после преобразования в этот коррелят) и в тоже время с одинаковой цветностью. Этот вид обработки для технологии, которая недавно стала важной, а именно отображение с динамическим диапазоном для изображения(й) и видео. В настоящее время дисплеи получают более высокие значения пиковой светлоты (PB), чем существующие так называемые дисплеи с малым динамическим диапазоном (LDR), которые имеют PB около 100 нит. Говорят о дисплее с расширенным динамическим диапазоном (HDR), если он имеет PB по меньшей мере в 1000 нит, и обычно в ближайшем будущем предполагаются дисплеи, например, в 2000, 5000 или 10000 нит.
Одно и то же изображение не может быть визуализировано и на LDR-дисплее, и HDR-дисплее, и иметь хороший вид на обоих. Например, если HDR-изображение (которое является изображением, которое может обычно иметь степени яркости пикселей объекта, которые имеют соотношение степеней яркости по меньшей мере 1000:1, и обычно распределение степеней яркости как со значительным количеством светлых пикселей, так и значительным количеством темных пиксели, т.е. приблизительно в тысячу раз темнее, чем светлые) визуализируется без отображения на LDR-дисплее, часть сцены может давать неразборчивые черные объекты. И наоборот, LDR-изображение может иметь объекты, которые выглядят нежелательно светлыми при непосредственной визуализации на дисплее с PB, допустим, в 3000 нит. И так, требуется осуществить цветовое отображение для изображения с HDR-градуировкой захваченной (или сгенерированной на компьютере) сцены, которое соответствует опорному HDR-монитору, и подходит для визуализации на дисплеях с большей PB (например, большей, чем 1000 нит, или ассоциированной с минимально используемой PB), в LDR-изображение, ассоциированное с опорным LDR-монитором (и динамические диапазоны изображений, или более точно их ассоциированные опорные мониторы, отличаются коэффициентом по меньшей мере 1,5, другими словами, приблизительно по меньшей мере одну остановку или коэффициент 2, но это может также быть, например, коэффициент 4 или 10 или больше). Можно отметить, что с использованием LDR и HDR-изображений (или их опорного монитора), могут также быть заданы другие стандартные электрооптические передаточные функции (EOTF), которые фиксируют взаимосвязь между техническими кодами яркости для передачи изображения, и фактическими степенями яркости, которые соответствуют этим яркостям при визуализации на опорном мониторе. LDR может использовать, например, EOTF с типом гаммы Rec. 709, и HDR-изображение(я)/видео может(гут) обычно быть кодировано(ы) согласно EOTF, которая по меньшей мере частично имеет экспоненциальный (обратный логарифмический) характер в своем определении функциональной формы, например, нижеследующие характеристики человеческого зрения, как функция контрастной чувствительности Бартена. В этой связи, следует подчеркнуть, что это также означает, что HDR-изображение необязательно имеет большее количество битов на цветовой компонент, чем LDR-изображение. Они оба могут быть заданы, например, в формате RGB 3×10 битов (что может быть интерпретировано как определение [0-1,0]-масштабированного компонента, что предполагается будет кодификацией изображений до цветового отображения, вне зависимости от того какими являются первоначальный и конечный формат для результата, который должен быть передан), разница состоит лишь в том, как должны быть интерпретированы кодированные цвета, т.е. согласно степени яркости или распределению яркости, заданному с помощью соответствующей EOTF (и с оптимальной цветовой градуировкой, чтобы произвести хороший соответствующий вид, т.е. с разными степенями яркости объекта для одних и тех же объектов при обоих градуировках).
Предшествующий уровень техники, который является наилучшим для объяснения настоящего изобретения и его технического вклада, является предыдущим исследованием от заявителя по HDR-совместимому видеокодеку, который настоящим дополнительно улучшается. Заявитель создал систему кодирования, которая обеспечивает возможность кодирования по меньшей мере двух (или более) градуировок сцены, причем одна обычно является LDR-градуировкой, и вторая является расширенным динамическим диапазоном, которым обычно является HDR-градуировка. Кодирование работает посредством кодирования одной из двух градуировок как действительного изображения, что обычно может быть сделано посредством использования классических контейнеров кодирования видео, из стандарта кодирования видео, как например, MPEG-HEVC. В некоторых вариантах данные переформатируются несоответствующим образом, например, цветовые плоскости YCrCb заполняются Yuʹvʹ-данными, но до тех пор, пока данные соответствуют объему доступного пространства памяти, и первоначальные изображения могут быть декодированы, такие принципы могут быть использованы и совместимы с существующей технологией по меньшей мере для тех технических компонентов, которые не должны делать конечное декодирование, как например, система спутниковой передачи, и т.д.
Фиг. 1 показывает пример такого устройства 100 кодирования. Источник 120 изображения, допустим жесткий диск, доставляет входное изображение Im_R1 с первым динамическим диапазоном степеней яркости, допустим, HDR-градуировкой (причем градуировкой является определение степеней яркости объекта на изображении, так что для создающего художника они выглядят корректными при визуализации на ассоциированном опорном дисплее, PB которого обычно совместно кодируется с изображением как метаданные, описывающие вид изображения). Посредством блока 121 цветового отображения, градуировщик может выбрать посредством UI пользовательских данных, например, с клавиатуры для цветовой градуировки и в программном обеспечении для градуировки, одну или более функций и их параметров для получения второго изображения с градуировкой для каждого HDR-изображения (т.е. Im_R1), допустим LDR-изображения. Допустим он создает, например, LDR-изображение посредством применения некоторой S-кривой, функцию которой назовем F, которая преобразует все входные цвета Ci из Im_R1 в результирующие выходные цвета Co результирующих изображений Im_o (конечно могут быть сделаны различные цветовые отображения, например, коррекция насыщенности, и т.д.). В качестве вывода для нашего кодера 101, одно из двух изображений Im_R1 и Im_o выбирается в качестве основного изображения, кодирующего сцену, т.е. кодирующего геометрический вид всех объектов, и в дополнение, имеющего корректный колориметрический вид для одного соответствующего опорного монитора. Также, все данные, требуемые для уникального точного определения преобразования цвета, передаются кодеру 101 как метаданные функции F, которыми для примера с S-кривой могут быть, например, конечные точки средней наклонной части, т.е. двухкратные 2 координаты. Кодер 101 представляет эти данные как числа согласно предназначенному формату, например, он делает компоненты изображения на основе DCT для Im_R2, и сохраняет функциональные метаданные в сообщении SEI, или аналогичном, и посредством вывода 130 данных отправляет их технологии 131 обмена данными (которой на Фигуре является BD-диск, например, но это может также быть интернет-сервер для VOD, и т.д.).
Однако, такое преобразование динамического диапазона далеко от очевидного. В реальном физическом мире это будет только предусматривать масштабирование степени яркости как указано выше, но действительные технологии имеют дело с технологическими ограничениями. Вместо чистого масштабирования, цветовые преобразования для RGB-дисплеев могут почти ничего не масштабировать простым образом. Действительный дисплей имеет не только ограниченную гамму цветов из-за его фиксированной максимальной величины задней подсветки (или возбуждение для дисплеев без подсветки), которая имеет форму тента, но сильно скошенный тент, который гораздо меньше у синего основного цвета, чем вблизи желтых, но даже все математические RGB-пространства имеют одинаковые свойства. Так лишь риски масштабирования, что это приходит к невоспроизводимым цветам, что без бережного обращения обычно приводит к усечению, и дают ошибки цвета (по меньшей мере изменяется насыщенность, но вероятно также изменяется тон). В художественном смысле это может не быть тем, чего желает градуировщик, что его изящно подобранный оранжеватый цвет, допустим для морской звезды, вдруг станет преимущественно желтоватым в другой градуировке. В идеале, градуировщик не будет возражать, будет даже строго ожидать, против изменения степени яркости, но он бы хотел, чтобы конкретный бережно подобранный оранжевый оставался таким же во всех вычисленных градуировках, начиная с его мастер-градуировки (допустим, HDR мастер-градуировки).
В WO2014/056679 заявитель описывает преобразование, изменяющее степень яркости, которое обеспечивает возможность точного определения стратегии отображения степени яркости для различных возможных степеней яркости объекта в входном изображении (Im_R1), что дает разные выходные степени яркости, но одинаковые цветности цветов. Т.е. это механизм для точного определения конкретных вариантов функций F. Фиг. 2 этого патента повторно резюмирует ключевые аспекты данного принципа. Любой входной цвет пикселя преобразовывается в линейное представление RGB. Мы только показывает базовые компоненты для разъяснения принципа, и конечно, могут быть различные преобразования цвета до определения красного (R), зеленого (G) и синего (B) цветовых компонентов, например, цветовые компоненты изображения (Im_R2) могли быть обработаны в отношении насыщенности и т.д. Блок цветового отображения 200 может быть компонентом декодера, который вычисляет первоначальное(ые) изображение(я) на основе принятого основного изображения и функциональных метаданных цветового отображения по меньшей мере от функции отображения степени яркости (F), но он также может быть включен в кодер, когда градуировщик продолжает пробовать различные возможные функции F для наилучшего вида, и в конечном итоге выводит данные для этого наилучшего вида через вывод 130 данных. Блок 201 вычисления максимума вычисляет, какой из трех компонентов является для этого пикселя наибольшим, которым может, например, быть синий компонент, если объект, в котором находится пиксель, является синим. Это дает максимум M. Затем предварительно определенная функция F (которая реализует цветовое отображение, требуемое для изменения динамического диапазона, поскольку касается части светлоты) применяется к M, производя F(M). В примере по Фиг. 2 эта функция усиливает самые темные цвета, затем удерживает средние цвета приблизительно равными их первоначальным значениям, и снова немного усиливает светлые значения. Это может быть полезной функцией, например, для отображения HDR в LDR-градуировку. Вместо применения этой функции к самим степеням яркости, блок 202 отображения светлоты применяет эту функцию (которая может быть составлена из частичных функций, или реализована как LUT) к M. Калькулятор 203 параметра масштабирования вычисляет параметр масштабирования посредством деления F(M) на M. И наконец, блок 204 умножения использует этот параметр масштабирования для его перемножения с каждым цветовым компонентом (R,G и B), производя соответствующим образом отмасштабированные цветовые компоненты (Rs, Gs, Bs). Посредством этого действия получают корректную выходную степень яркости для результирующего цвета пикселя, но с сохранением первоначальной цветности. Блок отображения светлоты как бы выравнивает форму тента цветовой гаммы RGB посредством использования этого принципа. Пока гарантируется, что функция 205 отображения определяется так, что для максимального ввода (M=1,0), выходная F(M) не выше, чем 1, тогда для всех цветностей обработка корректно масштабируется до верхней границы цветовой гаммы, так что колориметрические ошибки из-за усечения не возникают.
Поэтому мощная система, которая дает градуировщику огромный колориметрический контроль над видом его изображений. Однако это приносит мелкую проблему. Хотя для многих изображений результаты являются хорошими, может быть видно, что для некоторых изображений есть проблема шума. Кинофильмы, которые отсканированы с кинопленки, имеют зерно пленки. Это возникает, например, в темных частях в негативах, и так для светлых частей в позитивах (т.е. даже если отсканирован мастер-негатив, после вычисления негатив-позитив). Также предполагается характерность, и с помощью которой зрительная система человека развилась, чтобы быть менее к ней чувствительной, зависимый от степени яркости шум фотонов перераспределяется на другие серые значения из-за инверсии, и любое отображение степени яркости. Вкратце, шум может быть в различных объектах, где будет нежелательно. Это не было надоедливо видно на существующих LDR-дисплеях, но так как высокая PB HDR-дисплеев делает все прекрасным, но также более видимым, так зерно будет иногда становиться неприемлемо сильно видно. Но также на LDR-дисплеях, иногда шум HDR-градуировки с отображением цвета, дающей LDR-градуировку, может стать сильно видимым.
Проблема возникает потому, что параметр масштабирования берет шум в доминирующем цветовом компоненте, и так сам становится шумным. Допустим, имеется относительно однородная зона (которая всегда является плохой областью для видимости шума), как воздух, или почти нейтральная, которая немного синяя. Максимальным компонентом для всех или большинства этих пикселей поэтому будет синий компонент, который обычно может быть шумным для нескольких типов изображения. Значение M будет тогда колебаться вокруг значения, допустим, 0,7. Функциональное отображение может соответствовать умножению, допустим, на 3. Но при этом, если есть резкий разрыв в функции F около 0,7, более высокие значения M могут быть усилены в 3 раза, и меньшие, чем значения 0,7, могут, например, быть умножены на 1. Это оказывает шумный эффект на отмасштабированные цвета (Rs, Gs, Bs), которые иногда получают значительное усиление светлоты и иногда нет, но попиксельно вперемежку. Т.е., иногда шум может стать усиленным до неприемлемого уровня, хотя во всех остальных аспектах колориметрический вид изображения является великолепным. И конечно, в идеале создатель контента не хочет, чтобы принимающий дисплей выполнял пространственное размытие, так как это может также уменьшить резкость желательных частей изображения. Решение этой проблемы является не таким уж прямолинейным. Можно подумать, что можно сгладить сами параметры масштабирования, например, но кажется это не даст хороших результатов. Ниже представлено решение для этой проблемы с шумом.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Цель иметь отображение степени яркости в значительной степени с сохранением цветности с пониженной чувствительностью к шуму реализуется устройством (200) обработки цвета изображения, скомпонованным для преобразования входного цвета (R,G,B), заданного красным, зеленым и синим цветовым компонентом пикселя входного изображения (Im_R2), имеющего первый динамический диапазон степеней яркости, в выходной цвет (Rs, Gs, Bs) пикселя выходного изображения (Im_res), имеющего второй динамический диапазон степеней яркости, причем первый и второй динамический диапазон отличаются по протяженности по меньшей мере на мультипликативный коэффициент 1,5, содержащим:
- блок, скомпонованный для применения соответствующих взвешенных или невзвешенных функций (FNLR, FNLG, FNLB) к каждому из красного, зеленого и синего компонента входного изображения, приводя к модифицированному красному, зеленому и синему цветовым компонентам (NR, NG, NB, wR*R, wG*B, Bw), при этом каждая из функций может быть одной из нелинейной функции, линейной функции масштабирования, умножающей компонент (B) входного цвета на вес, или единичной функции входного компонента или комбинации входных компонентов, и при этом по меньшей мере один модифицированный компонент (NR, NG, NB) представляет один из красного, зеленого или синего компоненов входного изображения, взвешенный посредством неединичного с вещественным числом значения,
- блок (201) вычисления максимума, скомпонованный для вычисления максимума (M) по меньшей мере трех модифицированных компонентов;
- блок отображения (202) светлоты, скомпонованный для применения функции (F) к максимуму, производящей выходное значение (F(M)), в силу чего, функция предварительно определена имеющей ограничение, что выходное значение для наивысшего значения максимума (M) не может быть выше, чем 1,0;
- калькулятор (203) параметра масштабирования, скомпонованный для вычисления параметра масштабирования (a), равного выходному значению (F(M)), деленному на максимум (M); и
- блок (204) умножения, скомпонованный для умножения красного, зеленого и синего цветовых компонентов входного цвета (R,G,B) на параметр масштабирования (a), производя цветовые компоненты выходного цвета (Rs, Gs, Bs).
Было протестировано, что может быть полезно иметь несколько комбинаций весов. В принципе требуется задать только один вес (при том, что другие обычно по умолчанию составляют 1,0; что относительно конструкции устройства может означать отсутствие действительного блока умножения), например, можно, даже если степень яркости не используется в качестве четвертого ввода, задать вес синего канала в значение 0,5 или 0,75, и красного и зеленого веса в значение 1,0. Для конкретной сцены кинофильма, можно задать больший вес для ввода степени яркости (или, в пространстве гаммы, яркости) 1,0, и RGB-веса низкими. Но в других сценах может быть полезно уменьшить вес степени яркости, например, до 0,25 и задать веса цветовых компонентов высокими. 3 или 4 ввода, или дополнительные вводы, могут также быть нелинейными функциями и/или комбинациями цветовых компонентов R, G, B. Так один или более входных компонентов для калькулятора максимума могут составлять 1,0, и другие компоненты могут иметь веса с другими значениями, обычно ниже, чем 1,0. Где говорится взвешенные функции, читатель должен понимать, что также применяется единичная функция, и что невзвешенная единичная функция означает первоначальный, например, сам красный цветовой компонент, но что по меньшей мере один из вводов должен быть взвешен посредством неединичного значения до прохождения максимизации.
Подобно нашему основному варианту по WO2014/056679 имеется блок вычисления максимума для определения максимума M обычно красного, зеленого и синего компонентов. Этот максимум дает не только некоторую информацию по светлоте цвета (происходит это зависимым от цветности образом, но то что некоторые хотят, это осуществление обработки яркости адаптированным к цветовой гамме образом), максимум гарантирует, что известен доступный диапазон светлоты для конкретного цвета, и усечение не должно возникать пока не будут явным образом спроектированы функции усечения отображения яркости (т.е. по меньшей мере когда сами красный, зеленый и синий компоненты являются точным вводом для вычисления максимума, т.е. с wR=wG=wB=1,0). Особенно при линейных представлениях цвета, масштабирование может затем сделать обработку светлоты, которая аналогична повторному освещению в природе, и градуировщик может спроектировать функцию 205 отображения светлоты как он пожелает, например, чтобы затемнить угол комнаты для атмосферного эффекта, и чтобы повысить контраст серых значений, например, стола и объектов на нем.
Однако то, что теперь отличается, это то, что по меньшей мере один их входных компонентов может быть взвешен, до того, как с помощью него будет рассмотрено положение яркости цвета. Например, если шумовые характеристики изображения таковы, что синий является опасным каналом для введения шума, то коэффициент синего может быть задан ниже, например, 0,25 и даже 0,1. Это гарантирует, что (взвешенный) синий компонент будет нечасто выбираться при операции максимума, и например, будет выбираться зеленый компонент, который обычно не создает проблем. Для почти нейтральных цветовые компоненты приблизительно равны, так что не важно, какой компонент выбран. Также, например, для бирюзового, можно также использовать его зеленый компонент как его синий компонент, и красный компонент для красных обычно будет иметь максимум, вне зависимости от коэффициента масштабирования синего. Только для некоторых цветов, как чисто синий (например (0,0 128)*4), синий будет по-прежнему выбираться как максимальный компонент, даже для небольшого wB, но эти цвета не появляются часто, и тогда проблема с шумом визуально может не быть проблематичной.
Весовые коэффициенты могут обычно быть предварительно заданы градуировщиком, например, для сцены в кинофильме, т.е. для снимка изображений с одинаковой колориметрией, или даже всего кинофильма, на основе шумовых характеристик технологии его захвата (предшествующий подход для каждой сцены имеет преимущество, что градуировщик может справиться с трудностью шума на основе типа обработки цвета, которую он хочет сделать в отношении сцены, которая может серьезно усилить некоторый шум, или нет). Градуировщик может посмотреть на поведение шума и протестировать пару заданий весов с помощью ползунков, или ему может помочь алгоритм автоматического задания весов на основе шумовых характеристик, и осуществить тонкую настройку. Например, автоматический анализ может указать конкретные цветовые области, которые имеют серьезную проблему с шумом, и затем подсветить их для привлечения к ним внимания градуировщика. Например, для материала кинофильма на кинопленке, который был отсканирован цифровым образом, хорошим набором весов может быть wR=0,55, wG=1,0, wB=0,25. Если взвешиваются только цветовые компоненты, предпочтительно зафиксировать один вес в значение 1, так как тогда взаимосвязь остается корректно отмасштабированной со степенями яркости пикселя.
Фиг. 5 схематически показывает пример того, что может быть отображение для получения LDR-градуировки из принятого основного изображения с HDR-градуировкой (где градуировщик в основном решил усилить контраст среднего диапазона, и позволить некоторые усечения в светлых частях, которые могут быть лампами). Посмотрим на некоторые цвета с высокими значениями синего, B1 и B2, распределенными вокруг среднего синего компонента для области изображения. Если синие были выбраны как максимум, будут получены коэффициенты a в положениях B1 и B2 на нижнем графике. В зависимости от формы двух графиков, коэффициент a может варьироваться совсем немного для цветов с B1 против B2, и так даже область, которая должна выглядеть в достаточной степени однородной, может взять достаточно шумный шаблон (который становится видимым, так как шум в относительно темном синем компоненте проникает в ярко освещенный зеленый компонент, так как красные и зеленые компоненты умножаются на тот же самый зашумленный коэффициент). Посредством использования отмасштабированных синих компонентов, они вероятно не будут выбраны. Если имеется немного синеватое светло-беловатое небо, например, зеленые компоненты этих пикселей будут иметь приблизительно такие же значения как B1 и B2, но зеленый компонент будет менее шумным, так разброс между возможными выбранными максимальными значениями G1, G2, G3, … для соседних пикселей будет меньше, поэтому за счет непрерывности графика отображения, также разница в коэффициенте обычно будет меньше. Однако, если синие компоненты получают выбранное как максимум, в наших настоящих вариантах осуществления отмасштабированные синие компоненты получают выбранное как ввод для кривой 205 отображения. И так, получаем коэффициент в этом нижнем положении. Хотя наш способ предшествующего уровня техники гарантирует, что независимо от значения максимального компонента, он не может быть отмасштабирован больше, чем его теоретический максимум (например 1023, и два других компонента посредством колориметрического определения могут быть больше или меньше), теперь в такой низкой области могут быть коэффициенты масштабирования, которые значительно выше 1,0, в зависимости от того, какую функцию выбрал градуировщик. Применение этого коэффициента к светлому цвету пикселя во входном изображении (например (240, 180, 55) *4) может привести к усечению по меньшей мере одного компонента. Так теперь могут быть цветовые сдвиги, но градуировщик имеет новую технологию задания весов - компромиссное управление между шумностью и точностью цветопередачи (в худшем случае он может вернуться к старому поведению посредством задания всех весов в значение 1,0).
Это предпочтительно, когда устройство (200) обработки цвета изображения содержит блок умножения для каждого из трех компонентов входного цвета, и причем компонентами являются красный, зеленый и синий. Обычно будет полезно работать с представлением цвета, которым является линейное RGB. Технически можно спроектировать блок умножения для каждого цветового канала, так что веса могут быть заданы предпочтительно градуировщиком или посредством программного обеспечения для автоматического анализа изображения. Может быть, что по меньшей мере одному из блоков умножения задано значение 1,0. В этом случае он может также не присутствовать (например, быть замкнут или обойден), но предпочтительно блок умножения присутствует.
Предпочтительно устройство (200) обработки цвета изображения получает три веса (wR, wG, wB) из источника данных, ассоциированного с входным изображением (Im_R2). На стороне кодера в устройстве создания контента, градуировщик может задать веса в программном обеспечении, глядя на характеристики по меньшей мере некоторых изображений видео, или изображение, если должно быть обработано только одиночное неподвижное изображение. Обычно веса были определены на стороне декодирования (например, в телеприставке (STB), компьютере, телевизоре, цифровом киноприемнике в кинотеатре, и т.д.), и декодер считывает их из источника. Например, они могут храниться как метаданные на BD-диске или другом запоминающем продукте, могут быть приняты как поля данных в переданном телевизионном сигнале и т.д. Данные могут включать в себя математическую схему для вычисления некоторых из весов на приемнике, но обычно желательно, чтобы результаты, полученные на кодере и декодере, были одинаковыми.
Предпочтительно варианты осуществления устройства (200) обработки цвета изображения содержат блок (306) вычисления степени яркости, скомпонованный для вычисления исходя из красного, зеленого и синего компонентов степени яркости как четвертого компонента входного цвета, и содержащие блок (304) умножения степени яркости, скомпонованный для умножения степени яркости (Y) на вес степени яркости (wY), производя выходной результат, который является вводом в качестве четвертого ввода в блок (201) вычисления максимума. Специалист знает как вычислить степень яркости как линейную комбинацию цветовых компонентов RGB с фиксированными компонентами, которая зависит от колориметрии выбранного представления, т.е. цветностей основных цветов, и выбранной точки белого. Осуществление масштабирования на основе степени яркости соответствует реальному освещению, так можно пожелать, чтобы по меньшей мере, например, для ненасыщенных цветов, или для тех областей цветовой плоскости, где верхняя граница цветовой гаммы не проваливается слишком сильно по сравнению с белым (т.е. например, желтые и бирюзовые, но не синие). Выбирая соответствующие веса, например, wY=1,0 и wR, wG, wB ниже, чем по меньшей мере для некоторой области цветового пространства, обычно степень яркости будет выбираться как мультипликативный коэффициент, определяющий количество, и поэтому обработка будет вести себя главным образом как масштабирование степени яркости. Веса цветовых компонентов могут быть заданы в зависимости от того, где их хотят взять при определении максимума, например, при 0,5 или ниже.
Предпочтительно варианты осуществления устройства (200) обработки цвета изображения содержат по меньшей мере один блок (401) применения нелинейной функции, скомпонованный для применения нелинейной функции по меньшей мере к одной из красного, зеленого и синего цветовых компонентов, и при этом блок (201) вычисления максимума имеет в качестве ввода, помимо результата (NR) применения нелинейной функции к цветовому компоненту, по меньшей мере два других цветовых компонента, которые содержат цветовую информацию двух из красного, зеленого и синего компонентов, которые не были выбраны для обработки по меньшей мере одним блоком (401) применения нелинейной функции. Это имеет несколько возможных применений. С одной стороны, это обеспечивает градуировщику возможность проектирования функции 205 отображения не в линейной области, но, например, в области гаммы. В этом случае, три функции могут применить, например квадратные корни красного, зеленого и синего компонента. Масштабирование может быть сделано в самом проекте функции. Но также можно применить лишь нелинейную функцию только к одному компоненту, например, синему компоненту. Это обеспечивает возможность создания оценок светлоты, которые более точно и легко согласуются с формой цветовой гаммы. Другими двумя компонентами будут тогда обычно красный и зеленый, либо прошедший через линейную, либо нелинейную функцию. Касательно технологической реализации, можно, например, спроектировать ИС, которая имеет отдельные соединения с этими блоками, так например, 7 вводов в блоке вычисления максимума. Когда некоторые из этих вводов не нужны, их веса могут быть заданы в значение 0. Альтернативные варианты осуществления, где проектировщик думает, что некоторые из соединений никогда не понадобятся, могут также, например, иметь лишь три соединения с обработанными версиями компонентов RGB, в которых, например, функции обработки задаются в линейную функцию, если требуется.
Предпочтительные варианты осуществления устройства (200) обработки цвета изображения содержат блок (410) анализа цвета, скомпонованный для анализа входного цвета и определения из этого весов (wR, wG, wB) по меньшей мере красного, зеленого и синего цветовых компонентов. Может, например, быть набор начальных весов, но может быть предпочтительно, если (аналогичным образом) кодер и декодер может использовать некоторый алгоритм анализа цвета, например, по меньшей мере, классифицирующий, какой цвет текущего пикселя, чтобы из этого определить соответствующие веса. Например, если насыщенность цвета ниже порога S_T, то веса wR, wG, wB могут быть заданы в малые значения для пикселей, удовлетворяющих этому условию, так что степень яркости выходит за максимум. Если, например, есть большое количество неба или аналогичного цвета, склонного к шуму, вес синего компонента в калькуляторе максимума может быть задан значительно ниже, чем 1,0, в значение предварительно определенное в лаборатории, и т.д. Реализуется ли это в ИС как один компонент с постоянно обновляемыми весами, или параллельное прохождение для двух компонентов, один из которых имеет, например, фиксированные веса для обработки слабо насыщенных цветов, является лишь делом проекта.
Предпочтительно варианты осуществления устройства (200) обработки цвета изображения содержат блок (410) анализа цвета, скомпонованный для анализа входного цвета и определения из этого функциональной формы по меньшей мере одной из по меньшей мере одной нелинейной функции по меньшей мере одного блока (401) применения нелинейной функции. Аналогично, в зависимости от колориметрических условий цвета обрабатываемого в текущий момент цвета могут быть выбраны разные функции. Например, для ненасыщенных цветов может быть использована линейная схема, в которой степень яркости всегда или обычно выигрывает при определении максимума, в цветовом секторе с сильными синими, может быть выбрана некоторая нелинейная функция, которая дает, например, по меньшей мере синий нелинейный ввод NB, и т.д. Можно спроектировать нелинейные формы, так чтобы, например, синий ввод в калькулятор максимизации обычно становился малым, по меньшей мере, для конкретных областей гаммы цветов, приводя к выходу степени яркости за выбор максимума.
Предпочтительными вариантами также является, например, способ обработки цвета изображения для преобразования входного цвета (R,G,B) пикселя входного изображения (Im_R2), имеющего первый динамический диапазон степеней яркости, в выходной цвет (Rs, Gs, Bs) пикселя выходного изображения (Im_res), имеющего второй динамический диапазон степеней яркости, причем первый и второй динамический диапазон отличаются по протяженности по меньшей мере на мультипликативный коэффициент 1,5, содержащий:
- применение соответствующих взвешенных или невзвешенных функций (FNLR, FNLG, FNLB) к каждому из красного, зеленого и синего компонента входного изображения, приводя к модифицированному красному, зеленому и синему цветовым компонентам (NR, NG, NB, wR*R, wG*B, Bw), при этом каждая из функций может быть одной из нелинейной функции, линейной функции масштабирования, умножающей компонент (B) входного цвета на вес, или единичной функции входного компонента или комбинации входных компонентов, и при этом по меньшей мере один модифицированный компонент (NR, NG, NB) представляет один из красного, зеленого или синего компоненов входного изображения, взвешенный посредством неединичного с вещественным числом значения,
- вычисление максимума (M) по меньшей мере трех модифицированных компонентов;
- применение функции (F) к максимуму, производящее выходное значение (F(M)), в силу чего, функция предварительно определена имеющей ограничение, что выходное значение для наивысшего значения максимума (M) не может быть выше, чем 1,0;
- вычисление параметра масштабирования (a), равного выходному значению (F(M)), деленному на максимум (M); и
- умножение трех цветовых компонентов входного цвета (R,G,B) на параметр масштабирования (a), производя цветовые компоненты выходного цвета (Rs, Gs, Bs).
Способ обработки цвета изображения, в котором максимум вычисляется, в дополнение к трем красному, зеленому и синему цветовым компонентам, также из степени яркости (Y), отмасштабированной с помощью веса степени яркости (wY).
Способ обработки цвета изображения по пункту 10 или 11, в котором вычисление максимума имеет по меньшей мере один ввод, который является нелинейным преобразованием по меньшей мере одной из красной, зеленой и синей компоненты.
Способ обработки цвета изображения по одному из вышеуказанных пунктов, в котором по меньшей мере один из весов (wR, wG, wB, wY) определяется на основе анализа цвета пикселя.
Компьютерный программный продукт, содержащий код, кодифицирующий этапы по меньшей мере по одному из вышеуказанных пунктов способа, тем самым после выполнения обеспечивающий процессору возможность реализации этого способа.
Сигнал изображения (S_im), содержащий кодирование цветов матрицы пикселей, и в дополнение к этому в качестве кодированных метаданных по меньшей мере один из весов (wR, wG, wB, wY), используемых в одном из вышеуказанного устройства или способа, что обычно будет реализовано в том, что сигнал задан так, что приемники однозначно знают, что значат веса, а именно, что они предназначены для использования в качестве весов для соответствующих цветовых компонентов до вычисления максимума. Обычно в метаданных могут быть, например, заполнители, с заголовком, указывающим, что например 4 веса следуют в порядке красный, зеленый, синий и степень яркости (или яркость, если сигнал задан или должен быть обработан в нелинейной области).
Специалист поймет, что варианты осуществления настоящего изобретения могут быть реализованы во многих технических вариантах, например, устройство (200) обработки цвета изображения может быть реализовано как содержащееся, например, в телеприставке, или дисплее, или камере, и т.д., или содержаться в кодере или декодере изображений или видео.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Эти и другие аспекты любого варианта способа и устройства согласно данному изобретению будут понятны из реализаций и вариантов осуществления, описанных в дальнейшем, и разъяснены со ссылкой на них, и со ссылкой на прилагаемые чертежи, причем чертежи служат лишь как неограничивающие конкретные иллюстрации, приводящие в качестве примера более общую идею, и на которых пунктирные линии используются для указания, что компонент является опциональным, компоненты, не выделенные пунктиром, необязательно являются обязательными. Пунктирные линии могут быть также использованы для указания, что элементы, которые объясняются как обязательные, скрыты в интерьере объекта, или для нематериальных вещей, таких как, например, выборы объектов/областей, указания уровней значений на диаграммах, и т.д.
На чертежах:
Фиг. 1 схематично иллюстрирует заявленный способ кодирования по меньшей мере двух градуировок с разным динамическим диапазоном степеней яркости, на основе кодирования и передачи, обычно посредством существующей технологии обмена видео, требуемой информации как набора изображений одной из градуировок, и данных, которые должны иметь возможность реконструирования функций на принимающей стороне, которые должны быть использованы для осуществления цветового отображения первого набора изображений во второй набор, имеющий другую градуировку;
Фиг. 2 схематично иллюстрирует заявленную основную технологию отображения светлоты(яркости) для преобразования динамического диапазона, как опубликовано в WO2014/056679;
Фиг. 3 схематично иллюстрирует более простые варианты заявленного настоящего изобретения, в которых по меньшей мере некоторые из цветовых компонентов RGB взвешены с помощью коэффициентов масштабирования, обычно меньших, чем коэффициент масштабирования до введения в блок вычисления максимума, или равных ему, и также может присутствовать ввод степени яркости;
Фиг. 4 схематично иллюстрирует более сложные варианты осуществления, в которых другие компоненты присутствуют для доставки дополнительного ввода в блок вычисления максимума, такие как блоки для нелинейного отображения цветовых компонентов (401, …), блок для вычисления произвольной линейной или нелинейной комбинации цветовых компонентов (404), и блок анализа цвета для задания весов;
Фиг. 5 схематично иллюстрирует как выбор некоторых максимальных значений приводит, посредством предварительно определенной градуировщиком функции 205 отображения, к мультипликативным коэффициентам (a) для осуществления обработки цвета в конечном счете; и
Фиг. 6 показывает тот же принцип преобразования цвета на основе максимального одного определения компонентов входного цвета, но в нелинейной области или области гаммы.
ПОДРОБНОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 3 показывает пример, как наше настоящее изобретение может быть реализовано. Линейные красный, зеленый и синий компоненты пикселя входного изображения (R,G,B) умножаются блоками (301, 302, 303) умножения на доступные веса (wR, wG, wB), производя в результате взвешенные вводы, например, взвешенный синий Bw=wB*B. Также может быть блок (306) вычисления степени яркости, который вычисляет степень яркости как a1*R+a2*G+a3*B, с фиксированными константами a1, a2, a3, в зависимости от системы представления цвета, например, P3, Rec. 709, Rec. 2020, и т.д. В практических устройствах и способах обработка цвета может быть до и после нашего только что описанного блока, например, преобразование в другую цветовую основу, но это не требуется для понимания настоящего изобретения и будет только напрасно усложнять разъяснение. Если присутствует ввод степени яркости, может содержаться блок 304 умножения степени яркости, даже если он умножает на 1,0, но если он всегда умножает на 1,0, этого компонента может не быть (но видеосигнал может все равно явным образом содержать четыре веса, в этом случае, аппаратные средства без блока умножения степени яркости все равно могут корректно осуществлять обработку, даже когда игнорируется вес степени яркости, вместо того, чтобы задавать с его помощью блока умножения степени яркости).
Блок (201) вычисления максимума затем вычисляет, какой из вводов является наибольшим, который мы называем M (например, зеленый компонент, имеющий значение 180*4, если длина слова для компонентов составляет, например, 10 битов). Когда блок (202) отображения светлоты применяет функцию к M, причем функция была спроектирована ранее градуировщиком, чтобы гарантировать, что результирующее изображение имеет хороший вид. Этим изображением может быть, например, LDR-градуировка, которая должна быть визуализирована на дисплеях с PB около 100 нит, вычисленная из мастер HDR-градуировки. На принимающей стороне, мастер HDR-изображения и данные функции, могут быть, например, считаны из запоминающего продукта, наподобие BD, или приняты как телевизионный сигнал через антенну, или считаны через Интернет из некоторой удаленной базы данных, и т.д. Наконец, калькулятор (203) параметра масштабирования вычисляет a=F(M)/M, и блок (204) умножения умножает цветовые компоненты RGB на этот коэффициент a, производя выходные цвета (Rs, Gs, Bs) для пикселей в выходном изображении, которое может быть отформатировано в сигнал выходного изображения, например, согласно стандарту для его передачи из STB на TV, и т.д.
Фиг. 4 показывает, что возможно в более сложных вариантах осуществления. Вместо лишь считывания весов, которые, например, синхронизируются с началом снимков изображений из кинофильма, т.е. немного раньше до первого изображения из снимка, который должен быть обработан, блок (410) анализа цвета может вычислить веса, присутствовали ли они уже и должны быть перезаписаны по меньшей мере для некоторых ситуаций, или должны быть вычислены оперативно (на лету) (в случае, когда передаются не веса, но один или более алгоритмов для их получения). В принципе, может быть сделан любой анализ ситуации с цветом, обычно просто посмотрев на цвет самого пикселя, но также могут быть оценены другие цвета изображения, например, окружающих пикселей, чтобы оценить, будет ли заметен шум, и также в зависимости от того, что требуется, как например, PB требуемой градуировки, окружающие условия просмотра, допустимое качество ввиду цены контента, и т.д.
Могут присутствовать блоки (401, 402, 403) применения нелинейной функции для предоставления нелинейных цветовых компонентов (NR, NG, NB) в качестве ввода в блок вычисления максимума. Это предпочтительно, например, если имеется желание спроектировать функцию 205 отображения, которая дискретизируется иначе, например, в системе с логарифмической осью, и т.д. Блок нелинейного преобразования может также присутствовать на выходе блока вычисления максимума (т.е. между блоками 201 и 202), т.е. нелинейно преобразовывая максимум M, был ли он выбран из линейных и/или нелинейных цветовых компонентов в качестве ввода. Нелинейные функции могут, например также быть реализованы делая функции весов цветового компонента вместо одного или более фиксированных вещественных чисел, например wB=B-cB.
Также может присутствовать блок (404) объединения цветовых компонентов. С помощью этого, например, может быть вычислена несколько иная оценка светлоты SBC, чем степень яркости, например, как b1*R+b2*G+b3*B. Он может также линейно или нелинейно объединить нелинейные компоненты NR, NG, NB, или в действительности вычислить какую-либо нелинейную функцию, производящую одиночный параметр с вещественным значением, в кубе возможных входных цветов (причем функция может обычно быть осуществлена как одна или более LUT, которые могли быть оптимизированы, например, для конкретных классов контента, как например, какая камера захватила контент и потенциально при каких условиях, например, ночью или днем, какой это тип контента, например, кинофильм о природе или мультфильм, или графика или контент, содержащий некоторую графику, как например, может быть учебный фильм или новости, и т.д.).
Наконец, в частности, если технология осуществлена в устройстве кодирующей стороны, как со всеми такими вариантами осуществления, кодер 450 метаданных будет собирать все параметры, такие как все веса, параметры, задающие формы нелинейных функций, или вычисления параметров, или данные LUT, или алгоритмы, классифицирующие конкретные колориметрические свойства изображения(й), которое(ые) должно(ы) быть обработано(ы), и т.д., и после форматирования этого в предварительно согласованный формат, отправляют это технологии 451 связи, например, серверу, соединенному с Интернетом для дальнейшей подачи конечным потребителям, или прямой линии связи с потребителем, и т.д. Специалист может понять, как настоящие варианты осуществления могут быть включены в различные технологии, связанные с изображениями, как например, системы подачи видео, программное обеспечение для обработки изображения или видео, системы анализа или повторной обработки изображения, и т.д.
Фиг. 6 показывает как тот же принцип может быть применен при нелинейном представлении RGB, обычно версии с классической гаммой RʹGʹBʹ, примерно являющиеся квадратным корнем линейных светлых RGB-цветов, как например, предписано функцией электронно-оптического переноса (которая задает отображение между линейными цветовыми компонентами, например R, и кодами яркости Rʹ, и наоборот посредством EOTF), например согласно Rec. 709 (следует отметить, что помимо нелинейных элементов цвета форма гаммы цветов остается одинаковой для выбранных красного, зеленого и синего основных цветов).
В этом лишь разъясняющем примере показан пример преобразования цвета HDR-LDR, но специалист может понять, что можно аналогично спроектировать устройство LDR-HDR, например, в приемнике, которое получает LDR-изображения и должно получить их HDR-версии для дисплея, допустим, 5000 или 1000 нит, имеется входной HDR-сигнал. Предположим, что было задано с яркостью Yʹʹ, заданной посредством новой исключительно нелинейной EOTF, подходящей для HDR-кодирования, как в SMPTE 2084 (так называемой PQ-кривой), но конечно это лишь вариант.
Калькулятор 601 матрицы преобразовывает это YʹʹCbCr-представление цвета пикселя(ей) в исключительно нелинейное (почти логарифмическое) Rʹʹ, Gʹʹ, Bʹʹ -представление. Блок 602 вычисления нелинейной функции применяет фиксированную нелинейную функцию для преобразования этих компонентов в классические компоненты с яркостью RʹGʹBʹ, т.е. заданные согласно обычно, например, функции Rec. 709, заданной как:
Rʹ=4,5*R если R<0,0018 или=1,099*степень(R; 0,45) -0,099 если R>= 0,018
И те же равенства для G и B, когда они заданы начиная с нелинейных компонентов RGB, но теперь они начнутся с PQ-компонентов RʹʹGʹʹBʹʹ, что обычно может сделано посредством разового вычисления LUT заранее.
В этот контур мы добавили блок 603 вычисления степени яркости, так как если вычисляется степень яркости в нелинейном пространстве, есть некоторая проблема непостоянных степеней яркости до некоторой степени. То, что делает этот блок, это вычисление посредством линейной области, т.е.:
Yʹ= степень([CR*Rʹ^gam+ CG*Gʹ^gam+ CB*Bʹ^gam]; 1/gam), в которой gam равняется, например, 2,0, ^ указывает операцию возведения в степень, и CR, CG и CB являются известными весами компонентов для вычисления степени яркости, которые могут быть однозначно вычислены колориметрически, если известны цветности основных цветов RGB и точки белого. И так, таким образом получают реалистичное значение яркости пикселя, соответствующее его действительной степени яркости.
Блок 604 вычисления максимума является снова любым из вариантов осуществления вычисления максимума взвешенного компонента, возможность которого обеспечивает наше изобретение, и блок 202, 203 вычисления компонента масштабирования содержит преобразование коррелята входной светлоты Vʹ из максимума в компонент масштабирования для мультипликативной обработки, т.е. содержит, что делают блоки 202 и 203. Наконец блоки 605, 606, и 607 умножения реализуют посредством компонента масштабирования преобразование цвета в выходной цвет (Rs, GS, Bs), который в этом варианте осуществления матрицируется снова в YʹCbCr посредством цветовой матричной схемы 608, но теперь это в области гаммы, т.е. Yʹ-код, заданный согласно, например, обычно Rec. 709 EOTF.
Алгоритмические компоненты, раскрытые в этом тексте, могут (полностью или частично) быть реализованы на практике как аппаратные средства (например, части специализированной ИС) или как программное обеспечение, выполняющееся на специальном процессоре цифровой обработки сигналов, или процессоре общего назначения, и т.д. Они могут быть полуавтоматическими, в том смысле, что по меньшей мере может присутствовать/присутствовал некоторый пользовательский ввод (например, на заводе, или ввод потребителя, или ввод другого человека).
Из нашего представления специалисту должно быть понятно, какие компоненты могут быть опциональными улучшениями и могут быть реализованы совместно с другими компонентами, и как (опциональные) этапы способов соответствуют соответствующим средствам устройства, и наоборот. Тот факт, что некоторые компоненты раскрыты в данном изобретении в некоторой взаимосвязи (например, на одиночной Фигуре в некоторой конфигурации), не означает, что другие конфигурации не возможны в качестве вариантов осуществления при том же изобретательском размышлении, которое раскрыто здесь для патентования. Также, тот факт, что по прагматичным причинам был раскрыт только ограниченный спектр примеров, не означает, что другие варианты не могут попасть в объем формулы изобретения. В действительности, компоненты данного изобретения могут быть осуществлены в разных вариантах в любой цепочке использования, например, все варианты стороны создания, как например, кодер, могут быть аналогичны или соответствовать соответствующим устройствам на стороне потребления декомпозиционной системы, например, декодеру, и наоборот. Некоторые компоненты вариантов осуществления могут быть кодированы как конкретные данные сигнала в сигнале для передачи, или дальнейшего использования, такого как координация, при любой технологии передачи между кодером и декодером, и т.д. Слово "устройство" в этой заявке используется в его широком смысле, а именно, группа средств, обеспечивающая возможность реализации конкретной цели, и может поэтому, например, быть (небольшой частью) ИС, или выделенное устройство (такое как устройство с дисплеем), или часть сетевой системы, и т.д. Термин "компоновка" или "система" также предназначен для использования в самом широком смысле, так он может содержать среди прочего одиночное физическое, доступное для приобретения устройство, часть устройства, группу (части) взаимодействующих устройств, и т.д.
Смысл компьютерного программного продукта должен пониматься как охватывающий любую физическую реализацию группы команд, обеспечивающих возможность универсального процессора или процессора специального назначения, после последовательности этапов загрузки (которые могут включать в себя этапы промежуточного преобразования, такие как перевод на промежуточный язык, и конечный язык процессора), чтобы ввести команды в процессор, выполнить любые из характеристических функций изобретения. В частности, компьютерный программный продукт может быть реализован как данные на носителе, таком как, например, диск или пленка, данные, присутствующие в памяти, данные, перемещающиеся по сетевому соединению, проводному или беспроводному, или программный код на бумаге. Помимо программного кода, характеристические данные, требуемые для программы, могут также быть осуществлены как компьютерный программный продукт. Такие данные могут быть (частично) поданы любым способом.
Данное изобретение или какие-либо данные, используемые согласно любой философии настоящих вариантов осуществления как видеоданные, могут также быть осуществлены как сигналы в носителях данных, которые могут быть съемными устройствами памяти, как оптические диски, устройства flash-памяти, съемные жесткие диски, портативные устройства с возможностью записи беспроводными средствами, и т.д.
Некоторые из этапов, требуемые для функционирования любого представленного способа, могут уже присутствовать в функциональности процессора или любых вариантах осуществления устройства по данному изобретению вместо описанных в компьютерном программном продукте или любом блоке, устройстве или способе, описанных в настоящем документе (со спецификой вариантов осуществления данного изобретения), такие как этапы ввода и вывода данных, хорошо известные обычно включающие в себя этапы обработки, такие как стандартное возбуждение дисплея, и т.д. Следует отметить, что вышеупомянутые варианты осуществления иллюстрируют, а не ограничивают данное изобретение. Там где специалист может легко понять отображение представленных примеров в другие области формулы изобретения, для краткости все эти варианты детально не упоминались. Помимо комбинаций элементов данного изобретения, которые скомбинированы в формуле изобретения, возможны другие комбинации элементов. Любая комбинация элементов может быть реализована в одиночном выделенном элементе.
Любая ссылочная позиция между скобками в формуле изобретения не предназначена для ограничения формулы изобретения, также не является каким либо конкретным символом на чертежах. Слово "содержащий" не исключает присутствия элементов или аспектов не приведенных в формуле изобретения. Указание единственного числа элемента не исключает присутствия множества таких элементов.