СПОСОБЫ И УСТРОЙСТВА ДЛЯ КОДИРОВАНИЯ HDR-ИЗОБРАЖЕНИЙ
METHODS AND DEVICES FOR CODING OF HDR IMAGES

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Изобретение относится к кодированию одного (т.е. неподвижного), но предпочтительно более (т.е. видео) изображений с расширенным динамическим диапазоном и к соответствующим техническим системам и способам передачи необходимой информации о кодированном изображении на приемную сторону, и к декодерам для декодирования кодированных изображений и, наконец, обеспечения их для отображения.
УРОВЕНЬ ТЕХНИКИ
После многих лет использования классической технологии кодирования изображений/видео (начиная с NTSC и продолжая с MPEG-2 вплоть до MPEG-HEVC), которую мы в настоящее время называем кодированием с узким динамическим диапазоном (LDR), в последнее время научные исследования и разработки начали определять следующее поколение видеокодека, который способен обрабатывать так называемые изображения с расширенным динамическим диапазоном (HDR-изображения) HDR-сцен.
Для этого, с одной стороны, требуется камера, которая может регистрировать увеличенный динамический диапазон, по меньшей мере свыше 11 ступеней экспозиции (например, в существующих камерах ARRI достигается около 14 ступеней экспозиции), либо предпочтительно даже свыше 16 ступеней экспозиции. Некоторые камеры используют, например, медленную и быструю экспозиции и совмещают их, а другие камеры могут использовать разделение светового пучка на два или более датчиков с различной чувствительностью.
В то время как при классическом формировании изображений множество информации отбрасывалось (жестко ограничивалась), например, вне комнаты или автомобиля, современные системы формирования изображений могут регистрировать всю эту информацию, и вопрос в том, что потом с ней делать, в частности, при воспроизведении на дисплее. 16 ступеней экспозиции должно быть уже достаточно для регистрации многих (хотя и не всех) HDR-сцен, но на дисплее не обязательно воспроизводить, например, сварочную дугу такой же яркой по сравнению со средней яркостью, как и в реальной сцене, да это и невозможно на обычных дисплеях. В настоящее время появляются дисплеи с более широким динамическим диапазоном, которые имеют более высокую пиковую яркость, чем существующая пиковая яркость (РВ) 500 нитов (или 100 нитов для градуировочных эталонных мониторов) LDR-дисплеев, так, например, появляются телевизоры с 800-1000 нитами, а компания SIM2 создала монитор с 5000 нитами.
Но спецификации кодека LDR не позволяют в достаточной мере кодировать детали в HDR-изображениях в приемник, особенно когда необходимо также учитывать существующие типичные ограничения, например, помимо прочего, длину слова в числе битов кодовых слов, представляющих, например, яркости (называемые в кодах сигналами яркости), которые должны обрабатываться различными интегральными схемами (например, 10 бит на цветовую компоненту может быть желательным по меньшей мере в некоторых сферах применения видеосвязи). В частности, если кому-то на короткое время нужна работающая система, она не должна слишком сильно отклоняться от существующей технологии в данной области, тем не менее, обеспечивая кодирование, обработку и конечное отображение изображения при значительно более привлекательном внешнем виде HDR, чем у LDR-изображения (например, более яркие лампы или реалистичный огонь, более контрастная чешуя ящерицы на солнце и т.д.).
HDR-изображение представляет собой изображение, которое кодирует текстуры HDR-сцены (которая, как правило, может содержать одновременно и очень яркие области, и темные, и, возможно, даже области с промежуточной яркостью при значительном числе градаций серых тонов, которые в идеале необходимо точно воспроизвести) с достаточной информацией для высококачественного кодирования цветовых текстур различных регистрируемых объектов в сцене таким образом, что воспроизведение HDR-сцены с визуально высоким качеством может осуществляться на высококачественном HDR-дисплее с высокой пиковой яркостью, например, 5000 нитов. На фиг. 1 показано типичное HDR-изображение, а именно, магазин игрушек ночью, при этом ярко окрашенные игрушки или коробки сильно освещены по сравнению со средним освещением, поскольку некоторые из этих игрушек находятся вблизи локальных ламп, а другие игрушки находятся на отдалении в затемненных областях. В противоположность дневным сценам, в которых солнце и небо одинаково освещают каждую точку, ночью могут существовать лишь несколько источников света, которые освещают сцену с уменьшением в квадратичной зависимости. Это создает яркие области 104 вокруг самого источника света и темные области в дальних углах. Например, впускное отверстие 114 канализационной системы почти не получает ниоткуда света, поэтому во впускном отверстии темно. Т.е. в ночной сцене мы можем одновременно иметь яркости областей изображения (либо при регистрации линейной камерой: яркости пикселей в этих областях) величиной свыше 10.000 нитов для самих ламп и доли нитов, например, 0,001 нита для темных областей, что составляет полный динамический диапазон 10 миллионов к 1. Исходя из теоретического диапазона для самого яркого пикселя по отношению к самому темному, полезный динамический диапазон, конечно, может быть ниже, поскольку может не понадобиться точное представление зрителю пары небольших ламп или небольшого темного пятна за впускным отверстием канализационной системы, но в типичных HDR-сценах даже полезный динамический диапазон обычных интересующих объектов может составлять значительно больше 10.000:1 (или 14 ступеней экспозиции). Преобразование этих яркостей вслепую без интеллектуального переопределения подлежащих воспроизведению яркостей пикселей объектов для отображения пиковых яркостей величиной 2000 нитов означает, что он должен «теоретически» (исходя из того, что воспроизведение относительно пикового белого является достаточной для воспроизведения этого примера сцены с высоким визуальным качеством) иметь минимальный (видимый) черный цвет величиной по меньшей мере 0,2 нита.
Кодирование HDR-видео (или даже неподвижных изображений) исследовалось лишь в последнее время и до сих пор является чрезвычайно сложной задачей, при этом исследователи обычно убеждены, что либо необходимо идти на значительное увеличение числа битов для кодирования яркости свыше LDR-диапазона объектов сцены (например, кодирования, при котором кодируются непосредственно яркости объекта), либо необходимо использовать некоторый двухуровневый подход, при котором, например, помимо изображения отражательной способности объекта имеется изображение увеличения освещенности объекта, либо подобные стратегии разложения. Пример такой системы кодирования HDR-видео типа «два изображения в момент времени» приведен в US8248486B1 или WO2005/1040035.
Заявителем недавно предложен значительно более простой подход типа «одно изображение в момент времени» (см. WO2011/107905 и WO2012/153224), который является параметрическим, функциональным способом кодирования изображений и вида HDR, и вида LDR, поскольку помимо всего лишь кодирования одного HDR-изображения (называемого также видом или градуировкой), обычно подходящего для дисплеев с пиковыми яркостями (или, в сущности, динамическими диапазонами) около предварительно выбранного контрольного значения, например, 1500 нитов, мы также хотим предусмотреть в нашей инфраструктуре другие имеющиеся в продаже дисплеи с другими динамическими диапазонами. Т.е. поскольку также будут существовать, например, портативные дисплеи на 500 или 100 нитов, вместо того, чтобы вслепую оставлять на усмотрение приемной стороны, как изменять кодированное изображение с расширенным динамическим диапазонов на некоторое имеющее приемлемый вид LDR-изображение путем автоматического преобразования, мы осуществляем совместное кодирование в функциях обработки цветов (и параметрах, характеризующих их функциональные формы), как получить надлежащее LDR-изображение, начиная с кодированного HDR-изображения, а именно, LDR-изображение, с которым мог бы согласиться создатель контента.
Под «расширенным динамическим диапазоном» (HDR) мы обычно подразумеваем, что либо изображение (изображения), регистрируемое с регистрирующей стороны, имеет 1) высокий коэффициент яркостного контраста по сравнению с традиционным кодированием LDR (т.е. коэффициенты контраста величиной 10.000:1 или более могут быть достижимы за счет кодирования и всех компонентов цепи обработки изображений вплоть до воспроизведения); и 2) яркости зарегистрированного изображения свыше по меньшей мере 1000 нитов должны быть кодируемыми и, в частности, может потребоваться их воспроизводимость свыше 1000 нитов - с учетом среды воспроизведения - для формирования некоторого требуемого внешнего вида, скажем, горящей лампы или освещенного солнцем наружного вида. Или же воспроизведение такого изображения (изображений) представляет собой HDR (т.е. изображения должны быть подходящими в том отношении, что они содержат информацию, которая является достаточной для высококачественного воспроизведения HDR, предпочтительно, технически простым в использовании способом), следовательно, изображение (изображения) воспроизводится или должно воспроизводиться на дисплеях с пиковой яркостью по меньшей мере 1000 нитов (не подразумевая, что они не могут воспроизводиться на LDR-дисплеях яркостью, например, 100 нитов, обычно после подходящего отображения цветов, уточняющего яркости различных объектов изображения, таким образом, что результирующие яркости объекта являются более подходящими для динамического диапазона и, возможно, условий наблюдения различных дисплеев).
При проектировании новой системы HDR-кодирования приходится по ряду аспектов последовательно проводить исследования и получать некоторое решение еще до возможности внесения недостающих деталей любой реальной системы кодирования, для которой не было приемлемого равномерного вида. Во-первых: какую функцию кодового распределения, которая преобразует яркости объекта сцены, например, в 10-битовые (либо даже 8 для систем более низкого качества, либо, например, 12 для профессионального качества) сигналы яркости, фактически кодирующие подлежащие воспроизведения яркости для пикселей, необходимо использовать? Мы будем называть коды, которые кодируют воспринимаемые яркости или воспроизводимые яркости пикселей, сигналами яркости, поскольку это наименование использовалось при кодировании LDR, но в данном случае функция кодового распределения может являться одной из альтернатив, но по меньшей мере сильно отличающейся от функции кодового распределения «гамма 2,2» видеокодирования LDR. Специалисту будет понятно, что когда мы объясняем технологию с поведением яркостей или, что то же самое, сигналов яркости, в реальных вариантах осуществления обработка может осуществляться в самих сигналах яркости, например, при использовании цветового представления Yʹuʹvʹ, в котором Yʹ - сигнал яркости, определяемый с использованием предварительно фиксированной функции кодового распределения, а uʹ и vʹ - координаты цветности или, что то же самое, в линейных или нелинейных представлениях RGB. Выбор функции кодового распределения может быть эквивалентно сформулирован как определение основной EOTF (электрооптической передаточной функции), которая определяет, как теоретическая модель эталонного дисплея преобразует яркостные коды, или сигналы яркости, HDR-изображения в воспроизводимые сигналы яркости на эталонном дисплее. Вариант с LDR был фиксированным скорее случайно законом степени 2,2 или так называемой гамма-функцией по физическому поведению электронных пушек электронно-лучевой трубки (ЭЛТ), и оказалось, что психовизуально он прекрасно работает с этими типами дисплеев с пиковой яркостью около 100 нитов и с изображениями, зарегистрированными в соответствии с принципами регистрации LDR, в том числе, при достаточно равномерном освещении сцены, правильной экспозиции и ограничением менее интересных областей изображения.
Но, во-вторых, еще до того, как может быть определена функция кодового распределения, распределяющая яркости по кодам в диапазоне кодов (например, 0-1013), должен быть определен так называемый основной диапазон яркостей, который является наилучшим диапазоном для кодирования типичного HDR. Этим этапом нельзя пренебрегать. В LDR диапазон получается случайным образом путем экспонирования относительно среднего серого и белого и независимо от того, какой динамический диапазон имел датчик (и без учета того, что, например, небольшой наклон целлулоидной пленки может дать довольно неконтрастное изображение, в то время как изображение цифровой камеры может иметь ограничение на белом конце и/или погружение в шумы на черном конце кодирования). Первые исследователи, работавшие с неподвижными изображениями, полагали, что целесообразно обеспечивать линейный диапазон типичных яркостей сцены (т.е. от очень малых долей нита до миллиардов нитов), но для видеокодирования с учетом всех практических аспектов не слишком целесообразно обеспечивать изменение такого основного диапазона яркостей вплоть до 1 миллиарда нитов солнца.
Однако, даже при понимании того, что необходимо задавать новый основной диапазон яркостей для обработки всех типичных HDR-изображений (типичных после надлежащей высокопрофессиональной градуировки по яркостям объекта, которая была бы подходящей для дисплея, даже высококачественного HDR-дисплея), существовало предубеждение, что необходимо определять только один остаточно большой диапазон яркостей HDR, которого затем будет достаточно для всех сценариев. Приложения, которым необходим HDR-вид сцены, должны затем работать с принятым изображением, которое кодировалось в этом основном диапазоне яркостей, например, с использованием яркостей вплоть до максимальной яркости, составляющей 10000 или 5000 нит.
В WO2014/009844 описан пример такой основанной на основном диапазоне яркостей системы видеокодирования HDR, подобной описываемым ниже вариантам осуществления в том отношении, что она также соответствует принципам кодирования «одно изображение в момент времени» заявителя, согласно которым отдельное изображение кодируется для каждого момента времени видео, что в данной идее будет являться первым LDR-видом (например, 100 нитов), а в дополнение к этому функции обработки цветов кодируются в метаданных, связанных с отдельными изображениями, для преобразования их во второй вид, являющийся видом HDR (который может являться восстановлением основной градуировки 5000 нитов). Однако идеи в данной заявке на патент соответствуют обоснованию принципов проектирования с отдельным фиксированным основным диапазоном яркостей. Обычно кодируется только отдельный вид LDR и HDR (по этой информации могут иметься другие промежуточные виды, вычисляемые на приемной стороне, например, LDR-изображение может быть улучшено до вида, требуемого для подключенного дисплея с 1200 нитов, но не описывается само промежуточное кодирование изображения с более низким HDR-качеством, т.е. передаются только LDR-изображения с 10 нитами). При этом данный вид HDR является основным видом, создаваемым в основном диапазоне яркостей 5000 нитов, а LDR-изображение является изображением для эталонного дисплея 100 нитов, как происходило в эру LDR, а HDR-изображение фактически кодируется посредством функционального преобразования из единственного переданного LDR-изображения. Т.е. всего лишь основной HDR, например, изображение с 5000 нитами (HDR_ORIG, HDR_FIN) описывается помимо LDR-вида, который обычно требуется для обратной совместимости с традиционными дисплеями и т.д.
В US2014/097113 заявителя также описывается, как можно передавать HDR-изображение, которое может являться единственным принимаемым HDR-изображением и по которому могут вычисляться другие градуировки, но данный документ умалчивает об этом аспекте. В данной публикации из уровня техники описано, что можно в качестве альтернативы кодировать виды с несколькими динамическими диапазонами в той же существующей технологии контейнера кодирования LDR. Следует указать, какая версия при этом использовалась, чтобы нельзя было сбить с толку приемник. Например, пиксели изображения могут иметь цвета, задаваемые 3-мя 16-битовыми цветовыми компонентами R, G и B в соответствии со стандартным определением LDR-кодирования (т.е. с функцией кодового распределения Rec. 709). В этом случае приемник будет знать, что это - градуировка для дисплея со 100 нитами, и, следовательно, будет отображать ее с максимальной яркостью, в точности или приблизительно равной 100 нитам, даже в том случае, когда дисплей имеет пиковую яркость величиной 2500 нитов, и поэтому может воспроизводить изображения настолько яркими. В альтернативном варианте те же цветовые компоненты R, G и B могут содержать цвета, например, HDR-изображения с 5000 нитами, что означает, что относительные значения цветов пикселей объекта будут различными (например, темный объект может иметь красный компонент величиной 0,05 в LDR, но 0,0005 в HDR). В случае если принимаемые кодированные LDR-контейнером изображения в действительности содержат HDR-изображение, данное обстоятельство будет указано приемнику с помощью метаданных, определяющих, каким является фактическое кодирование. Поэтому приемник может знать, как оптимально воспроизводить на конкретном дисплее, с помощью своей собственной обработки с оптимизацией. Например, если принимается изображение с 5000 нитами, и подключен дисплей на 4500 нитов, это изображение может непосредственно воспроизводиться без предварительного колориметрического преобразования. Однако, если подключен дисплей на 100 нитов, в таком принимаемом изображении с 5000 нитами сначала придется понизить качество, но в этом нет необходимости, если уже было принято соответствующее изображение со 100 нитами. Поэтому в уровне техники объясняется, что приемнику на своей стороне, возможно, потребуется выполнить некоторое преобразование цвета, например, принимаемое HDR-изображение со 1000 нитами является более оптимальным, например, для дисплея на 500 нитов, но в данном объяснении совершенно не объясняется, как это должно осуществляться, и уж тем более, если и как это должно упрощаться за счет передачи большего объема информации с передающей стороны. Т.е. помимо объяснения, как кодировать и задавать различные возможные градуировки HDR или LDR, данный документ, тем не менее, ничего не объясняет ни относительно конфигураций системы, в действительности, имеющих по меньшей мере две кодировки HDR на передающей стороне, ни относительно их восстанавливаемости на приемной стороне (в данной публикации из уровня техники будет иметься только одно HDR-изображение, которое можно сравнивать с нашей основной градуировкой 5000 нитов).
US2012/0230597 является лишь еще одним альтернативным способом кодирования ОДНОГО отдельного HDR-изображения (например, изображения с 5000 нитами) в виде SDR-изображения+данных, обеспечивающих восстановление HDR-изображения с 5000 нитами.
US2011/0279506 является лишь описанием того, как следует наилучшим образом преобразовывать цвета для принтера. Поскольку отпечатки являются репродукциями с низким динамическим диапазоном, к тому же вычитательной колориметрии, значительно отличающейся от видеокодирования для аддитивного телевидения, может быть извлечено мало информации, имеющей ценность.
При формулировании гибкой системы кодирования HDR может, на первый взгляд, показаться довольно нелогичным отступать от конечного кодирования HDR-изображений в одном основном диапазоне яркостей (помимо прочего, зачем нужно что-то еще, помимо данной наилучшей градуировки HDR-сцены, поднимаясь до возможных наивысших достаточно воспроизводимых яркостей объекта, или же, зачем еще больше усложнять дело за счет наличия дополнительных возможных путей определения HDR?), однако автор изобретения считает, что для некоторого класса применений все-таки имеется необходимость в еще большей гибкости в отношении определения кодов сигнала яркости и того, каким яркостям HDR, или, что более точно, визуализируемым яркостям на одном или более дисплеях будут соответствовать эти сигналы яркости.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Задача создания более гибкой технологии кодирования HDR-видео, которая будет больше соответствовать требованиям завтрашнего дня, реализуется с помощью кодера (301) для кодирования входного видео с расширенным динамическим диапазоном, содержащего набор изображений (Im_5000), яркости цветов пикселей которых меньше или равны первой максимальной яркости (L_max_M), в кодированное видео (Im_2000) с расширенным динамическим диапазоном, отличающегося тем, что яркость любого пикселя в кодированном видео (Im_2000) с расширенным динамическим диапазоном меньше или равна второй максимальной яркости (L_max_C), составляющей по меньшей мере 900 нитов, при этом первая максимальная яркость (L_max_M) по меньшей мере в два раза превышает вторую максимальную яркость (L_max_C), причем, кодер содержит:
- блок (320) повторной градуировки, выполненный с возможностью позволять создателю контента задавать по меньшей мере функцию (F_2Tu) тональной компрессии для цветового преобразования кодированного видео (Im_2000) с расширенным динамическим диапазоном более низкой второй максимальной яркости (L_max_C) в восстановленное видео (Im_5000*) с расширенным динамическим диапазоном из видео (Im_5000) с расширенным динамическим диапазоном; и
- средство форматирования, выполненное с возможностью записи в видеосигнал (S_im) кодированного видео (Im_2000) с расширенным динамическим диапазоном, а в качестве метаданных - упомянутой по меньшей мере функции (F_2Tu, 601) тональной компрессии.
Поскольку это позволяет градуировщику задавать очень точное необходимое описание (F_2Tu) цветового преобразования для преобразования, например, основной градуировки 5000 нитов в имеющейся комнате в другой эталонный диапазон/палитру 2000 нитов, которая имеется по техническим соображениям. Поэтому - в отличие от какого-либо объяснения из уровня техники или того, что диктовала бы первоначальная аргументация - фактически имеются две градуировки HDR. Та, которую градуировщик может проводить по желанию, и та, которую ему необходимо оптимизировать для передачи по меньшей мере на один приемник. Яркости первой, основной градуировки доходят, например, до 5000 нитов. Яркости пикселей фактически передаваемого кодирования HDR потенциально будут доходить до нижнего максимума (L_max_C), т.е., по-видимому, делая ее градуировкой HDR более низкого качества. Эти максимумы связаны с градуированными изображениями, и, например, обычно кодированные данные о цвете пикселей изображения с расширенным динамическим диапазоном будут дополниться индикатором метаданных, указывающим, что это - градуировка с яркостями вплоть до возможного максимума величиной 2000 нитов (например, CODE_MAX=2000). Эти максимумы связаны с градуированными изображениями. Обычно бывает также целесообразным использовать функцию кодового распределения, функциональная форма которой может также совместно передаваться на приемники в последующих метаданных. Градуировщик может указанным образом выравнивать качество кодирования, которое, помимо прочего, является релевантным, когда дисплею на 5000 нитов нужна аппроксимация Im_5000* основной градуировки, но, кроме того, приемнику также нужен вид Im_2000 для воспроизведения на дисплеях с пиковой яркостью около 2000 нитов. Независимо от того, что выбирает градуировщик, ограничения обратимости набора инструментов нашего блока повторной градуировки будут гарантировать достаточное восстановление Im_5000*. Т.е. то, что будет обычно совместно передаваться в качестве данных, задающих точную математику функций улучшающего цветового преобразования из принимаемых изображений с 2000 нитами в изображения с 5000 нитами, даст изображения с 5000 нитами, которые достаточно близки к изображениям с 5000 нитами для заданного применения (т.е. обычно функции указанным образом разрабатываются производителем таким образом, что, например, сжатие с потерей информации путем выделения полосы частот или шум являются целесообразными, в любом случае, для данного изобретения это будет набор функций цветового преобразования, содержащий по меньшей мере одну функцию тональной компрессии, которую может настраивать градуировщик, т.е. обычно он выбирает по меньшей мере одну из функций для получения Im_5000*, а затем, например, ползунками задает их параметр, например, наклон прямого сегмента, и любой приемник после приема этих функций может затем без труда вычислить требуемую величину Im_5000*). Другие варианты осуществления могут использовать глубоко внутри технические вычисления для дополнительной помощи градуировщику в достижении оптимального равновесия совместного кодирования градуировки/вида величиной 2000 нитов и 5000 нитов в одном и том же единичном кодированном изображении независимо от того, поставлен ли он в известность об этом и вовлечен в эту тонкую настройку или сосредоточен исключительно на получении наилучших результатов в градуировке Im_2000 исходя исключительно из своих художественных оценок.
Различные варианты кодера (301) могут использовать предварительно согласованные значения для второй максимальной яркости (L_max_C), которые пригодны для предполагаемого применения (например, бесплатное видео из интернета может иметь меньше требований к качеству). Значения для L_max_C обычно могут находиться между 900 нитами и 3500 нитами, предпочтительно, например, 1000 или 2000 нитов. Они рассматриваются как подходящие максимальные яркости для практических видеокодирований, которые повторно используют технологии MPEG, например, MPEG_HEVC/265, в том числе, ввиду согласования со средней предполагаемой пиковой яркостью дисплеев, чаще всего выпускаемых на рынок в ближайшем будущем.
Предпочтительным в качестве варианта осуществления является кодер (301) для кодирования входного видео с расширенным динамическим диапазоном, в котором установлен блок (320) повторной градуировки для обеспечения задания функции (F_2Tu) преобразования, содержащей описание цветового преобразования, которое применяет имеющую произвольную форму монотонно возрастающую тональную компрессию, и зависящей от яркости функции умножения насыщенности, которые должны использоваться при обработке цветов, которая применяет соответствующее изменение яркости и насыщенности при сохранении того же оттенка для цвета пикселя в выходных изображениях восстановленного видео (Im_5000*) с расширенным динамическим диапазоном, что и во входных изображениях кодированного видео (Im_2000) с расширенным динамическим диапазоном. Таким образом, это является простейшим, но, тем не менее, гибким способом цветового преобразования, совместимым с вышеописанной технической системой, и простым с точки зрения принципов построения интегральных схем (ИС) кодера или декодера. Целесообразно использовать обработку, которая сохраняет оттенок постоянным, а затем путем оптимального преобразования величин яркости и насыщенности пикселей можно получать требуемый повторно градуированный вид для новой ситуации воспроизведения, в частности, пиковой яркости подключенного дисплея, который поставляется с оптимально повторно градуированными изображениями (необходимо отметить, что точно также можно задавать обработку яркости в качестве обработки сигнала яркости, но это не та деталь, которую следует прорабатывать для основной концепции данного изобретения и его вариантов осуществления). Квалифицированному читателю будет понятно, что ввиду семантической сложности сцены и ее HDR-эффектов, возможно, градуировщику потребуется разработать сложное преобразование между HDR-градуировкой низшего качества (2000 нитов) и HDR-градуировкой высшего качества (основой градуировкой 5000 нитов), но обычно эти функциональные формы являются монотонно возрастающими, поскольку инверсии яркости нежелательны.
Предпочтительным также является кодер (301) для кодирования входного видео с расширенным динамическим диапазоном по одному из приведенных выше пунктов, содержащий дополнительный блок (325) градуировки, выполненный с возможностью задания по меньшей мере одной дополнительной функции (F_2T1, F_d2d) цветового преобразования, задающей, как выполнять цветовое преобразование кодированного видео (Im_2000) с расширенным динамическим диапазоном в третье видео, оптимизированное для воспроизведения на дисплее с пиковой яркостью (PL_1, PL_2), которая отличается от первой максимальной яркости (L_max_M) и второй максимальной яркости (L_max_C). Для каждого класса популярного дисплея, имеющегося на рынке, градуировщик может с помощью данного технического механизма точно задавать необходимую обработку цвета для получения наиболее подходящего вида в качестве воспроизводимого выхода дисплея. Или же, градуировщик может задать лишь несколько градуировок, например, градуировку Im_2000 на 2000 нитов, градуировку Im_5000* на 5000 нитов и градуировку Im_100 на 100 нитов, и позволить дисплею понять из этой информации, какую конечную обработку применять при переходе на пиковую яркость дисплея выше или ниже, чем 2000 нитов. Целесообразно, чтобы градуировщик мог по меньшей мере задавать, как следует повторно градуировать на одну дополнительную эталонную ситуацию, и, в частности, одну градуировку LDR, поскольку преобразование между различными градуировками HDR может и эстетически, и технически значительно отличаться от градуировки между градуировками HDR и LDR. При этом градуировщик может задавать любое требуемое число сценариев цветового преобразования для различных пиковых яркостей дисплея со своими соответствующими функциями, но обычно с учетом выполняемой работы и бюджетных средств он может задать лишь несколько основных важнейших преобразований в крайние значения диапазона пиковых яркостей дисплея, которые должно предусматривать кодированное видео, и позволить приемнику выполнить конечную оптимизацию требуемой градуировки для конкретного дисплея (однако описываемая в настоящем документе технология кодирования позволяет задавать по меньшей мере минимальный объем информации о требуемой функции цветового преобразования).
Предпочтительным является вариант осуществления кодера, содержащий дополнительный блок (325) градуировки, выполненный с возможностью задания упомянутой по меньшей мере одной функции цветового преобразования, являющейся функцией цветового преобразования для получения видео со 100 нитами из кодированного видео (Im_2000) с расширенным динамическим диапазоном. Поскольку обычно у пользователя все еще имеются некоторые устаревшие устройства (например, он может захотеть в течение некоторого времени передавать видео на свой мобильный телефон, гуляя по дому, и на свой автомобиль), целесообразно, чтобы декодеры могли также формировать традиционные HDR-потоки, что означает, что кодеры должны позволять градуировщику задавать, как должна выглядеть такая градуировка LDR, в частности, как она должна быть связана с HDR-видами, т.е. как она должна быть получена путем обработки цветов по меньшей мере изменяющей различные яркости объекта с принимаемых изображений с 2000 нитами. Кроме того, для настройки на другие градуировки для дисплеев другой пиковой яркости данное цветовое преобразование на один эталонный дисплей значительно более низкой пиковой яркости (как правило, традиционный LDR-дисплей на 100 нитов), т.е. его функции и параметры, будет содержать весьма полезную информацию, чтобы приемник решил, как изменить эти функции для выполнения своего оптимизированного цветового преобразования в любую требуемую градуировку пиковой яркости дисплея, однако любому приемнику необходимо повторно вычислять функции преобразования.
Кроме того, целесообразным является вариант осуществления кодера (301), содержащий блок (389) задания ограничений, выполненный с возможностью разрешения создателю контента задавать по меньшей мере одно ограничение пиковой яркости (LH_100, LL_100) дисплея, идентифицирующей дисплеи в диапазоне пиковой яркости, для которого кодированное видео (Im_2000) с расширенным динамическим диапазоном, или любое видео, получаемое из него путем применения дополнительного цветового преобразования (F_d2d), имеет достаточное визуальное качество по мнению создателя контента. Это позволяет задавать, для какого диапазона дисплеев задание функционального повторного преобразования является наиболее подходящим/оптимальным, при этом в излагаемом ниже описании приведен пример точного кодирования.
Предпочтительным также является способ кодирования входного видео с расширенным динамическим диапазоном, содержащего набор изображений (Im_5000), имеющих цвета пикселей с яркостями, меньшими или равными первой максимальной яркости (L_max_M), в кодированное видео (Im_2000) с расширенным динамическим диапазоном, отличающийся тем, что яркость любого пикселя в кодированном видео (Im_2000) с расширенным динамическим диапазоном меньше или равна второй максимальной яркости (L_max_C), составляющей по меньшей мере 900 нитов, при этом первая максимальная яркость (L_max_M) по меньшей мере в два раза превышает вторую максимальную яркость (L_max_C), причем, способ включает в себя:
- задание цветового преобразования, включающего в себя по меньшей мере функцию (F_2Tu) тональной компрессии для цветового преобразования кодированного видео (Im_2000) с расширенным динамическим диапазоном более низкой второй максимальной яркости (L_max_C) в восстановленное видео (Im_5000*) с расширенным динамическим диапазоном из видео (Im_5000) с расширенным динамическим диапазоном;
- запись в видеосигнал (S_im) данных о цвете пикселей кодированного видео (Im_2000) с расширенным динамическим диапазоном, а в качестве метаданных - упомянутой по меньшей мере функции (F_2Tu, 601) тональной компрессии.
На приемной стороне, зеркально отображающей наши различные варианты осуществления кодера, может иметься видеодекодер (401) для декодирования видео с расширенным динамическим диапазоном, содержащего набор изображений (Im_5000) с пикселями, имеющими яркости со значениями вплоть до первой максимальной яркости (L_max_M), причем, видео с расширенным динамическим диапазоном закодировано в виде кодированного видео (Im_2000) с расширенным динамическим диапазоном, отличающийся тем, что яркость любого пикселя в кодированном видео (Im_2000) с расширенным динамическим диапазоном меньше или равна второй максимальной яркости (L_max_C), составляющей по меньшей мере 900 нитов, при этом первая максимальная яркость (L_max_M) по меньшей мере в два раза превышает вторую максимальную яркость (L_max_C), причем, декодер содержит:
- средство (403) восстановления видео, выполненное с возможностью считывания из видеосигнала (S_im) сжатых данных изображения и их восстановления для получения кодированного видео (Im_2000) с расширенным динамическим диапазоном;
- блок (477) считывания метаданных, выполненный с возможностью извлечения по меньшей мере одного описания (F_2Tu) цветового преобразования из видеосигнала (S_im); и
- блок (410) обработки цветов, выполненный с возможностью применения описания цветового преобразования к кодированному видео (Im_2000) с расширенным динамическим диапазоном для получения восстановленного видео (Im_5000*) с расширенным динамическим диапазоном с третьей максимальной яркостью по меньшей мере вдвое превышающей вторую максимальную яркость (L_max_C).
Таким образом, данный видеодекодер может приблизительно восстанавливать исходное Im_5000, которое было в компьютере градуировщика цветов, даже в том случае, если он принимает совершенно отличающееся градуированное изображение - или набор изображений - меньшего диапазона (Im_2000) яркостей. Различные применения в данной области могут быть более или менее перспективными касательно отношения максимальной яркости основной градуировки к яркости кодирования, но, как правило, можно сказать, что основная градуировка должна по меньшей мере иметь максимум, который вдвое превышает максимум кодирования L_max_C), но он может также, например, превышать в 10 раз или даже больше (обычно функции и/или преобразование их параметров между двумя градуировками HDR может несколько различаться, но основные технические принципы остаются применимыми). Обычно на передающей стороне выбирается, какой L_max_C будет использовать градуировщик, а затем он убедится в том, что он выполняет свою основную градуировку таким образом, что она может адекватно кодироваться в кодированном видео с расширенным динамическим диапазоном (или наоборот, после выполнения своей основной градуировки с конкретным максимумом он может выбирать из набора кодеков для передачи на приемники, которые способны обрабатывать такие основные градуировки с достаточной точностью). После выбора кодер будет кодировать все в метаданных, поэтому любой приемник точно знает, какие цвета пикселей он получает, и, в частности, с какими цветовыми преобразованиями он должен восстанавливать изображения Im_5000* по принятым изображениям Im_2000.
Предпочтительным является видеодекодер (401) для декодирования набора изображений видео с расширенным динамическим диапазоном, в котором третья максимальная яркость равна первой максимальной яркости (L_max_M). Это является точным восстановлением яркости вместо, например, восстановления 6000 нитов. Конечно, декодеры могут также повторно градуировать на градуировки пиковой яркости, отличные от основной градуировки, например, на промежуточную градуировку 3000 нитов. Они либо могут выполнять это путем применения одного набора функций цветового преобразования точно так же, как он был принят, либо получать конечный набор функций цветового преобразования по меньшей мере от некоторых из всех принятых функций цветового преобразования (например, при повторной градуировке между двумя градуировками HDR приемник должен проверять, как градуировщик задал, что необходимо повторно градуировать между двумя градуировками HDR, которые он выбрал).
Целесообразным также является видеодекодер (401) для декодирования набора изображений видео с расширенным динамическим диапазоном, который содержит логический процессор (405), выполненный с возможностью определения, какой по меньшей мере один дисплей (452), имеющий пиковую яркость, подключен и нуждается в подаче на него видео, и определения на основании пиковой яркости упомянутого по меньшей мере одного дисплея (452), какая цветовая обработка (F_2Tu, F_d2d) должна применяться к кодированному видео (Im_2000) с расширенным динамическим диапазоном для получения выходного изображения (Im_x00, Im_5000*) для передачи на дисплей.
Данный логический процессор позволяет приемнику оптимизировать ведущие изображения для обеспечения достаточно гибкого диапазона потенциально подключаемых дисплеев. Он будет считывать и определять соответствующие функции для применения, всегда начиная с информации о цветовой текстуре пикселей объекта, задаваемой в Im_2000.
Варианты видеодекодера (401) могут быть подключены к разъему (432) проводной передачи видео или разъему (433) беспроводной передачи видео и иметь средство (415) форматирования передачи, выполненное с возможностью форматирования по меньшей мере выходного изображения (Im_x00, Im_5000*) в соответствии с тем, что требуется для протокола передачи видео, используемого для передачи видео через упомянутый разъем (432) проводной передачи видео или разъем (433) беспроводной передачи видео. Таким образом, например, если стандарт Wifi требует передачи HDR-изображения конкретным образом, например, с другой максимальной яркостью другого эталонного диапазона/палитры, скажем, 1500 нитов, средство форматирования может перекодировать в соответствии с этим форматом. Важно, что информация (Im_5000) об исходном изображении и эстетическое видение цвета, имеющееся у создателя, т.е. как закодировано в Im_2000 и его способах обработки, т.е. по меньшей мере F_2Tu, поддается определению на приемной стороне и может затем оптимально преобразовываться в то, что необходимо для конкретной локальной ситуации воспроизведения.
Варианты видеодекодера (401) могут отличаться тем, что логический процессор (405) дополнительно выполнен с возможностью считывания из видеосигнала (S_im) по меньшей мере одного ограничения пиковой яркости (LH_100, LL_100) дисплея и определения, какая цветовая обработка (F_2Tu, F_d2d) должна применяться на основании упомянутого по меньшей мере одного ограничения пиковой яркости (LH_100, LL_100) дисплея. Таким образом, декодер может быстро увидеть, попадает ли дисплей, на который ему необходимо подавать изображения, в конкретный диапазон, который может обеспечиваться путем создания, например, повторно градуированного изображения путем применения, например, третьего набора функций цветового преобразования, подаваемого вместе с видеосигналом S_im (необходимо отметить, что специалисту понятно, что любой механизм может приравниваться к такой совместной подаче, если приемник вовремя получает всю информацию), либо, необходимо ли ему, например, вычислять собственные функции цветового преобразования для получения требуемых повторно градуированных изображений, передаваемых на дисплей, путем вычисления их по принятому изображению (изображениям) Im_2000.
Предпочтительным также является способ видеодекодирования набора изображений видео с расширенным динамическим диапазоном, с пикселями, имеющими яркости, декодируемые вплоть до первой максимальной яркости (L_max_M), причем, видео с расширенным динамическим диапазоном закодировано в виде кодированного видео (Im_2000) с расширенным динамическим диапазоном, отличающийся тем, что яркость любого пикселя в кодированном видео (Im_2000) с расширенным динамическим диапазоном меньше или равна второй максимальной яркости (L_max_C), составляющей по меньшей мере 900 нитов, при этом первая максимальная яркость (L_max_M) по меньшей мере в два раза превышает вторую максимальную яркость (L_max_C), причем, способ включает в себя:
- считывание из видеосигнала (S_im) и восстановление кодированного видео (Im_2000) с расширенным динамическим диапазоном;
- извлечение по меньшей мере одного описания (F_2Tu) цветового преобразования из видеосигнала (S_im); и
- применение описания цветового преобразования к кодированному видео (Im_2000) с расширенным динамическим диапазоном для получения восстановленного видео (Im_5000*) с расширенным динамическим диапазоном с третьей максимальной яркостью, которая по меньшей мере вдвое превышает вторую максимальную яркость (L_max_C).
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Эти и другие аспекты способа и устройства в соответствии с изобретением будут понятны из реализаций и вариантов осуществления, описанных в настоящем документе, и объяснены со ссылкой на них, а также со ссылкой на прилагаемые чертежи, которые служат лишь в качестве неограничивающих конкретных иллюстраций, являющихся примером более общей концепции.
На фиг. 1 схематически показано, как градуировщик может преобразовывать любую HDR-сцену в высококачественное основное кодирование с большим эталонным диапазоном яркостей, например, от 0 нитов до 5000 нитов;
на фиг. 2 схематически показано, как эта основная градуировка, задаваемая по эталонному диапазону GRAD_MSTR яркостей, может затем быть переопределена в HDR-кодирование, передаваемое на приемную сторону с существенно меньшей максимальной яркостью (все же отражающей все или большую часть аспектов отображаемой сцены), максимальная яркость M_COD_REF кода которой обычно меньше или равна 80% от исходного диапазона (5000), например, 2000 нитов или зачастую по меньшей мере в 2 раза меньше;
на фиг. 3 схематически показана возможная технология кодирования на стороне создания с вариантом осуществления кодера в соответствии с описываемым ниже изобретением, позволяющим градуировщику задавать то, что ему необходимо, в частности, градуировку 2000 нитов с градуировкой 5000 нитов, технически кодируемую вместе с ней с помощью параметрической функции с функциями обработки цветов для восстановления градуировки 5000 нитов по передаваемой градуировке 2000 нитов;
на фиг. 4 схематически показаны возможное декодирование на приемной стороне и система использования HDR-изображения, позволяющая использовать оптимально градуированное видео для каждого подключенного дисплея на основании по меньшей мере пиковой яркости дисплея и, возможно, других факторов, например, условий просмотра, предпочтений зрителя и т.д.;
на фиг. 5 схематически показано возможное повторное цветовое преобразование с нашими описаниями (F_d2d) цветового преобразования - в данном примере для двух дисплеев более низкой пиковой яркости, чем максимальная яркость кодированного и принятого изображения (Im_2000), выполняющего функцию стартового изображения, к которому применяется цветовое преобразование для получения надлежащим образом градуированных ведущих изображений дисплея из набора видеоизображений для соответствующего дисплея (с пиковой яркостью РВ 400 или 100 нитов), и показан пример обработки с относительным осветлением некоторых отдельных цветов на изображении снимка сцены, например, интерьера церкви или темного подвала; при этом на фиг. 5a показано типичное преобразование в направлении HDR для объектов, у которых важны и яркость, и насыщенность цвета, а на фиг. 5b показан возможный способ обработки выбросов цвета;
на фиг. 6 схематически показано возможное повторное цветовое преобразование для перехода от градуировки на 2000 нитов (закодированной в кодированном видеосигнале S_im) к градуированному видео с максимальной яркостью 5000 нитов, т.е. по существу идентичному по виду максимуму основной градуировки на стороне создателя и в его время;
на фиг. 7 схематически показан еще один пример повторного цветового преобразования для перехода от эталонного видео на 2000 нитов к эталонному видео на 5000 нитов, например, для подачи на дисплей с пиковой яркостью около 5000 нитов или сохранения данного более высококачественного видео для последующего применения;
на фиг. 8 схематически показано, как описываемая ниже технология может использоваться для кодирования HDR-изображений любого исходного качества (т.е. любой максимальной яркости GRAD_MSTR, например, 5000 нитов или 15000 нитов), используемых на дисплеях любой пиковой яркости или максимального динамического диапазона, путем кодирования для передачи HDR-кодеком значительно уменьшенных максимальных динамических диапазонов, т.е. с максимальной яркостью L_MAX_C величиной, например, 2000 нитов или 1200 нитов и т.д., но, конечно, все еще достаточно высокой максимальной яркостью для того, чтобы кодируемое изображение (изображения) все еще представляло собой HDR-кодирование, т.е. с соответствующей пиковой яркостью эталонного дисплея, как минимум свыше 900 нитов;
на фиг. 9 схематически показано, как и HDR-градуировка с более высокой пиковой яркостью, и LDR-градуировка могут быть получены по принятой градуировке на 2000 нитов, и как они могут иметь технически коренным образом различный характер; и
на фиг. 10 схематически показаны несколько типичных гистограмм сигнала яркости HDR-изображений.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
На фиг. 1 показан пример типичного сценария HDR-изображения освещенного изнутри магазина игрушек ночью. Он содержит ярко освещенные игрушки (по сравнению с темным в ночное время экстерьером), которые, конечно, как любой отражающий объект имеют значительно более низкую яркость пикселей, чем сами лампы, но они, тем не менее, могут иметь относительно высокие яркости. А игрушки для детей обычно являются достаточно разноцветными. При этом в противоположность лампе 101, которую легко можно воспроизводить ограниченной, не вызывая у зрителя претензий к качеству (хотя часть структуры между лампами, светильником 102 и областью вокруг лампы 104 в идеале должна адекватно кодироваться и по возможности предпочтительно воспроизводиться с различными градациями серых тонов), ограничение релевантной информации игрушки 106 приведет к воспроизведению изображений с более низким качеством. Перед тем, как посмотреть на проблему кодового распределения, т.е. какие значения Yʹ сигнала яркости должны соответствовать каким зарегистрированным камерой или воспроизводимым яркостям Y (предполагая, что они непосредственно воспроизводятся, а не дополнительно оптимизируются по дисплею), нам необходимо сначала посмотреть на проблему того, какие яркости потребуется регистрировать при любом таком кодировании, что технически может осуществляться путем задания эталонного диапазона яркостей. Этот эталонный диапазон яркостей будет иметь достаточно высокую кодируемую максимальную яркость не только в данном примере изображения, но для всех HDR-изображений. Допустим, общее освещение магазина составляет, скажем, 200 люксов. Игрушки у потолка, находящиеся в 10 раз ближе к TL-лампам, должны получать в 100 раз больше освещения, т.е. 20.000 люксов. Следовательно, яркость белого как цвета отражающего объекта составит около 0,8*20.000/пи=5000 нитов. Это приблизит яркость таких относительно ярко освещенных объектов к яркостям ламп, если максимум составляет 5000 нитов, либо по меньшей мере цвета ярких объектов могут попадать в верхнюю область палитры возможных цветов, задаваемую, например, эталонным диапазоном яркостей 5000 нитов или даже эталонным диапазоном (COD_REF) яркостей 2000 нитов. Необходимо отметить, что, с одной стороны, цвета для оптимального воспроизведения не обязательно должны градуироваться с использованием в точности значений в реальной сцене (поскольку это будет всего лишь воспроизведение, которое по своему характеру является несколько приближенным, даже если бы средняя яркость любого конкретного условия наблюдения при визуализации должна быть точно такой же, как и средняя яркость отображаемой сцены), а с другой стороны, как мы покажем ниже, могут существовать математические методы кодирования яркости с использованием другой яркости, а точнее, предполагалось, что код сигнала яркости кодирует другую яркость. Однако вычисление дает быстрый просмотр технических ограничений, которые желательны для систем HDR-кодирования. Высоконасыщенные цвета, например, для красной игрушки дадут яркость около 30% от этого, но они также будут при этом находиться (однако преобразованные - либо жестко ограниченные, либо мягко ограниченные) в верхней области яркостей меньшей палитры в ее красном углу. Это дает свойства требуемого (встроенного или производного) HDR-кодирования сцены, но еще ничего не задает касательно изображения вида более узкого динамического диапазона для той же сцены, которое по самому характеру своих технических ограничений, в частности, пиковой яркости отображения при воспроизведении среднего динамического диапазона (MDR) может быть весьма различным.
Первый вопрос в любой цепочке кодирования HDR-изображения состоит в том, как преобразовывать яркости реальной сцены в яркости нашего эталонного диапазона GRAD_MSTR яркостей, который мы для упрощения будем обычно считать таким, с каким хотел бы работать создатель контента, т.е. выполнять свою конечную градуировку цветов, дающую необходимый художественный вид. В идеале, высококачественный дисплей, способный воспроизводить по меньшей мере яркости, которые необходимо адекватно воспроизвести (поскольку градуировщик хотел бы проверить свою высококачественную основную градуировку на высококачественном эталонном дисплее, поскольку независимо от конечного отображения его контент будет демонстрироваться различным зрителям, в идеале, некоторые воспроизведения будут осуществляться на HDR-дисплеях с очень высокой пиковой яркостью, а контент все-таки должен выглядеть эффектно), т.е. имеющий пиковую яркость по меньшей мере 5000 нитов, должен воспроизводить эталонный диапазон яркостей, и для упрощения объяснения мы можем предположить, что если фактические условия наблюдения являются такими же, как и заданные эталонные условия наблюдения, то данный эталонный дисплей лишь воспроизводит эталонные яркости из GRAD_MSTR один к одному. Т.е. если заданная яркость составляет, например, 3200 нитов, эталонный дисплей будет воспроизводить 3200 нитов.
После того, как зафиксирован воспринимаемый эталонный диапазон GRAD_MSTR яркостей, далее необходимо решить, как преобразовывать эталонные значения сцены в эталонный диапазон после выбора подходящего эталонного диапазона GRAD_MSTR. Если даже хочется, чтобы все детали в очень яркой TL-трубке на 20.000 нитов были точно представлены/закодированы, безусловно, для практических видеокодирований не обязательно иметь точное кодирование 1 миллиарда нитов поверхности Солнца. Этот первый шаг будет, главным образом, представлять собой зависящую от сцены художественную оптимизацию, при которой столь высокие яркости будут «представлены в искаженном виде», т.е. они будут представлены как приемлемые замены GRAD_MSTR. Например, основной градуировщик может выбирать, какие чрезвычайно яркие объекты ограничивать в своей основной HDR-градуировке, и, например, градуировать и таким образом для любого последующего этапа представлять солнце с использованием белого или только сверхъяркого желтого, например, максимально желтого ((R=G=100%, B=0%). С учетом всех соответствующих факторов в HDR-изображении и в конкретном видеокодировании типичные эталонные диапазоны GRAD_MSTR могут составлять, например, 20000 нитов, либо 10000 нитов, либо 5000 нитов, и в остальной части объяснения наших вариантов осуществления мы будем предполагать, что GRAD_MSTR охватывает яркости [0,5000], которые технически являются хорошим практическим выбором. Необходимо отметить, что нулевое значение может фактически представлять собой очень малую яркость и может изменяться в зависимости от используемой стандартизованной функции кодового распределения, но из практических соображений является настолько низким, что оно может приравниваться к нулю.
Второй вопрос состоит в том, как преобразовывать зарегистрированные яркости сцены. Данная проблема не обязательно совпадает с проблемой, как следует воспроизводить яркости на любом дисплее, поскольку все-таки может существовать любое преобразование цветов воспроизведения, действующее на эталонные яркости (и в действительности на цвета, но для упрощения объяснения мы в целом будем предполагать, что оттенок и насыщенность цвета остаются прежними во всем тракте формирования изображений, при этом будет изменяться только яркость цвета) для получения наиболее подходящего воспроизведения для конкретного дисплея и, как правило, также некоторых условий просмотра. Но они в некоторой степени связаны, подавая свойства дисплеев в сам эталонный диапазон, если ассоциировать эталонный диапазон с некоторыми типичными дисплеями в краткосрочной и среднесрочной перспективе. Поскольку в ближайшей перспективе, а, возможно, и всегда дисплеи, как правило, не будут иметь пиковую яркость намного выше 20000 нитов, или, возможно, даже 2000 нитов, более целесообразным является кодирование любой яркости сцены с точки зрения отображаемости на дисплее, а не с точки зрения точного кодирования сцены. Т.е. можно «представлять в искаженном виде» яркости сцены. Помощь в этом оказывают два фактора: 1) То обстоятельство и понимание, что можно получить различные представления из любого кодирования при условии, что кодируется достаточно выделяемой информации для текстур пикселей (т.е. в худшем случае можно, например, зарегистрировать текстуру красного килта и попиксельно перекрасить его в программных средствах в зеленый килт, и то же самое можно сделать с градациями серых тонов или яркостями, но после этого определяющие картину различные яркости или значения цветов не должны группироваться вместе в единое значение), и 2) зрение человека является адаптируемым, и, в частности, мозг может вводить в воображение поправку на искаженные цвета, особенно, если зритель не присутствовал в сцене и не знал реальных цветов. Задача любой HDR-технологии, в частности, системы кодирования состоит в том, что она может создавать правдоподобные изображения, а не фотометрически точные.
Таким образом, как правило, градуировщик может преобразовывать HDR-сцену, такую как наш магазин игрушек или освещенный солнцем ландшафт, наблюдаемый из пространства более темной комнаты, относительно адекватно в соответствии с его предпочтениями в достаточно большом эталонном диапазоне GRAD_MSTR вплоть до 5000 нитов. Принимая во внимание, что исходная основная градуировка имеет свои технические и художественные правила, ее не следует путать с тем, что осуществляется в технических компонентах далее в тракте обработки изображений. В частности, не является тривиальной задачей то, как преобразовывать такие условия в меньший диапазон, например, COD_REF с максимумом 2000 нитов, хотя по различным причинам в тракте могут существовать различные технологии, которые используют такой меньший диапазон в качестве своего эталонного диапазона HDR (как правило, начиная с этой точки, либо по меньшей мере в части тракта).
Настоящая заявка объяснит в некоторых вариантах осуществления переход на такие промежуточные представления с меньшим эталонным диапазоном COD_REF, начиная с большего, лучшего эталонного диапазона GRAD_MSTR, и, как правило, на изображение наилучшего качества, градуированное в таком эталонном диапазоне.
Фиг. 1 с использованием примера разъясняет, как градуировщик может, как правило, пожелать представить (распределить) яркости своей сцены в различные имеющиеся поддиапазоны GRAD_MSTR. Возможно, градуировщику потребуется преобразовать сами TL-трубки или иные лампы 101 в максимальное значение L_max_M или по меньшей мере очень близко к нему, например, свыше L1=4995. Сам светильник 102, обычно состоящий из отражающих металлов, все-таки содержит некоторые интересные структуры, которые, возможно, потребуется по меньшей мере предположить с некоторыми характеристическими значениями для воспроизведения его более реалистично, чем просто «белая дыра» (равномерную и не содержащую деталей белую область которой представляет собой типичное воспроизведение LDR), т.е. потребуется закодировать его в диапазоне R_BL очень яркого света. Они могут быть очень ненасыщенными и почти нейтральными, если не ахроматическими, поэтому эти цвета пикселей могут вписываться в типичный узкий треугольный верх кодируемой по RGB палитры. Ниже этого диапазона R_BL очень яркого света находится диапазон ярких объектов R_BO, таких как наша игрушка 106, которая очень близка к лампе. Поскольку эти пиксели (в нашем примере - игрушки, хотя также, например, окрашенные стены домов или трава на солнце за дверью) ярких объектов могут часто быть (интенсивно) окрашенными, даже там, где мы можем по меньшей мере несколько убрать насыщенность их кодированных значений по сравнению с исходными цветами сцены, нам необходимо распределить диапазон треугольника палитры RGB, который может представлять яркие хроматические цвета. При наличии относительной взаимозависимости с реальной сценой может оказаться достаточным, если они достаточно яркие и достаточно окрашенные. На фиг. 1А мы видим трехмерный (точнее, двумерный срез «Красный-Бирюзовый-Яркость» из этого) выбор поднабора в кодируемой палитре, а не менее наглядный 1-мерный вид яркости (обратите внимание, что в практической реализации наших способов можно также использовать зависимости яркости, например, Значение=max(R,G,B) для определения выборов, либо для выполнения любой обработки цветов). Как видно, яркие лампы, если они только не являются действительно хроматическими, например, красные TL-трубки, часто могут быть представлены очень яркими значениями уменьшенной насыщенности, и зритель это примет. Однако не следует выполнять такую пастелизацию, например, с освещенной солнцем травой, поскольку это именно та ошибка, которая возникает при LDR-кодировании. Если нужны яркие цвета, они могут градуироваться в ярком достаточно хроматическом поддиапазоне R_BO. Даже если бы мы кодировали цвет с использованием половины исходной насыщенности, для дисплея, который может воспроизводить более высокую насыщенность (например, дисплей с несколькими сигналами основного цвета, имеющий специальный сигнал основного цвета), всегда можно удвоить насыщенность без наличия чрезмерных артефактов изображений.
После задания хорошего эталонного дисплея HDR, например, на 5000 нитов все еще необходимо сформулировать проблему, как кодировать цвета сцены или, в частности, их яркости.
Классическое формирование LDR-изображений не учитывало данный аспект в достаточной степени. Независимо от того, каким являлось освещение сцены, автоматическая экспозиция камеры просто ассоциировала некоторый яркий цвет в формируемой сцене с белым цветом кода (в действительности посредством некоторого преобразования с вычислением среднего цвета в средний серый цвет). Если задуматься над этим сейчас, оглядываясь назад на результаты исследований HDR, это - очень конкретный вид сцены, который всегда работает математически, но технически или эстетически он наиболее пригоден для условий хорошего освещения с не слишком большим коэффициентом контраста, например, обычно для 1%-100% отражающих объектов, равномерно освещенных, и при записи вплоть до того, как темные цвета объектов случайно, однако же, адекватно представлены в датчике или математике кодирования поверх шумов (обычное число, приводимое для того, каким воспроизводимым яркостям должно соответствовать любое LDR-изображение, представляет собой яркости от 0,1 нита до 100 нитов на пиксель). Некоторые - или даже многие - цвета могли быть ограничены, при этом самый белый адекватно кодированный белый цвет мог составлять 20.000 нитов в солнечной сцене, либо 50 нитов в ночной сцене с длительной экспозицией. Кроме того, на стороне воспроизведения в принципах обработки LDR-изображения не возникало обеспокоенности ни относительно того, была ли градуировка, теоретически оптимальная для 100 нитов, фактически видна конкретному зрителю на дисплее на 200 нитов, либо 400 нитов, либо 50 нитов, ни относительно того, была ли одна видна в темной комнате или на платформе железнодорожного вокзала. Для большинства изображений и обычного не настроенного критически зрителя такое различие, возможно, в одну или две ступени экспозиции не будет столь важным, но в некоторый момент времени для очень важных HDR-изображений и/или дисплеев, которые различаются на несколько ступеней экспозиции в пиковой яркости от 100 нитов, различия не могут не стать неприемлемыми. Должно быть ясно, что сходство воспроизводимого в конечном итоге вида и предполагаемого вида создающего художника гарантируется только в случае, если условия наблюдения не слишком значительно отличаются от теоретических эталонных условий наблюдения, если это вообще было четко задано в моменты кодирования LDR.
Но в перспективной технологии кодирования HDR-изображений или видео, в которой изображение, независимо от сложности его содержимого, должно быть корректно интерпретируемым для приемлемого воспроизведения при широком выборе различных условий воспроизведения при эксплуатации (дисплей+среда), необходимо серьезно задуматься об эталонном диапазоне и цветовой палитре, а также о том, как использовать/заполнять его цветами сцены, которые регистрируются и представляются.
Предпочтительно, не следует делать распределение полностью относительным, как в LDR (т.е. независимо от того, какая сцена является LDR-изображением, белый цвет кода всегда преобразуется в белый цвет дисплея независимо от того, какую пиковую яркость имеет дисплей, и если, например, необходимо воспроизвести темную сцену, лучше использовать коды, которые кодируют яркости ниже пиковой яркости). Будет существовать некоторая относительность в конечном воспроизведении также и для систем кодирования HDR, поскольку глаз/мозг является обнаружителем относительного цвета, а условия воспроизведения могут значительно изменяться, но упомянутая изменчивость может обрабатываться на приемной стороне, но начиная с более математически точного задания цветов в промежуточном положении, в некотором представлении цвета (которое при этом уже не связано само по себе с одной конкретной технологией отображения, как NTSC и MPEG2 были связаны с ЭЛТ с гаммой 2,2 и сигналами основного цвета EBU, которая когда-то являлась единственным дисплеем на рынке).
С другой стороны, требование точного преобразования «один к одному» яркостей сцены в эталонные яркости, например, в эталонном диапазоне 5000 нитов, с одной стороны, и эталонных яркостей в воспроизводимые дисплеем яркости, с другой стороны, также является слишком серьезным ограничением для практического легкого и гибкого применения.
Поэтому обычно необходимо иметь эталонный диапазон GRAD_MSTR, построенный и заполненный таким образом (т.е. распределение яркостей сцены на опорные яркости), что большая часть яркостей преобразуется приблизительно «один к одному», под чем мы подразумеваем, что конкретная яркость сцены в конечном итоге будет соответствовать воспроизводимой яркости на всех типах приемного дисплея (в результате чего не обязательно, чтобы воспроизводимая яркость была идентична яркости сцены для некоторой категории сцены, например, яркий солнечный свет или ночной пейзаж, поскольку между физически наблюдаемыми яркостями в сцене и яркостями на дисплее может существовать некоторый коэффициент уменьшения силы света, который может являться в некоторой степени зависящим от дисплея и может изначально определяться для типичной категории дисплея). Эта приблизительная идентичность более темных воспроизводимых пикселей на различных дисплеях, как правило, имеет место для более низких яркостей сцены, которые могут воспроизводиться на многих (хотя, возможно, и не всех) дисплеях. Однако, поскольку у верхнего уровня яркости могут быть теоретически любыми (потенциально вплоть до яркостей, соответствующих, например, лазерным лучам изображения, светящим на датчик), на ярком конце возможных яркостей сцены мы можем использовать более свободное распределение яркостей сцены на эталонные яркости, поскольку, например, 50.000 нитов - если они вообще воспроизводимы на достаточном числе имеющихся на рынке дисплеев - это слишком ярко, чтобы зрителю было комфортно (особенно в темных условиях наблюдения), поэтому, так или иначе, они должны быть преобразованы в более подходящее для воспроизведения значение яркости (независимо от того, какой может являться пиковая яркость дисплея воспроизведения). По мнению заявителя, 5000 нитов является приемлемым значением для верхнего предела эталонного диапазона, хотя 10000 нитов также является вполне применимым значением.
Несколько более темные, менее интенсивно освещенные игрушки/объекты 108 могут при этом быть распределены на некоторую яркость в нормальном диапазоне R_N, который также может достаточно адекватно воспроизводиться на LDR-дисплеях, и чем дальше объекты 110 от лампы, т.е. чем темнее становятся яркости их пикселей, линейно измеримые со сцены, тем ниже они также распределяются на эталонный диапазон (в предположении, что мы при этом используем стратегию линейного распределения с GRAD_MASTR L_ref=k*L_scene, при этом k равно 1 или некоторому оптимально выбираемому (градуировщиком цвета) по ситуации коэффициенту масштабирования, который обычно не является слишком низким, например, 0,5 для сохранения всех цветов пикселей и, в частности, темных, достаточно яркими). Вне магазина игрушек на улице ночью при освещении несколькими лампами имеются очень темные объекты, которые будут преобразованы в темный поддиапазон R_D эталонного диапазона. Хотя в данном случае обычно можно использовать некоторое нелинейное кодовое распределение, чтобы сделать их несколько ярче, если имеются достаточные коды (например, 10 бит) для яркостей, можно продолжать линейное распределение с величиной k, принимающей свое выбранное значение. Эти значения, например, темной едва освещенной двери 112 затем по меньшей мере кодируются с неограниченными достаточно уникальными кодами независимо от того, будут (могут) ли эти темные цвета воспроизводиться на малоконтрастном LDR-дисплее с плохим, т.е. относительно ярким, черным. То же самое будет относиться и к пикселям темного водослива, хотя пиксели канализационной системы 114, которая видна сквозь решетку канализационной системы, могут быть настолько темными и не представляющими интереса, что градуировщик может попросту преобразовать их все для кодирования (минимального) черного, являющегося наименьшим кодируемым значением, например, в сигнал яркости 1 или 0 и, следовательно, его соответствующую яркость (если они изначально были уже достаточно чистыми и незашумленными при регистрации камерой).
Данное преобразование в диапазон 5000 нитов может являться достаточно простым в выполнении, и мы можем предположить, например, что градуировщик его выполнит, однако, непосредственное преобразование этих значений в меньший диапазон [0, 2000] нитов может создавать у градуировщика проблемы по меньшей мере для некоторых важных сцен, т.е. не все эти проблемы должны решаться исключительно с помощью творческих способностей градуировщика при выборе надлежащих эталонных яркостей для различных объектов сцены, во всяком случае, градуировщик должен иметь техническое решение, которое могло бы ему помочь. Например, если источники света и части источников света магазина приглушены для преобразования их в поддиапазоне 1500-2000 COD_REF, что при этом происходит с более темными частями при таком приглушении? В случае, если приглушение использует простое нелинейное кодовое (пере)распределение, стали ли упомянутые более темные цвета при этом слишком темными по меньшей мере для простого прямого использования средствами воспроизведения, которые, например, отображают коды с фиксированной EOTF? Имеется некоторая напряженность, наряду с прочим, между аспектами, например, сколько кодов сохранять для текстуры каждого объекта, которая, возможно, может существовать (либо все-таки существует в реальной сцене) в диапазоне яркостей с одной стороны и приемлемым видом изображения, т.е. приемлемым значением яркости для каждого объекта по меньшей мере в одном эталонном диапазоне яркостей, соответствующем первоначальному сценарию воспроизведения (которому необходимы только цветовые преобразования второго порядка с меньшим влиянием на колориметрический вид для настройки на конкретные сценарии воспроизведения на конкретных дисплеях после этого). Ситуативно можно рассмотреть несколько компромиссных решений, но чтобы достичь хороших результатов, всегда желательно иметь руководящую основу.
На фиг. 2 мы видим иллюстрацию того, как решить общую проблему перекодирования яркостей пикселей (и связанных с ними сигналов яркостей - именно этот термин мы будем использовать для реальных кодов, например, 10-битовых слов) в основном эталонном диапазоне яркостей GRAD_MSTR в значительно меньший (обычно по меньшей мере 1/2, также описываемый как оставляющий на 1 ступень экспозиции меньше) эталонный диапазон COD_REF яркостей кодирования, например, основную градуировку градуировщика в [0, 5000] нитов и техническое кодирование, в действительности используемое, например, для хранения в запоминающем устройстве, например, blu-ray, либо передачи с помощью технических средств информационных сетей посредством технологии кодирования передачи видео, имеющего стандартизованный эталонный диапазон яркостей [0, 2000] нитов.
Проблема перераспределения технически является совершенно иной проблемой по сравнению с исходной основной градуировкой яркостей сцены в достаточно градуированное изображение, задаваемое в основном диапазоне [0, 5000] яркостей, хотя, конечно, существует некоторая связь с исходным эталонным представлением (в GRAD_MSTR), и в конечном итоге с исходной сценой и содержащимися в ней объектами со своими колориметрическими свойствами, либо, кроме того, ее достаточно адекватным воспроизведением на дисплее.
Сюда входят два аспекта: с одной стороны, если считать, что оба диапазона имеют бесконечную точность кодирования (и можно при этом для простоты описать яркости в обоих диапазонах в виде реальных чисел в пределах перенормированного диапазона [0,1] нормированных яркостей, в результате чего, конечно, яркости, нормированные после их задания в [0, 5000], не будут иметь те же значения, что и соответствующие яркости для тех же объектов, как они были заданы в [0, 2000]), можно в принципе и в соответствии с настоящим описанием использовать любую нелинейную функцию преобразования для преобразования яркостей, конечно, с учетом ситуации некоторые преобразования будут более желательными, чем другие. Например, хотя, возможно, оно не является оптимальным по различным причинам, концептуально в принципе может использоваться линейное растяжение. С другой стороны, при таком перераспределении яркостей можно решать проблему точности кодирования, что необходимо осуществлять, если приходится представлять яркости COD_REF с реальными, например, 10-битовыми сигналами яркости. Поскольку такое число битов, имеющихся для задания сигнала яркости пикселя, будет в зависимости от того, как конкретная выбранная функция кодового распределения распределяет поддиапазоны и количество кодов в них на различные объекты в диапазоне яркостей, всегда определять точность кодирования объектов (например, объектов не ярче 10% от пиковой яркости) и, в частности, от того, имеются ли достаточные коды для адекватного воспроизведения (например, синяя плавная изменяющаяся градуировка между 20% и 30% от пиковой яркости по сравнению со сложной текстурированной частью магазина игрушек на фоне, которой может не понадобиться окончательное кодирование и точность восстановления яркости/цвета).
В действительности, 10-битовые сигналы яркости могут кодировать (без учета при этом хроматических компонентов) только 1024 различные яркости (/градацию серых тонов), поэтому, если имеется сцена с очень высоким динамическим диапазоном, для которой везде нужна предельная точность (в поддиапазоне ярких цветов, верхних средних серых, нижних средних серых, темных и сверхтемных), может потребоваться более 1024 различных значений для адекватного кодирования всех структур изображения. Именно это отличает кодирование HDR-изображения от концепции простого LDR-формирования изображений. В этой ситуации можно было бы сказать, что нет какого-либо возможного решения, способного адекватно кодировать сцену, ни в диапазоне 5000 нитов, ни в диапазоне 2000 нитов. Однако во всех практических изображениях можно уменьшать количество кодов, необходимых для кодирования с достаточным качеством. Возможно, меньшее количество кодов необходимо в пространственно текстурированной области, при возможном наличии большего количества кодов для плавного градиента, и в самом худшем случае можно даже рассмотреть возможность в редких случаях обеспечивать некоторое сжатие с потерей информации путем выделения полосы частот, все же имея возможность воспроизведения всех превосходных эффектов HDR по меньшей мере на HDR-дисплеях (благодаря наличию основного диапазона и градуировки в нем градуировщик может по меньшей мере иметь первоначальное представление о качестве различных более поздних сценариев воспроизведения приемной стороны).
Теперь читателю следует остановиться и задуматься о новой концепции, относящейся к HDR-кодированию, а именно, что происходят два конкурирующих взаимосвязанных явления, особенно, если хочется использовать повторное преобразование 2000 нитов и в качестве картины для практически прямого воспроизведения (т.е. может быть некоторое дополнительное повторное преобразование для получения оптимального вида для конечного дисплея, скажем, дисплея на 2800 нитов или дисплея на 1500 нитов, но начиная с вида, градуированного при кодировании на 2000 нитов, этот исходный вид в него внедрен, причем, этот подход является двухэтапным: создание изображения и вида в зависимости в конечном итоге от воспроизведения изображения и все дальнейшие соображения и действия, которые могут происходить в этой части цепочки обработки HDR-изображений), и в то же время также в виде конечного (т.е. независимого от устройства и независимого от применения для любого последующего применения) полного кодирования всего интересного, что было в исходной HDR-сцене, т.е. достаточно адекватного представления колориметрических свойств всех объектов исходной сцены или по меньшей мере достаточного представления этой сцены с HDR-качеством. Первое из вышеуказанных соображений - это приблизительно то, чем обычно занимается градуировщик, при этом последнее требование может быть частично или главным образом техническим вопросом.
Например, возьмем в качестве простого примера линейное сжатие с 5000 до 2000 нитов и прямое воспроизведение «один к одному» диапазона 2000 нитов, например, на реальном дисплее с пиковой яркостью 2000 нитов (мониторе, либо телевизоре, либо проекторе и т.д.), либо, например, поддиапазон 0-2000 нитов дисплея на 5000 нитов (что будет отличаться от (повторного) растягивания повторно заданных яркостей сцены 0-2000 нитов на полный диапазон дисплея с пиковой яркостью 5000 нитов).
Могут существовать - при условии, что мы можем оптимизировать для имеющихся аппаратных средств дисплея, лучше учитывающих психофизику человеческого зрения - ввиду данного «случайно выбранного» преобразования некоторые проблемы качества HDR-воспроизведения. Например, HDR-эффекты яркой области могут быть субоптимальными: поскольку отсутствует реальное градуированное изображение с 5000 нитами, возможно, захочется сделать некоторые трюки с цветовой обработкой, чтобы все-таки яркие области выглядели более похожими на HDR психовизуально, даже на дисплее на 2000 нитов. Но что, если имеется дисплей на 5000 нитов? Является ли простое растягивание (автоматически в программных или аппаратных средствах обработки изображений) этих яркостей, которое будет выполняться в отсутствие какого-либо более толкового руководства по преобразованию, лучшим, что можно сделать при этом для наиболее оптимального воспроизведения их на дисплее на 5000 нитов? Скорее всего, нет по меньшей мере для более важных HDR-сцен. С другой стороны, градуировщик может обнаружить некоторые из этих объектов в нижних поддиапазонах прямо воспроизводимого диапазона 2000 нитов слишком темными, либо слишком малоконтрастными и т.д. Если он попытается скорректировать это, например, увеличивая яркость этого поддиапазона, он может еще больше ухудшить яркий HDR-диапазон, например, путем мягкого сжатия его при своей повторной градуировке/повторном преобразовании.
С другой стороны, как только жестко задана оптимальная функция кодового распределения или EOTF для диапазона 2000 нитов, например, в конкретном стандарте видео, определяемом для сценария (такое определение может, как правило, начинаться с допущений, что некоторые шаги яркостей все еще видимы или нет, неравномерно распределенные по диапазону 2000 нитов, давая в качестве оптимальной функции некоторую логарифмическую гамма-подобную функцию или аналогичную ей), следует также помнить о проблеме того, сколько кодов сигнала яркости имеется для каждого поддиапазона, например, 10-й части диапазона между Lc3 и L_max_C. Если, так или иначе, имеется слишком мало кодов, то HDR-сцена не является оптимально представленной, поскольку поддиапазон для сцен с важным очень ярким контентом, который может прекрасно воспроизводиться, например, на дисплеях на 10000 нитов, может недостаточно кодироваться при кодировании 2000 нитов. Это может не являться столь заметным при воспроизведении «один к одному» градуировки 2000 нитов на дисплее на 2000 нитов, но возникать, например, при преобразовании на дисплей на 20.000 нитов.
Поэтому нужны механизмы для осторожного управления этим балансом, и базовые концепции, которые мы ввели в наших технологиях для кодирования изображений HDR-сцены и, в частности, для возможности корректного обслуживания не одного эталонного дисплея (например, на 5000 нитов), а всех дисплеев, имеющихся в будущем на рынке (с помощью настраиваемого переопределяемого взгляда на кодирование сцены), очень хорошо подходят для данной проблемы, как мы увидим ниже. Чтобы обеспечить понимание читателем, мы можем использовать два новых наименования. С одной стороны, может быть конечная градуировка, которая обычно может определяться автоматически блоком оптимизации в приемнике, который настраивает любое принимаемое им кодированное представление на конкретный дисплей. Мы будем называть такую градуировку, воспроизводимую, например, на дисплее на 1250 нитов, между двумя стандартными градуировками по пределам диапазона настройки дисплея, скажем градуировкой 100 нитов для устаревших LDR-дисплеев с пиковой яркостью около 100 нитов и современными HDR-дисплеями, скажем, на 5000 нитов, градуировкой среднего динамического диапазона (MDR). В приводимом ниже описании мы также рассматриваем промежуточные кодировки, т.е. у которых имеется связанный с ними эталонный дисплей, скажем, на 1000 нитов (что также находится между пределами диапазона в 100 и 5000), которые мы будем называть промежуточным динамическим диапазоном (IDR). Читателю должно быть понятно, что если некоторая технология предполагает кодирование, каким бы ни был динамический диапазон изображения сцены (т.е. какой бы ни была исходная сцена, и как бы она ни должна была воспроизводиться) при кодировании IDR с пиковой яркостью эталонного дисплея, скажем, 1000 нитов, оно по-прежнему может воспроизводиться, т.е. все еще может нуждаться в настройке с помощью дополнительного преобразования цветов на различные MDR-градуировки, например, для реального подключенного дисплея на 1550 нитов, и т.д.
Первый вариант осуществления объясняется с использованием фиг. 3, на которой показан кодер 301, с помощью которого градуировщик может свободно выполнять художественную градуировку 2000 нитов без необходимости серьезно задумываться о том, что происходит, и должен продолжать технически, поскольку кодеру может потребоваться использование изображения с 2000 нитами в качестве характерного изображения для всех видов. Т.е. градуировщик может сосредоточиться на виде изображений с 2000 нитами, поэтому при прямом применении к дисплеям с пиковой яркостью около 2000 нитов изображения будут выглядеть оптимальными (например, иметь достаточно яркости, чтобы человек, скрытый в тени, и не был виден как на ладони, и не был невидимым, иметь достаточно локального контраста, чтобы человек, полускрытый в тумане, выглядел призрачным, или чтобы бутылка выглядела блестящей, и т.д.). Мы предполагаем, что имеется исходное RAW HDR-видео (например, непосредственно с HDR-камеры, и, скажем, в линейном цветовом представлении), которое, например, поступает из запоминающего устройства 300 и подается в градуировочное устройство 303. Квалифицированный читатель, конечно, может понять, что могут существовать различные фактические реализации нашего изобретения или вариантов осуществления, в которых, например, может иметься кодер, интегрированный непосредственно вместе с камерой или в камеру, либо в комплекс компьютерной графики компьютера, и т.д.
Градуировщик выполняет начальную градуировку, которая во многих вариантах осуществления является основной градуировкой, путем использования блока 310 начальной градуировки и контроллера 311 пользовательского ввода, который может, например, являться панелью градуировки. Блок 310 начальной градуировки 310 может, например, представлять собой процессор, выполняющий программные средства градуировки, такие как Da Vinciʹs, которые могут выполнять, например, общие функции преобразования оттенка и цвета, выбирать локальные области блуждающей маски в снимках изображений и, исходя из этого, задавать обработку, и т.д. В качестве примера мы можем предположить, что RAW-видео представляет собой логарифмическое видео с неверными межобъектными и внутриобъектными контрастами, скажем, с камеры ARRI. Градуировщик создает изображение (изображения) Im_5000 основной градуировки, в котором он задает цвета всех объектов и пикселей, помимо прочего, со своими соответствующими яркостями в соответствующем эталонном диапазоне GRAD_MSTR 5000 нитов. Это было бы прекрасное представление HDR-видео - которое затем могло бы представлять собой видео, сжатое, в частности, с помощью DCT-кодирования, и т.д. - если бы только в любом стандарте передачи видео задавался способ кодирования этого видео с эталоном 5000 нитов в соответствии с его стандартом (под стандартом передачи мы понимаем, помимо прочего, и передачу посредством запоминающих носителей, например, оптический стандарт, такой как видео по BD, и сетевой стандарт, такой как трансляция по воздушным линиям с помощью DVB, либо передачу на основе интернета, либо передачу по системе связи между устройствами, такой как передача по HDMI-кабелю, и т.д.).
Но стандарт может потребовать больше свободы и устанавливать, что он принимает, например, только кодированное видео, задаваемое пиковой яркостью 2000 нитов. Градуировщик может при этом не использовать непосредственно свое эталонное внутреннее кодирование 5000 нитов, а нуждается в повторном кодировании, которое может предполагать нетривиальное преобразование (поскольку в принципе можно использовать любое повторное задание, но не обязательно, если колориметрический вид градуировки 2000 должен быть оптимальным при воспроизведении на дисплее на 2000 нитов, а также вид 5000 нитов кодируется в пределах этого вида 2000 нитов). Возможный сценарий может состоять в том, что градуировщик значительную часть своего времени посвящает созданию требуемого вида градуировки 2000 нитов, а вторая задача посвящается тому, как из этого можно сделать градуировку 5000 нитов. Можно также поступать наоборот (по существу, технически в обоих сценариях будут существовать передаваемое HDR-изображение с более узким динамическим диапазоном и функции повторной градуировки его приемником в HDR-изображение с более высоким динамическим диапазоном), и в приведенном ниже описании мы объясним этот второй сценарий, в котором градуировщик значительную часть своего времени посвящает созданию требуемой градуировки 5000 нитов, а затем дополнительно (что может также выполняться частично автоматически, при этом ему необходимо лишь принимать или корректировать, чтобы сэкономить дорогостоящее время градуировки) он задаст хороший вид с 2000 нитами (и, как правило, также LDR-вид со 100 нитами, который может быть задан по виду с 5000 нитами и преобразован в повторное задание из вида с 2000 нитами, но мы объясняем пример, в котором LDR-вид не только задается, но и создается градуировкой, начиная с градуированного изображения (изображений) с 2000 нитами.
Градуировщик будет выполнять повторное преобразование HDR-изображения с высоким диапазоном (например, 5000 нитов) в HDR-изображение с узким диапазоном (например, 2000 или 1200 нитов) с использованием блока 320 повторной градуировки. Упомянутый блок 320 может выполнять цветовую градуировку точно также, как и блок 310 начальной градуировки, но имеются два принципиальных отличия: 1) может использоваться только ограниченный набор функций повторно градуировки (поскольку это - система кодирования HDR-вида, они должны формировать язык, понимаемый всеми приемниками) и 2) они должны быть по существу визуально обратимыми (в более общем смысле, цветовые преобразования в изображение с 2000 нитами должны в значительной степени сохранять всю высококачественную HDR-информацию о более высоком диапазоне, чтобы она могла использоваться оптимально на любой системе HDR-воспроизведения после некоторого оптимального зависящего от дисплея преобразования, при этом только семантически менее интересная в изображении информация может быть по существу заменена неподходящими с точки зрения кодирования значениями, например, грубо квантована). Под по существу обратимыми мы имеем в виду, что: а) мы можем вычислять некоторую математическую обратную функцию применяемой функции или процедуры повторного преобразования из HDR с 5000 нитами в HDR с 2000 нитами (например, если мы применяем квадратный корень, например, от яркостей, нормированных в [0,1], обратная функция будет представлять собой функцию квадратной степени), и b) ввиду квантования квадратного корня изображения изображение с повторно взятым квадратным корнем может выглядеть несколько отличающимся от исходного изображения, но у нас не должно быть визуально слишком серьезных различий (степень серьезности может выбирать градуировщик и/или автоматический алгоритм анализа изображений). Например, в текстурах вы можете отделаться некоторыми артефактами квантования, поскольку доминирующей информацией в мозге является пространственная структура, а не очень точное значение цвета в пикселе. Математически это обычно означает, что функции, осуществляющие цветовое преобразование принимаемой HDR-градуировки на 2000 нитов, например, в изображение (изображения) с градуировкой 5000 нитов конечного качества, должны быть монотонно возрастающими по яркости (или некоторому эквивалентному представлению, например, сигналу яркости, либо максимальному значению линейных компонентов R, G и B, и т.д.), но в иных случаях функция преобразования оттенка обновления может быть достаточно сложной для некоторых сложных HDR-сцен.
Чтобы читателю было понятнее, мы четко разграничим два других сценария, которые не следует путать с представленной в настоящем документе новой технологией кодирования HDR-изображений/видео. Несмотря на то, что выполняется художественная градуировка, которая представляет привлекательные изображения для дисплеев с пиковыми яркостями около предполагаемой пиковой яркости, составляющей, например, 2000 или, например, 1000 нитов, и, хотя конечный вид для зрителя данной полученной градуировки Im_2000 нитов может быть по существу идентичным виду, который градуировщик получил бы, если бы ему не нужно было учитывать другие дисплеи или градуировки (т.е. просто художественно выполняя единственную градуировку на 2000 нитов и не обязательно беспокоясь о том, может ли какая-либо следующая градуировка быть получена по данному изображению (изображениям)), наши описываемые технологии должны справляться с ситуациями, в которых имеется НЕ всего лишь простая (повторная) градуировка, которая просто дает новое изображение Im_2000 по изображению Im_5000, а, скорее, необходимо учитывать дополнительные требования. Поскольку исходное (необходимое для HDR-воспроизведения более высокого качества) изображение Im_5000, которое является оптимальным для получения хороших HDR-видов на дисплеях, имеющих существенно более высокую пиковую яркость, чем 2000 нитов (т.е. с использованием соответствующего дисплея, имеющего пиковую яркость около 5000 нитов, который может являться эталонным дисплеем 360, имевшегося у градуировщика на стороне создания контента для проверки реального визуального влияния HDR того, что он делает, и который может переключаться в режиме эмуляции между 5000 нитами макс. и 2000 нитами макс.) в действительности не будет сохраняться или передаваться, а, скорее, поскольку стандарт устанавливает кодирование изображения с 2000 нитами, кодер сохраняет или передает только изображение с 2000 нитами HDR-сцены. Это Im_2000 должно содержать достаточно точную информацию по всем текстурам объекта независимо от того, в каком виде какой сцены они будут окончательно воспроизводиться (т.е. преобразовываться по цвету).
Помимо данного Im_2000, кодер в то же время будет совместно сохранять некоторые функции F_2Tu, которые параметрически совместно кодируют эту дополнительную информацию в изображении Im_5000, которое кодирует вид на 5000 нитов (эта информация главным образом представляет собой, скорее то, какие конечные средние цвета должны иметь объекты, чем их точные геометрические текстуры), т.е. например, как освещенные солнцем ландшафты на улице или лампы (либо другие эффекты HDR-вида высокой яркости) могут оптимально изменяться по оси яркости или широкодиапазонному цветовому пространству для различных видов, соответствующих различно пиковой яркости дисплея, т.е. воспроизводиться, если бы у нас были более яркие дисплеи, по сравнению с тем, как если бы у нас были только менее яркие дисплеи, например, в лучшем случае, дисплей на 2000 нитов или даже дисплей на 1000 нитов. Этот по меньшей мере один набор дополнительных функций F_2Tu не только обеспечит повторную градуировку (которую мы будем называть настройкой дисплея) на сам вид 5000 нитов, но и на другие виды, занимающие промежуточное положение между, например, 2000 и 5000 нитами, т.е. для дисплеев, на которые подаются оптимально выглядевшие изображения с такими пиковыми яркостями. Таким образом, мы говорим о новом способе кодирования набора видов, а не просто о технологии повторной градуировки ряда видов только на стороне передатчика.
Нашу рассматриваемую технологию необходимо также четко отличать от еще одного сценария, в котором дисплей на 5000 нитов обслуживается непосредственно для его воспроизведения изображением Im_2000 с 2000 нитами, и не следует путать с ним. Изображение с 2000 нитами - это некоторое HDR-изображение со значительным межобъектным контрастом, поэтому, например, это изображение может непосредственно воспроизводиться, например, на дисплее на 500 нитов с использованием его в так называемой относительной инфраструктуре кодирования и воспроизведения, т.е. путем воспроизведения считающегося белым с 2000 нитами как белого на 5000 нитов (независимо от того, выглядит ли оно визуально более эффектно или мене желательно, поскольку оно, например, является слишком ярким для заданной сцены, например, туманного ландшафта). Можно было бы даже предусмотреть трюки для имитации таких в конечном итоге желательных видов с 5000 нитами, если бы это было единственное изображение (изображения), необходимое на потребительской стороне, которые выдают себя за виды с 2000 нитами, но с неверной колориметрией (т.е. цветовые коды является некорректными, что было бы видно, если бы захотели непосредственно воспроизвести эти имитационные изображения на дисплее на 2000 нитов). Или же, некоторая интеллектуальная функция автоматического преобразования могла бы проанализировать изображение, возможно, понять, что оно является слишком туманным для оптимального HDR-воспроизведения более высокого качества, и применить функцию F_2000_do преобразования оптимизации дисплея, которая на графике входной и выходной яркости [0,1] будет выглядеть как функция, которая завершает выход для входа 1, например, на 0,75, т.е. делая его менее, чем максимально ярким. В данном сценарии дисплей на приемном конце имеет только изображение Im_2000, однако оно было получено, т.е. градуировано по каким-нибудь выбранным художественным причинам, но при этом нет совершенно никакой информации о том, каким было исходное изображение Im_5000. Поэтому приемник должен сделать всевозможные слепые допущения при получении своих «оптимальных» ведущих изображений, скажем, для дисплея на 5000 или 6000 нитов на приемном конце. Это не представляется оптимальным, особенно, для сложных HDR-сцен. Вполне вероятно, что, хотя данная технологическая цепочка формирования изображений оптимально удовлетворяет долю пользователей, имеющих дисплеи на 2000 нитов, имеющиеся на рынке, пользователи, потратившие больше денег на более высококачественные HDR-дисплеи на 5000 нитов, не получают наилучшее качество за свои деньги и, конечно, не всегда автоматически то, что предполагал начальный градуировщик (свое оптимизированное изображение Im_5000). Поэтому нам нужна дополнительная технология, которая может передаваться с помощью некоторых технических средств, которая является удовлетворительной для всего потенциально обслуживаемого рынка, т.е. независимо от того, какая система имеется у конкретного пользователя. Это должно работать, например, для сценариев, в которых зритель покупает некоторую конкретную информацию посредством некоторой версии HDRx-типа BD-диска, который он считывает с использованием некоторого устройства, содержащего проигрыватель BD, и получает некоторую дополнительную информацию о метаданных цветового преобразования на этом диске или в качестве альтернативы, например, через интернет, и пользователь хочет отображать видео в одно и то же время на двух различных дисплеях, например, на своем современном телевизоре на 6000 нитов на своей даче или в дорогом отеле, в котором он остановился, и на мобильном телефоне 451 на 500 нитов, которым его сын пользуется дома.
Все-таки система кодирования должна не только иметь возможность обеспечивать различные более высокие фактические пиковые яркости дисплея, чем яркости эталонного дисплея, связанные с реальными передаваемыми изображениями, но и более низкие яркости, например, 200 нитов. Поэтому, как правило, на стороне создания контента будет иметься дополнительный блок 325 градуировки, который, хотя он и не составляет суть нашего рассматриваемого изобретения, мы вкратце опишем. В нашей концепции кодирования несмотря на то, что она может также работать с отдельными (только HDR-вид) кодированиями, мы предпочтительно хотим, чтобы градуировщик имел возможность сказать что-нибудь о LDR-виде (т.е. как необходимо понизить качество HDR, чтобы оно было оптимальным для дисплеев с меньшими возможностями по динамическому диапазону яркостей. Кроме того, градуировщик может задавать по меньшей мере одну функцию F_2T1 (или, как правило, набор функций, работающих и по яркости, и по хроматическим цветовым компонентам пикселей, например, изменение цветовой насыщенности - в целом и/или частично локально), которая может использоваться для преобразования вида Im_2000, который кодируется в технологии передачи изображения, например, в эталонное LDR с 2000 нитами.
Читателю должно быть понятно, что HDR с 2000 нитами - это все-таки HDR-изображение, поэтому преобразование между 2000 и 5000 нитами, а также 2000 и 100 нитами (LDR-вид сцены) может технически и эстетически являться очень разным. И более того, это уместно независимо от того, составляет ли пиковая яркость эталонного диапазона фактически передаваемого изображения (изображений), например, 1000, либо 2000, либо, возможно, 4000. Первая из них (всего лишь) в 10 раз ярче (т.е. приблизительно 3 ступени экспозиции), чем LDR со 100 нитами, в то время как последний из них уже впечатляюще ярче в 40 раз (что является основным фактором, особенно, для изображений, наблюдаемых в полутемных или даже темных условиях наблюдения). В зависимости от типа кодируемой HDR-сцены, по сравнению с LDR мы можем для 3 дополнительных ступеней экспозиции распределить некоторые особо яркие области изображения по упомянутым дополнительно имеющимся ступеням экспозиции. Для 40-кратного увеличения (5 ступеней экспозиции, т.е. еще 2 дополнительные ступени экспозиции) можно создавать некоторые впечатляющие HDR-эффекты, например, сверхъяркие лазерные мечи, либо взрывы, и т.д. Конечно, лазерные мечи могут также воспроизводиться в 2000 нитах, но тогда они будут не столь впечатляюще яркими.
Для различных объясняющих примеров мы будем предполагать, что цветовые преобразования происходят в относительной палитре яркостей: поскольку изображения обычно квантуются, например, в 0-1023 при наличии 10-битовых представлений цветовых компонентов, при использовании максимального кода 1023, соответствующего некоторой эталонной максимальной яркости для конкретного кодека мы можем задавать, например, и входное изображение Im_2000, и выход Im_100 для 100-нитовых эталонных LDR-дисплеев на относительной палитре или графике, имеющем свою физически кодируемую/реализуемую нормированную пиковую яркость при Lmax=1,0, соответствующей 1023, поэтому в этом отношении мы можем задавать любые цветовые преобразования.
На фиг. 9 показан объясняющий пример того, как градуировка вверх (и ее информация, передаваемая в F_2Tu) может значительно отличаться от градуировок вниз, т.е. в пиковые яркости ниже 2000 (кодируемые по меньшей мере в одной или в наборе из набора функции (функций) F_2T1 для повторной градуировки, например, из 2000 в 100 нитов, но дополнительные наборы функций для повторной градуировки, например, а 800 нитов могут также дополнительно передаваться на приемник, либо могут существовать механизмы для повторной градуировки на основе только одного набора цветовых преобразований, задающих, как правило, как должно происходить понижение качества). Необходимо отметить, что HDR-сцены могут быть сложными или простыми, но система, конечно, должна быть способной справляться с ними приемлемым образом. Большое отличие от классического кодирования видео (которое решает, главным образом, технические вопросы, например, что изображение должно быть разбито на DCT-блоки, что, оставляя в стороне некоторые артефакты блоков, всегда может выполняться независимо от того, какой в действительности является отображаемая сцена, при этом, возможно, движущаяся вода является наихудшей сценой) состоит в том, что в данных принципах кодирования спектра HDR-вида различные виды также должны выглядеть реалистично, либо в соответствии с эстетическими требованиями, и это является сложной функцией как вида сцены/изображения, так и нелинейного поведения зрения человека, адаптированного к конкретным условиям воспроизведения. Поэтому можно задать вопрос: какого типа воспроизведение объекта может быть в виде HDR-эффектов в 10-кратном диапазоне LDR (т.е. до 1000 нитов) и 15-кратном диапазоне (таким образом, также в части между 1000 и 1500 нитами), и т.д. Это отчасти относительный вопрос, поскольку зрительные структуры мозга могут хорошо адаптироваться к ситуациям и интерпретациям наблюдаемых изображений. Кроме того, в старых картинах, например, ван Шенделя, несмотря на то, что физически, конечно, нет большого динамического диапазона между полотном или белой краской и черной краской, художник может использовать трюки для имитации эффектов более широкого динамического диапазона, при этом мозг оценивает, например, яркие источники света. Поэтому, например, если просто взять улицу в солнечный день, где часть улицы находится в тени, некоторые могут критически относиться к тому, насколько темными должны или не должны быть тени относительно освещенной солнцем части, в то время как другие могут принимать несколько возможных воспроизведений. Что касается того, насколько яркой должна быть именно освещенная солнцем часть, то может быть большее разногласие или, иными словами, более значительная вариантность в оптимальных воспроизведениях. И, конечно, монитор с пиковой яркостью 1000 нитов может не воспроизводить «корректно» освещенную солнцем улицу, если считается, что она должна оптимально воспроизводиться в жилой комнате зрителя при 2000 нитах, но воспроизведение приблизительно 1000 нитов - это лучшее, что может сделать из изображения дисплей на 1000 нитов, и она может быть не совсем плохой (это всего лишь изображение, которое оказывает несколько меньшее воздействие и которое зритель должен мысленно заполнять сам исходя из своего опыта наблюдения солнечного освещения (т.е. по восприятиям светлоты), а не полностью реально испытывать его воздействие (также от появления корректной яркости)). Фиг. 9 на прекрасном примере объясняет, как могут варьироваться градуировки по диапазону пиковых яркостей предполагаемого дисплея, т.е. в отношении их основополагающих принципов доминирующей градуировки. Мы предполагаем, что у нас есть изображение, которое по своему характеру является более графическим, чем натуралистическим, с несколькими белыми, которые могут появляться, например, в виде фар автомобиля, уличного освещения и источников света сквозь окна зданий, и т.д. Необходимо отметить, что в HDR, как и в реальной жизни и в отличие от LDR, может иметься несколько белых. LDR имеет только свой белый и, возможно, немного места для световых эффектов, но в реальном мире и при любом кодировании, в котором остается достаточный диапазон яркостей выше рассеивающего белого главной интересующей зоны может существовать, например, белый, который интенсивно освещается солнцем снаружи, либо белая поверхность TL-трубки, и т.д., и все они могут иметь значительно различающуюся среднюю яркость. При графическом воспроизведении - вспомните, например, фильм «Город грехов 2» - могут даже иметься объекты, которые художественно (неестественно) выполнены белыми. Например, есть человек в белых очках. В LDR можно без проблем воспроизводить их с пиковой яркостью 100 нитов или, скажем, 500 нитов, но, если воспроизводить их с белым при пиковой яркости, например, на дисплее на 5000 нитов, может показаться, что у человека из глаз выходят лучи маяка, что может оказаться далеким от первоначального намерения. Поэтому, возможно, захочется воспроизводить эти белые цвета в HDR со значительно более низкой яркостью, чем, например, фары автомобиля, хотя в LDR имеется место в цветовой палитре только для одного и того же белого.
Допустим, теперь мы смотрим на фиг. 2 с приемной стороны. График 902, возможно, имел на стороне передатчика основную градуировку 6000 нитов - будь то прямо из камеры, при этом, возможно, оператор камеры быстро настраивает вид некоторыми кнопками настройки, изменяющими некоторые значения яркости и контраста, или после автономной высокохудожественной градуировки - но теперь это будет градуировка, которая может быть получена по переданной градуировке 901. Практический пример нескольких белых цветов HDR (или ярких областей) - это, например, солнце, светящее на ковер в помещении свозь окно, и более яркое небо снаружи, а также еще более яркое солнце, светящее, например, на металлическую крышу снаружи.
Поэтому приемник будет получать изображения, определяемые по оси нормированной яркости, которая соответствует пиковой яркости величиной 2000 нитов. График (который мы приводим здесь в качестве тождественного преобразования или диагональной линии в случае, когда вход 2000 нитов по оси х должен повторно градуироваться в самого себя в качестве выхода) состоит из 4 частей. Самая темная часть, поднимающаяся приблизительно до 45% (т.е. воспроизводимые яркости до 900 нитов, которые могут, например, имитировать освещенную солнцем улицу, воспроизводимую в более темных условиях наблюдения) для нормальной сцены, т.е. например, отражающие объекты в комнате, или на улице, и т.д. Выше этого диапазона имеются три ярких диапазона, которые мы для упрощения будем считать белыми диапазонами (т.е. в них могут иметься различные яркости ввиду структуры объекта, но допустим, что цвет отсутствует). Самый нижний из этих трех может представлять собой, например, художественные невероятно белые очки человека. Средний может представлять собой уютный интерьер освещенной солнцем комнаты, наблюдаемый снаружи, а верхний - например, уличное освещение или лучи фар автомобиля, и т.д.
Читатель может заметить, что повторная градуировка, т.е. то, что делается с помощью преобразования оттенков, закодированного в F_2Tu, в направлении более высоких пиковых яркостей, чем передаваемые Im_2000, главным образом, относится к перераспределению светлых участков. Мы предполагаем, что цвета объектов (нижняя часть) должны передаваться одинаковыми независимо от того, имеется ли у зрителя дисплей на 2000 нитов или 6000 нитов или даже на 10000 нитов. Т.е. на относительной (линейной) оси нижняя часть кривой 902 будет составлять 1/3-ю от кривой 901. Однако яркие области при градуировке (902) 5000 нитов ставятся в реальные абсолютные положения, т.е. так, как должны выглядеть все высококачественные воспроизведения отображаемой сцены. Градуировщик находит, что в среднем вторая яркая область должна быть в идеале вдвое ярче, чем первая, для создания впечатления хорошей дополнительной яркости (avL_2_6000=2 * avL_1_6000). Однако при градуировке 2000 нитов это не может быть просто реализовано. При этом не только придется ограничивать некоторую часть второй яркой области, но, что еще более важно, не останется совершенно никакого места на оси эталонной яркости 2000 нитов для кодирования третьей яркой области. Т.е. в силу технической необходимости они должны быть поставлены ближе друг к другу. Однако градуировщик может решить выполнить это таким образом, чтобы все еще оставалось некоторое приемлемое различие между avL_2_2000 и avL_1_2000, т.е. некоторое приемлемое впечатление от этих различных видов светлого участка. И, более того, если приемник принял корректные функции, он может повторно вычислить требуемые относительные яркости для градуировки 5000 нитов на основании яркостей пикселей принятого изображения с 2000 нитами. Конечно, в частности, то, как с художественной точки зрения будут оптимально выглядеть вещи для зрителя, является проблемой, сильно зависящей от сцены, поэтому, чтобы иметь хорошую технологию обработки и кодирования HDR, нужна система, которая способна достаточным образом манипулировать всеми этими особенностями. Необходимо отметить, что для градуировки вниз это - далеко от просто обращения стрелки функций цветовой обработки. В данном примере градуировщик должен, во-первых, решить не поднимать нижнюю часть кривой 901 с использованием коэффициента 20, а, скорее, разложить эти яркости по большей части имеющегося диапазона относительных яркостей градуировки (кривая 903) 100 нитов, и, во-вторых, он решает сделать все три яркие области белыми с пиковой яркостью. Поэтому, в отличие от повторной градуировки вверх - то в одном, то в другом направлении - это, несомненно, не является обязательно обратимой операций в данном примере.
Фиг. 5а объясняет дополнительные детали возможного преобразования в LDR, при котором необходимо изображение в диапазоне HDR церкви с окном из витражного стекла. Интерьер церкви визуально (т.е. его внешний вид) нормально освещен, но относительно белого, конечно, является довольно темным. Это вызвано тем, что в палитре необходимо пространство для цветов окна из витражного стекла. Т.е. межобъектный контраст CR_io между пикселями интерьера церкви (CD_HDR2000, или CD_LDR100) по сравнению с пикселями витражного стекла (CR_HDR2000, или CR_LDR100) должен быть большим (т.е. составлять значительную процентную долю протяженности яркости палитры кодека, поэтому после воспроизведения объекты также существенно различаются по средней яркости), даже при LDR-градуировке (при этой LDR-градуировке контраст, конечно, в лучшем случае, достигает физически реализуемой и, тем не менее, приемлемой величины, что означает, что часто ограничение может использоваться в качестве предпочтительного решения градуировщика, либо по меньшей мере уменьшения цветовой насыщенности). В данном представлении палитры, по которому мы вновь делаем поперечное сечение «красный-бирюзовый», чтобы показать и хроматическое действие, и повышение яркости по оси яркостей, мы демонстрируем результат функций преобразования для преобразования между (в качестве стартового (наилучшим образом кодированного) изображения) HDR Im_2000, во-вторых, промежуточным представлением MDR, например, для дисплея с пиковой яркостью 400 нитов, и типичным эталонным LDR с пиковой яркостью 100 нитов (нам незачем в настоящем документы акцентировать внимание на всех деталях относительно того, какие общие многосегментные функции преобразования оттенка, функции управления насыщенностью, функции выбора локальной области и т.д. могут использоваться, поскольку квалифицированный специалист может в целом их представить, а данное изобретение, скорее, посвящено основе градуировки и связанной с ней основе кодирования для обеспечения корректного достижения всей указанной информацией о градуировке приемной стороны, а затем в конечном итоге соответствующего корректного воспроизведения). Переход к дисплеям с меньшей пиковой яркостью часто предполагает увеличение яркости в относительной палитре. Поэтому обычно также именно так - помимо сигналов кодирования, обычно содержащих метаданные, объясняющие, что они из себя представляют, например, для какой пиковой яркости эталонного дисплея предназначено изображение, и какая функция кодового распределения использовалась при формировании кодов сигналов яркости (и имеются ли функции для преобразования в другие пиковые яркости, величина этих пиковых яркостей) - можно увидеть различие между HDR-изображениями и LDR-изображениями: LDR-изображения часто имеют более равномерно распределенную гистограмму (часто упрощенно называемую мономодальной или «Гауссовой») ввиду равномерного освещения объектов сцены, а HDR могут иметь значительный контент в относительно темном поддиапазоне (интенсивный сегмент), а также контент в ярких поддиапазонах, например, интенсивно освещенный участок и зачастую редко распределенные яркости в промежуточном положении. На фиг. 10 мы видим несколько примеров гистограмм сигналов яркости HDR-сцен, при этом 1001 представляет собой бункер с видом наружу, 1002 - здание, видимое с освещенной солнцем наружной стороны с темными частями внутри, 1003 - окно с витражными стеклами церкви, 1004 - здание и кустарники на фоне заката солнца, а 1005 - относительно более темная внутренняя часть здания и наружное пространство, видимое сквозь относительно темные окна. Например, небо, как правило, на несколько ступеней экспозиции ярче, чем остальная часть сцены, и, конечно, лампы по меньшей мере сама лампа, как правило, намного ярче, чем остальная часть сцены. Если непосредственно воспроизводить изображение со столь большим количеством пикселей в темном сегменте (т.е. воспроизводить на LDR-дисплее HDR-изображение, которое не предназначено для LDR-дисплея), как правило, получают изображение, которое выглядит слишком темным, поскольку в большой области или процентной доле пикселей сложно разглядеть черноватый цвет. Т.е. какое бы точное цветовое преобразование градуировщик ни желал для каждой сцены, повторная градуировка LDR может зачастую включать в себя по меньшей мере повышение яркости более темных пикселей, например, с помощью мультипликативного растяжения контраста этого подсегмента гистограммы яркостей. Читателю также целесообразно обратить внимание, что в целом означает динамический диапазон. В прежнее время эксперты ответили бы, что, говоря простым языком, именно динамический диапазон - это яркость самого яркого воспроизводимого цвета по отношению к яркости самого темного воспроизводимого цвета. Это вполне может являться достаточным критерием для воспроизведения, но он мало говорит о кодировании. Как упоминалось выше, изображение может кодироваться в виде, скажем, 0,01 нита к 2000 нитам (пиковая яркость эталонного дисплея), т.е. оказываться сценой с динамическим диапазоном 200.000:1. Однако, если можно повысить качество до представления 5000 нитов, то оказывается, что в том же изображении имеется кодирование динамического диапазона 500.000:1. С точки зрения кодирования динамический диапазон и, что еще более важно, сложность яркости изображения скорее определяются по тому, сколько имеется (и какие, т.е. какими должны быть их типичные воспроизводимые средние яркости) различных подобластей с градацией серых тонов (или, как правило, по-разному освещенных), и с какой межъобъектной текстурной/геометрической сложностью свойств объекта они кодируются. Например, человек или чудовище, частично скрытый в тумане - это психовизуально или художественно не только проблема того, где его средняя яркость будет помещена на оси воспроизводимых яркостей, но и того, какой точный внутриобъектный контраст нужен, чтобы сделать это чудовище достаточно страшным. Это свойство распределения яркости показывает, почему относительное воспроизведение (т.е. сжатие в палитру между пиковой яркостью дисплея и воспринимаемым черным LDR-дисплея) часто не является хорошим способом манипулирования HDR-воспроизведением (этот способ воспроизведения не учитывает аспекты корректного динамического диапазона или распределения яркости данного конкретного изображения и сцены и, следовательно, создает воспроизведение с очень некорректным динамическим диапазоном). Или же, основа технологических компонентов будет способна манипулировать со всеми этими аспектами, т.е. не только высококачественным воспроизведением всех необходимых яркостей пикселей, скажем, на дисплее на 5000 нитов, но и адекватными аппроксимациями при необходимости воспроизведения на дисплеях с меньшими возможностями, т.е. с меньшей пиковой яркостью. Это будет включать в себя сложный выбор того, какие аспекты более высокого качества изображения сцены, в частности, какие HDR-эффекты (например, видимость яркости лампы по сравнению с контрастом человека, выходящего из тумана) потребуется приносить в жертву в определенной степени при условии меньшей пиковой яркости дисплея, что может в некоторых случаях частично выполняться интеллектуальными программными средствами анализа изображений, но часто будет художественно оптимизироваться человеком-градуировщиком цветов.
Возвращаясь к повторной градуировке LDR церкви на фиг. 5а, если необходимо - насколько это возможно - чтобы цвета темных углов интерьера церкви (CD) выглядели одинаковыми (т.е. воспроизводились с одинаковыми выходными яркостями дисплея) на различных дисплеях, если дисплей на 2000 нитов для всех цветов (в общем и целом при одинаковом управлении, т.е. например, для пикового белого) в 20 раз ярче, чем дисплей на 100 нитов, для того же выходного воспроизведения придется увеличивать ведущую яркость (или в действительности, конечно, соответствующие сигналы яркости Rʹ, Gʹ, Bʹ) для LDR-дисплея (или его цвета CD_LDR100) в 20 раз. Конечно, даже если необходимо иметь возможность в достаточной степени видеть интерьер церкви, это может происходить во всех возможных случаях с учетом ограничений палитры LDR-дисплея. Если, например, CD_HDR2000 имеет яркость 0,05, такое LDR-преобразование не будет реалистичным, поскольку мы закончим на яркости 1,0 для LDR, т.е. на белом, но обычно, конечно, при HDR-кодировании, которое может уменьшаться до очень темных яркостей, относительная яркость может, например, составлять 1/10000-ю от пикового белого или меньше. Тем не менее, конечно, при преобразовании CD_HDR2000 в CD_LDR100 градуировщик не обязательно должен использовать одинаковость выходных яркостей в качестве своего критерия, но он может использовать любое преобразование, которое он считает визуально привлекательным. Необходимо отметить, что эти преобразования в виды с более узким динамическим диапазоном не обязательно должны быть обратимыми, поскольку необходимо только получить LDR-изображение из Im_2000, при этом нет необходимости снова повторно градуировать его вверх. Для упрощения преобразование MDR может являться некоторой интерполяцией преобразования в LDR, например, средней точки на психовизуальной равномерной шкале, но, конечно, это может быть чем угодно, и градуировщик может даже пожелать задать еще одну специальную функцию для преобразования из Im_2000 в MDR. Красные цвета в окне из витражного стекла в представляемой сцене могут быть высоконасыщенными, однако, очень яркими. Это может произойти в HDR-изображении Im_2000, если кодировать эти цвета пикселей вблизи максимальной яркости или ведущего значения (например, 255 или 1023) основного красного цвета R. Двигаясь вниз, например, к MDR, градуировщик натолкнется на физические ограничения системы и, возможно, захочет сбалансировать многокрасочность, чтобы все-таки получить как можно больше эффекта от яркости окон, т.е. сохранить достаточный межобъектный контраст, который мозг при этом интерпретирует как вполне яркие красочные окна. Это обычно включает в себя преобразование в CD_MDR400, которое сохраняет цвет треугольного верха палитры на достаточной насыщенности, т.е. все еще на достаточном расстоянии от оси ахроматической яркости, т.е. все еще достаточно низко в сходящейся части палитры и как можно ближе к границе палитры (т.е. без постеризации ввиду того, что соседние цвета в текстуре становятся одинаковыми). Для LDR градуировщик решает продолжать преобразование (например, поскольку от 2000 до 400 составляет около двух ступеней экспозиции, также как и от 400 до 100, градуировщик может рассмотреть возможность выполнения преобразования в том же направлении и на равное расстояние, но, как правило, это может быть любое преобразование, уравновешивающее светлоту и насыщенность с учетом психовизуальных аспектов обоих дисплеев, т.е. в результате какой пиковой яркости для дисплеев с более высокой пиковой яркостью конкретные световые эффекты начинают возникать во внешнем виде, по сравнению с тем, как градуировщику приходится сверх меры впихивать некоторые HDR-эффекты на дисплеях с более низкой пиковой яркостью, например, дисплеях на 100 нитов). В данном примере мы видим выбор градуировщиком всего лишь ограничения (почти) белым CR_LDR100, оставляющие лишь незначительную часть текстуры картины на окне из витражного стекла божественно просвечивающей в LDR-виде. Относительно того, как технически кодировать эти функции F_2T1 понижающего преобразования, могут существовать различные способы. Например, градуировщик может использовать технологию, которая задает функции на диске таким образом, что они остаются в пределах своего (допустимого) ограниченного диапазона [0,1], т.е. преобразование в MDR совместно кодируется в виде метаданных в Im_2000, а LDR-вид при этом на приемной стороне математически экстраполируется по ним. Или же, можно технически обеспечивать цветовые преобразования в псевдоцвета (РС), задаваемые в расширенной палитре, которая выходит за пределы типичного диапазона [0,1] палитры. В этом случае можно точно задавать псевдоцвета LDR-цвета для получения соответствующего MDR-цвета CD_MDR400 путем интерполяции, при этом фактический воспроизводимый LDR-цвет CR_LDR100 будет определяться на приемной стороне декодером, применяющим механизм ограничения (который может быть фиксированным или также задаваться, например, кодированием числа выборов по числу выбираемых стратегий ограничения). На фиг. 5b показан один из вариантов осуществления того, как выбросы могут кодироваться для градуированного под LDR описания изображения. Осуществляется преобразование в полную палитру 555 между 0,0 и 1,0, но некоторые из кодов резервируются для невоспроизводимых цветов в LDR (но воспроизводимых при настройке на MDR-цвета). Реальная палитра воспроизводимых в LDR цветов представляет собой 556 (т.е. как цвета должны воспроизводиться на LDR-дисплее, возможно, включая желательное ограничение), что может быть задано путем определения максимальной или белой точки CW, например, при 0,85. Из палитры 556 цвета будут ограничиваться указанной палитрой перед воспроизведением LDR-изображения с помощью фиксированной или специализированной стратегии ограничения. Некоторые создатели контента могут счесть экстраполяцию LDR-вида по MDR-кодированию на диске более безопасным вариантом осуществления, поскольку для областей LDR-объекта имеется не меньшее количество цветов. Тем не менее, это равносильно аналогичной стратегии, поскольку CW будет задаваться в общем и целом путем фактически заграждения палитрой 555 большего размера плотно вокруг большей части определения цвета палитры вне LDR, необходимого для текущего изображения (изображений). Т.е. задаются данные текстуры с изображением, которое занимает максимальное место, т.е. никакого ограничения в самом нижнем кодированном изображении. Таким образом, это соответствует помещению некоторого MDR-изображения на диск и применению дополнительного преобразования для получения конечного LDR для воспроизведения, что осуществляется для наличия некоторого ограничивающего компонента.
Подводя итог всему вышесказанному, можно в общем сказать, что обычно преобразования между HDR-представлениями предполагают изменение положения более ярких объектов по оси относительной яркости (например, чтобы сделать их особо яркими, уравновешивая возможности дисплея и назначение объекта, в действительности находящегося на изображении, и психовизуально играя с видом яркости помимо вида светлоты), в то время как преобразование в LDR-изображения предполагает выстраивание вместе всех диапазонов уровней яркости объекта некоторым оптимальным образом с учетом той малой палитры воспроизводимых цветов, которая имеется, что представляет собой две технически разные задачи.
В основе этого лежат принципы целесообразности для кодирования не просто одного отдельного HDR-изображения, а фактически спектра видов для различных ситуаций воспроизведения с различной пиковой яркостью дисплея, что не является тривиальной задачей, поскольку для каждого изображения вида постоянно необходимо выполнение оптимизации с учетом всех факторов, например, технических ограничений, таких как длина слова согласованного цветового кода (в действительности, сложность интегральных схем вычислений, либо малый бюджет, имеющийся для связи, а зачастую возможность внедрения в устаревшие технологии, например, в спутниковую систему телевизионного вещания, и т.д.), но, конечно, также художественными соображениями, но в действительности все эти нерешенные задачи оптимизируются вместе (поэтому необходима хорошая техническая основа, чтобы, например, человек-градуировщик цветов не мог сделать что-либо, являющееся фантастическим с художественной точки зрения, но преобразуется с использованием имеющейся технологии, поэтому в конце вызывает разочарование).
Например, рассмотрим наличие сцены, которая является сложной в отношении динамического диапазона, например, содержит внутреннюю комнату, в которой имеются равномерно освещенные, но также и довольно темные области, а сквозь некоторые проемы - вид на освещенное солнцем наружное пространство, также содержащее несколько областей с важным цветом и/или яркостью, которые уже могут представлять собой сложную сцену для оптимизации в эталонном диапазоне яркостей 5000 нитов или в цветовой палитре. Тем не менее, при этом зритель будет корректно видеть различные области, которые несколько темнее во внутренней части комнаты, именно с корректной средней яркостью, поэтому видимость является корректной, а также настроение сцены, и т.д., а также различные яркие области, которые имитируют реально существующую наружную область. Однако теперь вопрос состоит в том, как сохранить все эти различно освещенные области сбалансированно распределенными для всех видов сцены с меньшим динамическим диапазоном (т.е. с меньшей максимальной яркостью и для воспроизведения на дисплеях с меньшей пиковой яркостью). Воспроизведение 2000 нитов может, тем не менее, иметь значительно более высококачественный HDR-вид, но все же приходится решать, как перераспределять яркости, которые находились между 3000 и 5000 нитами, в яркости несколько ниже 2000 нитов. Например, градуировщик может решить, что для того, чтобы поступить оптимально, необходимо сохранить все яркости внутри равными яркостям градуировке 5000 нитов и сохранить яркости снаружи достаточно яркими и солнечными, т.е. сохранить свою среднюю яркость близкой к максимуму величиной 2000 нитов (или, что лучше, максимально достижимой при ограничении достаточной красочности для любых объектов, находящихся снаружи), и несколько пожертвовать, например, световыми бликами этой области.
Для 1000 нитов ему может потребоваться более критическая повторная градуировка ярких областей, поэтому теперь можно рассмотреть возможность уменьшения яркости также внутренних цветов для сохранения соотношения контрастов между средней яркостью внутри и снаружи достаточно высоким. Например, для 7000 нитов градуировщик может решить, что ему необходимо существенно изменить все яркости объектов внутри помещения чтобы собрать вместе все эти различно освещенные внутренние области в меньшем имеющемся поддиапазоне яркостей, однако, тем не менее, с учетом, например, локальных и полуглобальных контрастов, и т.д. Конечно, ему, возможно, также потребуется еще раз посмотреть на объекты снаружи.
Хорошие технические основы HDR-кодирования должны давать создателям контента достаточно свободы с учетом, конечно, также различных сценариев, необходимых на стороне потребления изображений, в частности, которые обеспечивают различные способы изменения цвета всех этих объектов по меньшей мере в направлении оси яркости.
Наконец, средство 330 форматирования кодирует отдельное относящееся к 2000 нитам изображение Im_2000 в любом установленном формате в соответствии со стандартом кодирования передачи видео для кодирования HDR-изображений. Мы разработали способ, в котором мы можем в большой степени повторно использовать существующую технологию кодирования и передачи LDR-изображений. В конце мы просто имеем, например, нормированные RGB-значения, даже для HDR-изображения, поэтому мы можем сохранять их в форматах кодирования, которые не беспокоятся о том, какими в действительности являются пиксели (конечно, приемнику необходимы метаданные, объясняющие, каким яркостям в действительности соответствуют сигналы яркости или нелинейные значения RʹGʹBʹ, либо он будет, например, предполагая, что принимает устаревшее LDR-изображение, воспроизводить большую часть пикселей слишком темными на дисплеях с более низкой пиковой яркостью). Как правило, может иметься DCT-кодирование, используемое для получения кодированного Im_2000C, поскольку в нашем исследовании мы продемонстрировали, что можем кодировать HDR-изображения в стандартных структурах кодирования MPEG (например, 10 бит YCrCb), при условии, что правильная EOTF используется для определения того, как имеющиеся 1024 кода используются для конкретных яркостей в виде сигналов яркостей. Вместе с этим изображением должны передаваться все требуемые метаданные, устанавливающие (или по меньшей мере ориентирующие), как производные изображения (т.е. градуировки или виды) должны быть получены из Im_2000, например, функции F_2T1 для вычисления по меньшей мере одного изображения в более узком динамическом диапазоне (например, как правило, 100 нитов) для получения конечных ведущих изображений для дисплеев с более узком динамическим диапазоном (например, до 300 нитов). Изображение и метаданные могут, например, помещаться на BD-диск, либо кодироваться в виде сигнала кодирования передачи видео и отправляться, например, через сетевое соединение, либо сохраняться для последующей передачи, и т.д. Помимо этого, в соответствии с данным изобретением, будет иметься дополнительный набор метаданных MET(F_2Tu), который мы будем объяснять в данном описании как функции F_2Tu для восстановления очень близкой аппроксимации, например, градуировки Im_5000 нитов из изображения Im_2000 нитов, хранящегося на BD-диске. Поэтому резюмируем, что градуировка, происходящая с блоком 310, представляет собой базовую художественную градуировку, определяющую, тем не менее, что художнику необходимо преобразование реально существующей сцены в высококачественное (с более высокой пиковой яркостью) HDR-изображение. Второй блок 320 градуировки используется - под управлением градуировщика - для преобразования этого оптимального HDR-представления в HDR-изображение с более низкой пиковой яркостью (компромиссное решение, которое, тем не менее, имеет достаточное качество кодирования областей для обеспечения оптимального повторного преобразования для дисплеев более высоких пиковых яркостей, но психовизуально с меньшим эффектом от HDR, поскольку яркости объекта преобразованы в диапазон более низких пиковых яркостей). Некоторые варианты осуществления кодера могут выполнять только это, а помимо этого - приложения потребителя услуг, которые необходимы лишь для обслуживания дисплеев и сценариев воспроизведения более высокой пиковой яркости, чем пиковая яркость, которая была согласована для передачи изображения. Однако, как правило, целесообразно иметь информацию о том, как выполнять понижающую градуировку также в более низкие пиковые яркости, поэтому, как правило, имеется третий блок 325, предусматривающий автоматический алгоритм или обычно также градуировщика для задания того, как необходимо выполнять понижающую градуировку изображений с 2000 нитами, как правило, в изображения со 100 нитами. Наконец, все данные форматируются в соответствии с тем, что необходимо согласованной системе хранения или передачи.
Далее дополнительно объясним некоторые аспекты вариантов осуществления в отношении того, что градуировщик может сделать для преобразования между кодированиями 5000 нитов и 2000 нитов, и какие технические аспекты должны иметь различные технические варианты осуществления, чтобы обеспечивать это. Как указано выше, если не только отдельно выполнять градуировку Im_2000 нитов, которая должна использоваться сама по себе, но и кодирование с нашей технологией параметрического функционального кодирования оптимальной градуировки Im_5000 с 5000 нитами, градуировка в 2000 нитов фактически становится выбором сбалансированного решения между представлением цвета сцены (т.е. достаточно точным квантованным описанием всех текстур HDR-объекта) и, с другой стороны, художественным видом независимо от того, реализует ли его градуировщик и беспокоится ли о нем или нет. Поэтому хорошая градуировка при оптимизации должна учитывать аспекты обоих этих ограничений. Начнем теоретически с одного возможного способа градуировки на фиг. 6. Допустим, что у нас есть HDR-изображение, которое состоит из двух подобластей с очень разным освещением (например, интерьер, скажем, темно-коричневый паб и яркий наружный вид сквозь окно, либо, прямо противоположно, ночью: темный наружный вид и ярко освещенный, например, интерьер окна магазина, и т.д.). Мы разграничим упомянутые две области по меньшей мере мысленно разграничителем Lt яркости. На практике можно технически реализовать и кодировать преобразования различными эквивалентными способами, например, только задать сложное преобразование для яркости Im_2000 выше Lt и простой мультипликативный коэффициент масштабирования для яркостей ниже, либо задать простое преобразование по всему диапазону яркостей входного Im_2000, восстанавливаемого в градуировку 5000 нитов, и т.д. Градуировщик начал создание своего контента в этом примере, сделав в своем эталонном виде (Im_5000) с 5000 нитами прекрасный вид для интерьера паба. Он хочет скопировать этот вид в градуировку Im_2000 нитов для кодирования и передачи его, т.е. с теми же воспроизводимыми яркостями, т.е. теми же яркостями в его эталонном диапазоне яркостей. Т.е. в этой области ниже Lt две градуировки будут связаны линейным преобразованием с коэффициентом масштабирования 2,5. Конечно, квалифицированный читатель может понять, что градуировщик может использовать все виды своих преобразований, например, затемнить некоторую часть нижнего поддиапазона, поскольку при этом некоторые коричневые стулья выглядят лучше на воспроизведении 2000 нитов по сравнению с тем, что было бы сделано при воспроизведении/градуировке 5000 нитов, что, например, дало бы небольшой пик на кривой 601 линейного преобразования.
Затем градуировщик может сосредоточиться на том, что делать с более значительными яркостями (мы будем для упрощения предполагать, что хроматичности цветов остаются прежними для обеих кодировок HDR, что означает, что мы можем объяснить изобретение на основании поведения яркостей, но квалифицированный читатель поймет, как оно должно работать с более общими цветовыми преобразованиями, которые могут также изменять, например, насыщенность цвета или даже оттенок, например, сдвиг в сторону желтого для имитации солнечного света, и т.д.). Если это просто кодирование различных ярких HDR-текстур, т.е. в данном случае без учета требований к виду идеальных яркостей для этих областей, например, поскольку они никоим образом не могут быть выполнены идеальными в 2000 нитах или могут проходить последующую обработку и т.д., можно использовать кривую 602 частичного преобразования для остальной части изображения, т.е. в данном примере нормированные LN_2000 яркости выше Lt преобразуются «один к одному» в те же нормированные относительные/нормированные LN_5000 яркости (что при этом, конечно, для колориметра или фотометра будет выглядеть ярче при воспроизведении на предполагаемом дисплее на 5000 нитов, но вид для зрительной системы человека будет зависеть, помимо прочего, от зрительной адаптации и когнитивной интерпретации изображений человеческим мозгом). Т.е. возможно, верхняя часть наружных освещенных солнцем участков выглядит ярче на дисплее на 5000 нитов, но она может и должна так выглядеть. А мозг, хотя и не зная, и не беспокоясь о том, насколько солнечно должно быть снаружи, будет ожидать «значительно более яркую» область по меньшей мере настолько, насколько позволяет любой дисплей с конкретной пиковой яркостью. Поэтому для некоторых типов сцены это не является плохой стратегией градуировки с приемлемым результатом, хотя это может выглядеть несколько противоречащим здравому смыслу, поскольку мы в данном случае имеем разрывное преобразование, хотя и обратимое. Необходимо отметить, что критерий обратимости (т.е. если градуировщик выполняет кодирование 2000 нитов «худшего качества» из своей градуировки 5000 нитов более высокого качества путем применения некоторых функций, на приемной стороне эти функции должны применяться в обратном порядке для восстановления градуировки 5000 нитов по принятой градуировке 200 нитов) лишь требует на передающей стороне возможности задания некоторой функции (функций) F_2Tu для преобразования Im_2000 в восстановленное Im_5000* со свойством достаточной визуальной близости к Im_5000, и, следовательно, в объяснении наших вариантов осуществления просто предполагает, что кодер кодирует в качестве метаданных не сами функции понижающего преобразования, а, скорее, их обратные функции F_2Tu (в данном случае F_2T5 для восстановления градуировки 5000 нитов), которые необходимы для восстановления Im_5000* и которые, как правило, будут монотонно возрастающими.
Возможно, градуировщику потребуется использовать другие функции, например, поскольку имеются непрерывные функции (например, полилинейные с регулируемыми положениями сегментов) в ограниченном наборе инструментов градуировки. В этом случае он может решить использовать частичное преобразование 603 для верхних яркостей (области R_U верхних яркостей), и он может, например, градуировать Im_2000 таким образом, что немного выше Lt отсутствуют какие-либо значения яркости, при этом они присутствуют только в последней четверти диапазона входных яркостей. Впрочем, ему приходится уравновешивать различные требования, поэтому если он хочет, чтобы можно было получить хорошую градуировку 5000 нитов, и особенно, если он хочет отвечать за ее качество, он обычно проверяет не только то, что он делает в градуировке 2000 нитов, но и в градуировке 5000 нитов. Он может, например, проверять их одновременно, либо переключаться между ними на своем отдельном дисплее. Переключение между ними немедленно покажет области значительного изменения, хотя одновременный способ может использоваться для других видов проверок (например, подобластей, которые специально градуировались иным путем по какой-либо дополнительной причине или для эффекта). Кроме того, автоматические алгоритмы могут выполнять предварительный анализ областей, которые могут быть важными в соответствии с некоторым визуальным аспектом, например, сжатием с потерей информации путем выделения полосы частот, причем, эти области могут затем мигать красным, чтобы градуировщик посмотрел на них более критическим взглядом. Оба изображения должны представлять собой HDR, но они, конечно, они будут представлять собой несколько различные HDR-виды. Растягивание кривой 603, в частности, поскольку изображения Im_5000* должны быть показаны на ярком дисплее на 5000 нитов, может привести к появлению некоторых областей, например, со сжатием с потерей информации путем выделения полосы частот ввиду слишком высокой производной D по сравнению с числом локально имеющихся кодов N в изображении Im_2000. Градуировщик может затем перенастроить свою кривую с учетом этого. Например, он может несколько понизить наклон кривой по меньшей мере в этой области, чтобы получить N-образную кривую для 603 с некоторой частью, имеющей меньший наклон, между частями, имеющими больший наклон по меньшей мере если это визуально приемлемо. Или же, он может несколько сместить кривую, придав ей в среднем меньший наклон, хотя и не настолько, насколько в 602 (он может визуально решить согласовать высоту шага путем определения привлекательного межобъектного контраста для наружных областей по сравнению с внутренними, например, для ограничения света, просачивающегося вокруг границ окна в интерьер паба), и т.д. Или же, автоматический алгоритм может сделать это за него. В этом случае некоторое технически градуированное изображение Im_2000T может быть сохранено на диске, а затем, как правило, имеются дополнительные параметры преобразования, например, F_2T2T, которая порождает из Im_2000T художественную градуировку Im_2000 в соответствии с требованием градуировщика.
На фиг. 7 схематически показан некоторый общий пример того, что может сделать градуировщик для соотнесения двух более ярких и более тусклых градуировок HDR-градуировок путем функционального преобразования. Вместо точного воспроизведения внутренних областей меньшей яркости, он может наложить некоторый дополнительный эффект градуировки на один из двух видов, поскольку он считает, что это выглядит лучше при 5000 нитах, либо является оптимизацией в меньшем диапазоне 2000 нитов, и т.д. Например, он может несколько больше наклонить часть 701 преобразования в стороны темных участков, если он считает, например, что типичные дисплеи на 5000 нитов могут воспроизводить темные части (или по меньшей мере относительные темные части, но, возможно, и абсолютные темные части, при этом ультра-HDR-дисплеи воспроизводят, например, вплоть до 0,005 или даже теоретической величины 0,0001, вместо 0,01 нита) лучше, т.е. он может привносить вид некоторой особой темноты, который может, например, помочь в фильмах ужасов на изображениях темных подвалов или пещер, либо лесов в ночное время и т.д. Аналогичным образом, он может изогнуть свою верхнюю частичную кривую 703 преобразования для привнесения некоторого дополнительного контраста и выделения некоторых подобластей яркости, либо, наоборот, для уменьшения выделения, и т.д. Мы также привели пример локальной градуировки. Т.е. хотя обычно для всех пикселей в изображении Im_2000 используется кривая 701, исключительно исходя из яркости пикселя, а не его пространственного положения, в данном примере кривая 701 используется для некоторых локальных областей/объекта (например, второй вид на яркое наружное пространство сквозь меньшее окно, окруженное относительно темными частями интерьера). Это означает, помимо формы функции обработки цвета, задающей данные, что будет передаваться некоторая информация о местонахождении, позволяющая приемнику определять, к каким пикселям на изображении должна применяться кривая 701. Это может осуществляться, например, потому, что некоторому конкретному объекту придается дополнительное несреднее усиление, чтобы он выглядел лучше, например, в Im_2000, которое должно быть ослаблено, чтобы оно не стало чрезмерным. Или же, кроме того, ввиду локально-адаптивного характера зрения человека можно увидеть, что небольшой участок неба, наблюдаемый сквозь небольшой проем в темных внутренних стенах может восприниматься иного цвета, чем более значительный участок неба в другом положении в изображении, несмотря на то, что оба они колориметрически совершенно одинаковы, и это можно исправить путем задания локальной обработки. Или же, она может просто использоваться, поскольку градуировщик считает для некоторого участка снимка целесообразным задавать локальную обработку, а не продолжать возиться с глобальными кривыми, и т.д. Все эти требуемые функции обработки - это то, что мы для упрощения схематически обозначаем F_2Tu, и все эти требуемые параметры и прочие данные будут надлежащим образом кодироваться в виде метаданных предварительно стандартизованным способом, чтобы они могли быть поняты приемником. Необходимо отметить, что градуировщик может даже в принципе пожелать совместно закодировать, как преобразовать из 5000 нитов Im_5000* на дисплеи с еще более высокой пиковой яркостью, какие функции F_5TE могут, например, устанавливать выравнивание, чтобы некоторые большие области выглядели похожими на беловатое облачное небо, которое никогда не бывает слишком ярким, даже при солнечном освещении, но делать небольшие источники света чрезвычайно яркими, и т.д. Эти функции могут повторно вычисляться и сохраняться на диске для непосредственного вычисления по Im_2000, например, градуировки 20.000 нитов. Конечно, градуировщик может также считать, что изображение Im_5000 нитов является самым ярким из тех, которые его интересуют, и оставлять дополнительное усиление, если оно вообще будет, компании-поставщику для программ, либо изготовителю телевизионной приставки (STB), либо какому-нибудь устройству преобразования изображений приемной стороны.
Кодирование требуемых метаданных функции обработки цвета в сигнале S_im изображения, например, для хранения, скажем, на оптическом диске или для какого-либо телевизионного стандарта может, например, происходить в сегменте определения обработки градуировки HDR-изображения с конкретным значением индикаторного кода, указывающим, что это - такой тип информации, и параметрами, кодирующими ситуацию обработки, в частности, формой необходимых функций преобразования цвета. Дескриптор может кодировать требуемую обработку с одно стороны, а определение видео с 2000 нитами - с другой стороны. Например, определение того, для какой пиковой яркости дисплея оптимально подходят градуируемые изображения, может быть следующим:
Video_Type_definition_descriptor()
{ Пиковая Яркость эталонного диапазона кодека
EOTF
}
Пиковая яркость, записанная на BD, в нашем объясняющем примере составляет 2000 нитов, а EOTF задается в описаниях bluray (в виде математической функции или LUT), в виде отдельного варианта или множества вариантов, которые они устанавливают, в случае множества вариантов, например, с помощью целого числа для обозначения того, какой из них используется.
Конечно, можно также заложить 3000 нитов, например, выполнить некоторое кодирование 3000 нитов в заданном определении 2000 нитов (т.е. с использованием EOTF для кодирования 2000 нитов), но обычно следуют описанию.
Обработка для восстановления Im_5000* может быть определена, например, в виде:
Video_processing_descriptor(){
Характеризующий тип #2000_to_5000
K - число линейных сегментов для преобразования сигнала яркости
Для координат (i=0; i<K;i++) {(LN_2000_i, LN_5000_i)} конечной точки частичного сегмента, при этом LN_2000_i - координата х, а LN_5000_i - координата y, например, начальной точки сегмента, причем, последняя начальная точка является конечной точкой, если LN_2000_i имеет свое максимальное значение (как правило, 1)
L - число линейных сегментов для зависящего от сигнала яркости множителя насыщенности
Для координат (j=0; j<L;j++) {(LN_2000_j, MULT_SAT_j)} точки яркости (или сигнала яркости) по оси, начинающей или заканчивающей рассматриваемый линейный сегмент, а в направлении y - множитель значения умножения насыщенности, например, 0,3 или 3,5 [следует обратить внимание, что мы можем кодировать данный график масштабированием стандартного диапазона, например, 0,25-3,0, по которому линейно или нелинейно, например, 8 бит=255 возможных значений распределены в виде MULT_SAT=f(mult_sat_code)= например A*mult_sat_code+B с SAT_SCAL_FACTOR величиной, например 2,0, поэтому мы можем кодировать насыщенности вплоть до 2,0*3,0]
}
По этим метаданным (в более простых сценариях HDR-кодирования) у приемной стороны теперь имеется вся информация, которая ей необходима. А именно, она получает подтверждение того, как задавалось Im_2000, т.е. что это означает колориметрически, в виде независимого от устройства (тем не менее, частично оптимизированного для некоторого класса сценариев воспроизведения путем уже оптимальной градуировки HDR-эффектов в некоторые возможности HDR-дисплея) кодирования, которое при необходимости может дополнительно настраиваться на удовлетворение специфических для устройства потребностей. Кроме того, декодер может считывать функции обработки и загружать их в свой блок обработки цвета.
Фиг. 4 схематически объясняет декодер 401 HDR-изображения (или видео) (который может, например, представлять собой интегральную схему, либо плату обработки, либо программные средства, выполняемые на процессоре в таком устройстве, как телевизор, телевизионную приставку с устройством считывания BD, компьютер, приемную станцию медицинских изображений, и т.д.) на приемной стороне в примере конфигурации воспроизведения в доме пользователя (конечно, читателю понятно, что с соответствующими изменениями наши варианты осуществления могут также быть осуществлены в профессиональных системах, например, цифровом кинотеатре для кинотеатров).
Сигнал S_im изображения, например, считывается с диска 340 bluray, давая в качестве стартового изображения сжатое изображение Im_2000C, по которому средство 403 восстановления изображений восстанавливает это изображение (изображения) в несжатое изображение (изображения) путем выполнения, например, декодирование по длинам серий, обратное DCT и т.д. для получения, например, Im_2000, кодированное по линейной яркости CIE (X,Y,Z). Помимо этого, различные функции обработки метаданных считываются, например, с того же диска и/или вторичного источника метаданных, например, функция F_d2d для получения изображения вида со 100 нитами из Im_2000 и, в частности, интересная для объяснения различных вариантов осуществления настоящего изобретения функция (функции) F_2Tu для восстановления Im_5000*. Логический процессор 405 определяет, какая конкретная конфигурация, скажем, телевизионной приставки (STB) со своим внутренним декодером, в частности, какой дисплей (дисплеи) в настоящий момент подключены (и он может дополнительно анализировать дополнительные аспекты среды воспроизведения, например, среднюю окружающую освещенность наблюдения, предпочтения наблюдения, которые зритель (зрители) сохранил в систему с помощью своего пульта дистанционного управления, и т.д.). В случае, если в настоящий момент подключен (только) дисплей на 2000 нитов, логический процессор может непосредственно передавать на него необработанное (поскольку оно уже наиболее оптимально с художественной точки зрения для такого дисплея) видео Im_2000. Это обычно осуществляется через средство 415 форматирования передачи, которое может дополнительно (хотя оно само по себе не обязательно должно выполнять какую-либо колориметрическую обработку) форматировать изображения, чтобы они были совместимыми с любым конкретным стандартом передачи видео (или хранения, если подключено запоминающее устройство, и на него подается видео). Например, дисплей 450 может быть подключен через выход 432 кабельного соединения, например, разъем HDMI, совместимый с достаточно поддерживающей HDR версией HDMI. В случае, если передаются метаданные - например, в качестве полезной информации, позволяющей дисплею выполнять свою конечную колориметрическую обработку с точной настройкой - эти метаданные могут передаваться в согласованном формате в спецификациях HDMI. Однако в то же время STB может обслуживать, например, переносной дисплей 451, скажем, мобильного телефона или планшета. Это может осуществляться, например, отправкой оптимизированного на x*100 нитов изображения через беспроводное соединение, через беспроводной выход 433 (например, путем потоковой передачи видео по Wifi-протоколу 802.11 или подобному ему). Конечно, на этот переносной дисплей со значительно более низкими возможностями по динамическому диапазону, скажем, с пиковой яркостью 500 нитов, должен подаваться обработанный сигнал с различным видом цвета/яркости, т.е. различным образом градуированными изображениями. Кроме того, блок 410 обработки цветов будет брать информацию от корректной функции F_d2d обработки для получения надлежащей градуировки, например, как правило, путем применения этих функций к Im_2000 (и логический процессор 405 будет передавать требуемые данные, т.е. Im_2000 и F_d2d. Поэтому блок 410 обработки цветов выполнен с возможностью вычисления для каждого сценария (т.е. вне зависимости от пиковой яркости принимаемого кодированного изображения и вне зависимости от пиковой яркости дисплея, на котором демонстрируются повторно градуированные изображения) соответствующих колориметрических преобразований либо путем прямого применения принимаемых функций, либо путем определения подходящих функций цветового преобразования на основании информации о повторной градуировке, кодированной в принимаемых функциях, для получения корректно градуированных выходных изображений, а после этого он будет передавать корректно градуированное изображение, например, со 100 нитами на средство 415 форматирования передачи (либо напрямую, либо через логический процессор), либо изображение с 3200 нитами, и т.д. Средство 415 форматирования передачи вследствие этого будет выполнять любое переформатирование, необходимое для того, чтобы требуемая информация могла быть передана на подключенный дисплей, т.е. по меньшей мере отправлять изображения в соответствии с некоторым предварительно согласованным протоколом кодирования изображений (например, сохранять изображение с 850 нитами в контейнере кодирования LDR-изображений), при этом он может также передавать в метаданных все или некоторые функции цветового преобразования.
Логический процессор 405 может определять, необходима ли обработка цветов и какая, например, для преобразования относящегося к 1000 нитам декодированного видео изображений в изображения для дисплея на 1500 нитов.
Кроме того, создатель может кодировать, для какой ситуации воспроизведения предназначены функции F_d2d цветового преобразования, что может быть осуществлено следующим образом:
Mapping_function_meaning{
Starting_max_luminance 2000 нитов
Optimal_max_luminance 100 нитов [т.е. преобразование предполагает создание надлежащим образом градуированных ведущих изображений для дисплеев на 100 нитов «в среднем»]
Upper_limit_max_luminance 500 нитов
Lower_limit_max_luminance 40 нитов
}
Последние два параметра не нужны во всех вариантах осуществления (они, как правило, лишь кодируют по меньшей мере на какую предполагаемую пиковую яркость дисплея данная функция осуществляет повторную градуировку, исходя из того, что пиковая яркость передаваемых изображений предварительно фиксирована, и, как правило, может также оказаться целесообразным заложить упомянутую пиковую яркость кодирования, называемую в данном случае Starting_max_luminance), но может оказаться целесообразным передавать ограничения по пригодности вида, чтобы приемник мог оперативно решить, необходимо ли ему повторно градуировать изображения для своего подключенного дисплея.
Т.е. если создатель контента закладывает не только оптимальную выходную макс. яркость, но и ограничения, он определяет, каким, по его мнению, в данном примере является LDR-дисплей, для которого может использоваться цветовое преобразование, начинающееся с Im_2000, точнее говоря, он гарантирует, что при использовании изображения [т.е. даже если сам дисплей не выполняет собственную обработку для улучшения, а непосредственно воспроизводит данную LDR-градуировку Im_100] на дисплеях приблизительно от 100 нитов до, например, 500 нитов изображение все еще будет выглядеть приемлемым и, например, не слишком ярким. Возможно, он увидел, что изображение не является слишком темным и по-прежнему может воспроизводиться с достаточным визуальным качеством на дисплеях на 50 нитов, но ниже 40 нитов, например, темные области становятся слишком темными, чтобы они могли без труда наблюдаться средним зрителем по меньшей мере по оценке градуировщика. Это может упростить для дисплея или логического процессора оценку того, какие из различных возможных функций использовать для прогноза, например, Im_750 для дисплея на 750 нитов. Это может быть, например, функция F_2000T400, а не функция F_2000T1000, либо дисплей может использовать оба прогноза и интерполировать соответствующим образом. Эти ограничения задают, для каких видов динамического диапазона на HDR-сцену выборы художественного воспроизведения градуировщика являются правильными, по сравнению с тем, в каких случаях другая оптимизация различных средних яркостей объектов в данном диапазоне лучше.
Третий пример - это когда владелец или пользователь STB имеет в распоряжении современный HDR-дисплей, например, с пиковой яркостью 6000 нитов. Учитывая, что это достаточно близко к 5000 нитам, на него можно подавать градуированные изображения Im_5000*, а затем непосредственно воспроизводить их несколько субоптимально, либо в качестве альтернативы выполнять собственную цветовую обработку «5000 в 6000». В данном примере сигнал проходит через выход 431, подающий его в интернет 420 (либо это может быть локальная сеть и т.д.). Специалисту будет понятно, что различные третьи лица или дополнительные технические компоненты могут быть задействованы через интернет, например, пользователь может получить требуемые функции F_2Tu на дисплей через третью сторону по интернету в случае, когда дисплей выполняет преобразование «2000 в 5000», если на него подавать сигнал Im_2000 (вместо уже оптимизированного для дисплея изображения), и т.д.
Поскольку в наших основных принципах кодирования имеется так много переменных (поскольку теперь мы хотим иметь возможность манипулировать различными видами регистрации LDR- и HDR-видео с различными определениями кодеков с использованием различных эталонных диапазонов яркостей для палитры кодеков и иметь возможность подавать оптимальные изображения для различных видов дисплеев), на фиг. 8 вновь схематически приведены некоторые аспекты данного изобретения.
Таким образом, то, что градуировщик имеет для внутренних целей в своем устройстве градуировки на стороне создания, например, при некотором линейном кодировании яркости, например, набор изображений OpenEXR или что-нибудь в этом роде, еще не оптимизированное для передачи видео, находится на левой оси: L_orig. Как было сказано, яркости пикселей в данном изображении основной градуировки сами по себе не являются яркостями в реальной сцене, но данное изображение кодирует конечный результат по тому, как они были зарегистрированы, скажем, с помощью установки из двух различным образом экспонирующих камер ARRI, а затем надлежащим образом градуированы для обслуживания большинства HDR-дисплеев в не слишком отдаленном будущем (конечно, данная градуировка может в некоторых примерах оказаться настолько простой, насколько оператор настраивает ее в своей камере). Мы привели объясняющий пример, в котором градуировщик выбирает максимальную яркость эталонного диапазона яркостей, равную 5000 нитов, например, поскольку это был лучший дисплей, который он смог найти, и он нигде не видит более значительные яркости. Поэтому, если покупатель с достаточной суммой денег покупает тот же дисплей, он должен суметь увидеть эту исходную градуировку («директорскую версию»). То, что в конечном итоге воспроизводится (не говоря уже о промежуточных выборах кодирования), показано на оси L_DISP, которая показывает, как дисплеи воспроизводят яркости в виде выходных яркостей, в частности, упрощенными с использованием своего воспроизведения пикового белого (например, Rʹ=Gʹ=Bʹ=1023).
Однако, эта цепочка теперь проходит через значительно более низкое значение максимальной яркости кодека (показанное на оси L_COD возможных стандартизованных максимумов яркости палитры кодирования, которую, как было сказано, не следует путать с палитрами/диапазонами, соответственно, изображения/камеры и дисплея с каждой стороны), а именно, кодек был определен таким образом, чтобы иметь пиковую яркость (L_MAX_C) величиной, скажем, 5000 нитов, и нам приходится выполнять все кодирование для получения точной передачи по тракту с учетом этого. Как было сказано, при передаче этого набора Im_2500 видеоизображений, например, по линии связи DVB или ATSC мы можем вместе подавать различные наборы функций цветового преобразования, например, F_2T10, которую может применять блок обработки цвета приемной стороны для получения, например, оптимально градуированного изображения с 10.000 нитами, начиная с Im_2500. Эти функции могут также задаваться косвенно, например, преобразованиями F_D1T05 в видео с 50 нитами для дисплеев с пиковыми яркостями около 50 нитов, но начиная с преобразованного по цвету видео со 100 нитами, вычисляемого на приемной стороне, а не напрямую из Im_2500.
Видеосигналы могут передаваться несколькими путями, например, в изделии для хранения данных, например, диске (340) blu-ray или твердотельном изделии для хранения данных, содержащем видеосигнал (S_im), содержащий кодированное видео (Im_2000) с расширенным динамическим диапазоном при максимальной яркости (L_MAX_C) между 900 нитами и 3500 нитами, а предпочтительно - между 2000 нитами и 1000 нитами, и описание (F_2Tu) цветового преобразования, содержащее по меньшей мере функцию преобразования яркости для получения - путем применения цветового преобразования к кодированному видео (Im_2000) с расширенным динамическим диапазоном - второго видео, пиксели которого имеют максимальную яркость, превышающую максимальную яркость (L_MAX_C), предпочтительно - в 1,25 раза выше. Изделие для хранения данных при необходимости содержит по меньшей мере одно дополнительное описание (F_d2d) цветового преобразования и при необходимости содержит по меньшей мере одно ограничение пиковой яркости (LH_100, LL_100) дисплея, которое может использоваться для указания того, для какого диапазона дисплеев кодированное видео (Im_2000) с расширенным динамическим диапазоном или любое видео, вычисленное по нему путем цветовой обработки, является визуально оптимальным. Визуально оптимальное означает, что изображение выглядит наиболее подходящим (по мнению создателя контента/градуировщика) при воспроизведении непосредственно без дополнительной цветовой обработки (за исключением, возможно, незначительной обработки, например, изменения матрицирования базиса RGB) на дисплее с пиковой яркость в пределах этого диапазона, в то время как, например, на более темном дисплее некоторые из изображений могут содержать области, которые являются слишком темными, чтобы их можно было без труда разглядеть, либо оцениваются как некрасивые, и т.д. В частности, градуировщик, возможно, создал колориметрически точные HDR-эффекты и может установить таким образом, чтобы они наилучшим образом наблюдались, например, на дисплее с пиковой яркостью между 1000 и 2000 нитами, и чтобы, например, при 500 или 4000 нитах могла быть выполнена еще одна соответствующая цветовая обработка, придающая данной области несколько иной вид, который воспроизводит HDR более подходящим на таком дисплее с другими возможностями по динамическому диапазону.
Алгоритмические компоненты, описываемые в данном тексте, могут (полностью или частично) быть реализованы на практике в виде аппаратных средств (например, частей специализированной интегральной схемы) или в виде программных средств, выполняемых на специальном цифровом сигнальном процессоре или универсальном процессоре и т.д.
Из нашего изложения специалисту должно быть понятно, какие компоненты могут являться факультативными улучшениями и могут быть реализованы в комбинации с другими компонентами, и как (факультативные) этапы способов соответствуют соответствующим средствам устройств, и наоборот. Слово «устройство» в данной заявке используется в своем самом широком смысле, а именно, как группа средств, обеспечивающих реализацию конкретной задачи, и может в связи с этим, например, представлять собой (небольшую часть) ИС, либо специализированный бытовой прибор (например, бытовой прибор с дисплеем), либо часть сетевой системы, и т.д. «Агрегат» также используется в самом широком смысле, поэтому он может включать в себя, помимо прочего, отдельное устройство, часть устройства, совокупность (частей) взаимодействующих устройств и т.д.
Под версией компьютерного программного продукта настоящих вариантов осуществления в виде обозначения следует понимать охват любой физической реализации совокупности команд, активирующих универсальный или специализированный процессор, после серии этапов загрузки (которые могут включать в себя промежуточные этапы преобразования, такие как трансляция в промежуточный язык и конечный язык процессора) для ввода команд в процессор и для исполнения любой из характеристических функций изобретения. В частности, компьютерный программный продукт может быть реализован в виде данных на носителе, таком как, например, диск или лента, данных, имеющихся в запоминающем устройстве, данных, распространяющихся через сетевое соединение - проводное или беспроводное - или код программы на бумаге. Помимо кода программы, характеристические данные, требуемые для программы, могут также быть реализованы в компьютерном программном продукте. Должно быть ясно, что под компьютером мы понимаем любое устройство, способное выполнять вычисления данных, т.е. это может быть также, например, мобильный телефон. Кроме того, пункты формулы изобретения на устройство могут охватывать реализованные в компьютере версии вариантов осуществления.
Некоторые из этапов, требуемые для действия способа, уже могут присутствовать в функциональных возможностях процессора вместо описания в компьютерном программном продукте, например, в виде этапов ввода и вывода данных.
Необходимо отметить, что вышеупомянутые варианты осуществления иллюстрируют данное изобретение, а не ограничивают его. В тех случаях, когда специалист легко может понять отображение представленных примеров на другие области формулы изобретения, мы для краткости не упоминали все эти варианты выбора во всех подробностях. Помимо сочетаний элементов данного изобретения, комбинируемых в формуле изобретения, возможны другие сочетания элементов. Любые сочетания элементов могут быть реализованы в отдельном специализированном элементе.
Любая ссылочная позиция в скобках в пункте формулы изобретения не предназначена для ограничения данного пункта. Слово «содержащий» не исключает наличия элементов или аспектов, не перечисленных в пункте. Упоминание элемента в единственном числе не исключает наличия множества таких элементов.