УСТРОЙСТВА И СПОСОБЫ ДЛЯ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ С HDR НА ОСНОВАНИИ ОБЛАСТЕЙ ЯРКОСТИ
DEVICES AND METHODS FOR CODING AND DECODING IMAGES WITH HDR BASED ON BRIGHTNESS AREAS

ОБЛАСТЬ ТЕХНИКИ
Изобретение относится к устройствам и способам и конечным продуктам, например, продуктам хранения данных, или кодированным сигналам для улучшенного кодирования по меньшей мере одного изображения или видео, в частности, кодирования изображения(й) с увеличенным динамическим диапазоном по сравнению с традиционными изображениями (именуемыми изображениями с высоким динамическим диапазоном с HDR, и традиционные изображения называются с низким динамическим диапазоном LDR), и кодирования информации изображения с увеличенным объемом информации освещенности (также известного как высокий динамический диапазон) в различные представления изображения или из них.
УРОВЕНЬ ТЕХНИКИ
Недавно появились новые разработки, касающиеся кодирования изображений/видеосигнала (например, захваченных сцен или компьютерной графики), а именно, желательно лучше захватывать весь диапазон яркостей и цветов объектов, имеющихся в природе, до более высоких значений яркости, например 25000 нит (например, освещенных солнцем облаков) и часто также низких значений, например 0,01 нит, что называется кодированием HDR (c высоким динамическим диапазоном). До сих пор, классические системы захвата изображения (т.е. цепь, начинающаяся с камеры, и даже надлежащее освещение сцены, которое обычно было относительно однородным, сопровождаемое кодированием, например, для хранения или передачи изображений, и заканчивающаяся отображением изображения) обрабатывали сцены с высоким динамическим диапазоном (т.е. сцены, в которых одновременно присутствуют важные темные области с низкими яркостями и значимые объекты в них, и яркие области с высокими яркостями, в частности, если также существуют различные важные области промежуточных яркостей (различных серых), в частности, если несколько из этих яркостей сцены нелегко отображать в то, что используется компонентом в цепи, например, визуализацию на основе линейного отображения на устройстве отображения) с заметными искажениями. Например, если действие осуществляется внутри замкнутого объема с первым уровнем освещенности (освещенности), например, автомобиля или комнаты, области более яркого освещения, например, окружающая среда, наблюдаемая через окно, может захватываться или, по меньшей мере, представляться в сигнале с очень низким качеством (а именно, в пастельных, блеклых или урезанных цветах). Это, в частности, имеет место для более дешевых камер на КМОП, по сравнению с более простительным поведением, например, целлулоидной пленки. В частности, лишь несколько кодовых значений сомнительной репрезентативности может быть связано с объектами в этих ярких областях, что может приводить к плохому представлению текстур объекта, или даже грубому ограничению максимальным значением цветового пространства, используемого для кодирования. Наличие столь малого объема данных в этих областях на оси яркости захваченного изображения, также означает, что функции обработки, например, оптимизация контрастности отображаемого изображения может сталкиваться с проблемами генерации хороших окончательных пиксельных данных. Имея в своем распоряжении еще лучшие устройства отображения в настоящее время и в недалеком будущем (например, с пиковой яркостью в несколько тысяч нит), или, по меньшей мере, более интеллектуальные технологии обработки изображений, можно пожелать выправить ситуацию, чтобы иметь возможность создавать визуализируемые изображения более высокого качества.
По ряду причин, по меньшей мере, в течение нескольких лет в будущем, может потребоваться та или иная форма обратной совместимости, которая означает, что данные так называемого кодирования низкого динамического диапазона (LDR) должны быть доступны или, по меньшей мере, легко определяться из доступного кодирования, что позволило бы, например, новому усовершенствованному модулю обработки видео доставлять сигнал LDR на устройство отображения с более низким динамическим диапазоном (например, устройство отображения мобильного устройства). Кроме того, с точки зрения хранения, может быть очень полезно хранить сигнал изображения как можно более универсальным образом, т.е. не просто с максимальным объемом полезных данных о сцене, но и таким образом, чтобы эти данные были полезны во многих потенциальных будущих вариантах применения, особенно, если простым путем. Обычно съемка кинофильма, например, является таким трудоемким делом, что первичный сигнал является весьма ценным, и его предпочтительно кодировать наилучшим возможным образом, насколько позволяет технология. Не следует предполагать, что даже оригинальное кодирование программы предназначено для следующего поколения систем отображения более высокого качества ниже того, которое было бы достижимо, если бы данные кодировались иначе. Это позволяет избежать не только необходимости повсюду осуществлять дорогостоящие трюки, но читатель может вообразить, что некоторые события, подлежащие съемке, например, бракосочетание августейших особ или свадебная видеосъемка обычной пары, не будут потеряны. И попытка воссоздать оригинал такой видеозаписи для технологии устройств отображения нового поколения является, если не очень трудной, то, по крайней мере, трудоемкой. Предпочтительно, чтобы кодирование позволяло оптимально захватывать сцену в первом месте, и даже позволяло легко проводить дальнейшие усовершенствования, посредством самой его структуры кодирования. Независимо от того, как она визуализируется на конкретном устройстве отображения, а также сред наблюдения, информация, присутствующая в современных операциях кодирования LDR, например, JPEG (в зависимости, между прочим, от конкретной захваченной сцены и используемой системы камеры), в настоящее время рассматривается как (ограничивается) приблизительно 11 линейных битов или остановок. Конечно, если кодирование подлежит использованию непосредственно для визуализации (например, на устройстве отображения), некоторые биты информации могут быть невидимыми. С другой стороны, кодек может содержать информацию из исходной сцены или графической композиции (связанной со сценой), которая может становиться релевантной, например, когда устройство отображения изменяет свою видимую человеком палитру посредством обработки изображений. Поэтому важно, чтобы, по меньшей мере, более важные объекты изображения были хорошо представлены в кодированном изображении.
Цепь захвата HDR, помимо того, что указывает камере сцену с большим отношением яркости и контрастности между наиболее темным и наиболее ярким объектом, линейно записывает то, что присутствует в сцене. Она должна иметь дело в точности с тем, чем являются промежуточные значения серого для всех объектов, поскольку это передает, например, настроение кинофильма (затемнение уже некоторых из объектов в сцене может переносить темное настроение). И это сложный психологический процесс. Можно, например, представить себе, что психологически не столь важно, визуализируется ли яркий свет на устройстве отображения точно в такой же пропорции к остальным визуализируемым значениям серого, как у яркости сцены этого света к остальным яркостям объектов сцены. Напротив, будет создаваться верное впечатление реальной лампы, если пиксели визуализируются с “некоторой” высокой выходной яркостью устройства отображения, при условии, что она в достаточной степени выше, чем в остальном изображении. Однако это распределение между самосветящимися и отражающими объектами (в различных областях освещения сцены) также является задачей в зависимости от палитры устройства отображения и типичных условий наблюдения. Кроме того, можно представить, что кодирование более темных областей предпочтительно осуществлять так, чтобы их можно было легко использовать в разных сценариях визуализации, например, при разных средних уровнях окружающего освещения, имеющих разные уровни видимости для более темного контента изображения. В общем случае, поскольку это трудная психологическая задача, специалисты будут участвовать в создании оптимальных изображений, что называется цветовой сортировкой. В частности, очень удобно, когда специалисты делают отдельную сортировку LDR, даже если она производится в рамках “чистой стратегии кодирования HDR”. Другими словами, в таком сценарии при кодировании только первичного сигнала камеры HDR, мы по-прежнему также будем генерировать изображение с LDR, не обязательно потому, что оно подлежит использованию для большой доли LDR потребительского рынка видео в будущем, но поскольку оно переносит важную информацию о сцене. А именно, всегда будут более важные области и объекты в сцене, и поместив их в подструктуру LDR (которую принципиально можно рассматривать как художественная противоположная сторона автоматического алгоритма экспозиции, все-таки после полного захвата, и по отношению к захваченным яркостям вне этого диапазон), это облегчает осуществление всех разновидностей преобразований в представления промежуточного диапазона (MDR), пригодные для возбуждения устройств отображения с конкретными характеристиками визуализации и наблюдения. Используя такую техническую инфраструктуру, можно, даже с единым кодирующим изображением, одновременно регулировать, например, устройства отображения с LDR, например, устройство отображения мобильного устройства с пиковой яркостью 50 нит (внутреннее пространство, или более высокая яркость, но соревнующееся с высокой освещенностью внешнего пространства), устройство отображения с пиковой яркостью в среднем диапазоне MDR, например 1200 нит, и устройство отображения с HDR, где пиковая яркость составляет, например 8000 нит. В частности, можно регулировать эту часть LDR согласно нескольким критериям, например, чтобы визуализировать с хорошим качеством на стандартном эталонном устройстве отображения с LDR (цвета выглядят аналогично, насколько возможно, цветам на устройстве отображения с HDR), или переносить определенный процент всей захваченной информации (например, определенный объем изображения является видимым), и т.д. В предложенном нами ниже кодеке такое принимающее устройство отображения будет реализовано таким образом, чтобы из этого кодирования (или сортировки) единая всеохватывающая сцена можно было легко определить, что представляют собой, например, темные области, что позволяет оптимально регулировать их включенную видимость при условии их известных характеристик системы отображения.
Существует не так много возможностей кодирования сигнала HDR. Обычно в уровне техники первично кодируется сигнал HDR, т.е. (линейно) отображаются пиксели, например, в 16-битовые слова с плавающей запятой, и тогда максимальное захваченное значение яркости является белым HDR в аналогичной философии в кодирование LDR (хотя психовизуально это обычно не является чем-то, отражающим белый в сцене, но, напротив, яркий цвет лампы). Это природное связанное со сценой кодирование исходных яркостей объектов сцены, захватываемых камерой. Также можно отображать сигнал HDR полного диапазона в 8-битовый диапазон LDR посредством некоторой “оптимальной” функции яркости преобразования, которая обычно является гамма-функцией и т.п. Это может приводить к потере точности цветопередачи (ввиду компромисса между диапазоном и точностью для таких операций кодирования) с соответствующими вопросами качества визуализации, особенно, если предполагается обработка изображений на принимающей стороне, например, локальное осветление, однако преобладающая сортировка объектов изображения по значению серого (например, среднему по объекту) приблизительно сохраняется (т.е. их соотношения относительной/воспринимаемой яркости).
Уровень техники также предусматривает некоторые методы кодирования HDR с использованием двух массивов данных изображения для каждого изображения с HDR, обычно на основании разновидности принципа масштабируемого кодирования, в котором согласно некоторой функции прогнозирования, точность кодированной локальной текстуры “LDR” уточняется, или устанавливается более точно, т.е. проецируется на HDR-версию этой текстуры, обычно путем масштабирования яркостей LDR (LDR в этих технологиях обычно не является хорошо выглядящим сортом LDR, уже пригодным для оптимальной визуализации на типичном (эталонном) устройстве отображения с LDR, но обычно - простой обработкой входного сигнала HDR). Затем второе изображение является корректирующим изображением для приведения прогнозируемого изображения с HDR к исходному изображению с HDR, подлежащему кодированию. Существует некоторая аналогия с единичными операциями кодирования изображения с HDR, посредством функций прогнозирования, выступающих в роли некоторого критерия определения диапазона/точности, только в этих технологиях кодирование осуществляется с двумя изображениями.
Масштабирование значений яркости изображения основного диапазона предусматривает применение преобразования, и это преобразование с прогнозированием часто задается поблочно, для сокращения объема данных, подлежащих кодированию. Это уже может приводить к неэффективному использованию данных, поскольку многие блоки будут содержать один и тот же объект и, следовательно, нуждаться в одном и том же преобразовании.
Как сказано, отличие исходного изображения с HDR с прогнозированием можно совместно кодировать как улучшающее изображение до желаемой степени, и все же, насколько возможно, с учетом диапазона и определения улучшающего изображения. Например, можно представлять значение серого HDR, равное 1168, путем деления на 8 с получением значения 146. Это значение HDR можно восстановить путем умножения на 8 снова, но, поскольку значение 1169 будет квантоваться до того же значения основания 146, понадобится значение улучшения, равное 1, чтобы иметь возможность восстановить сигнал HDR высокого качества. Пример такой технологии описан в патенте EP2009921 [Liu Shan et al. Mitsubishi Electric: Method for inverse tone mapping (by scaling and offset)]. Интересный вопрос о таких способах всегда состоит в том, какой способ улучшения фактически предусматривает улучшение визуальной информации. Он обычно применяется вслепую, и может, например, для текстурированных областей иногда не пополняет релевантную дополнительную информацию, особенно для быстро изменяющегося видео.
Другое кодирование двух изображений описано в до сих пор не опубликованной заявке US 61/557461, все принципы которой, таким образом, включены посредством ссылки.
Возникают проблемы со всеми существующими операциями кодирования HDR. Просто применение глобальных преобразований может быть гораздо грубее, согласно тому, что автор контента желает, вложив так много, например, в кинофильм (спецэффекты). Другие варианты применения могут быть менее критичными, например, создание телевизионной программы, но все же желательно эффективно управлять окончательным внешним видом. Для этого, по меньшей мере, необходимо большое количество битов кодированных данных. С другой стороны, указание сложных преобразований для каждого пикселя также предусматривает большой объем данных, подлежащих кодированию. Это применяется, например, к необходимости в кодировании второго изображения, которое является картой усиления освещенности, для отражений текстуры объекта, кодируемой в первом изображении. Кроме того, таким образом, производится слепое кодирование всего, что может происходить на входе, практически без информации о том, что, фактически, присутствует в изображении (т.е. без возможности универсального использования), даже без учета того, что в усиленном изображении может быть большой объем избыточности. Не говоря уже о том, что эти слепые данные легко использовать для интеллектуальных алгоритмов, например, алгоритмов улучшения или оптимизации изображения на стороне устройства отображения.
Работа на блочной основе сокращает объем данных, но все же не оптимальна. В частности, эта блочная структура также является довольно слепой в отношении фактического контента изображения, и, что более неприятно, навязывает новую геометрическую структуру, представляющую собой сетку блоков, которая не имеет никакого отношения к нижележащему изображению, и которую, следовательно, можно более или менее удобно совмещать с характеристиками изображения (в частности, геометрией изображение), и это означает, что может возникать несколько артефактов, связанных с блочным кодированием. Фактически, блок незначительно превышает просто большой пиксель, и не действительно интеллектуальную структуру, связанную с контентом (ни в отношении цветогеометрической структуры этого объекта или области, ни его семантический смысл, например, он, например, является объектом, который должен быть, по большей части, скрытым в темноте).
Представленные ниже варианты осуществления ставят своей целью обеспечение легких технических мер для ослабления, по меньшей мере, некоторых из этих артефактов.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Простое и легко используемое кодирование изображений с HDR можно реализовать согласно варианту осуществления, в основе которого лежат следующие представленные здесь принципы, которые связаны с кодером изображений (549) для кодирования изображения сцены с высоким динамическим диапазоном, содержащим:
- блок (552) кодирования пиксельной текстуры, выполненный с возможностью кодирования цветов пикселей изображения представлением (Im_1) изображения, содержащим N-битовые кодовые слова;
- блок (550) анализа изображения, выполненный с возможностью определения и вывода значения серого (gTS) дифференциатора областей, которое представляет собой значение яркости, разграничивающее более низкие значения яркости всех пикселей первого объекта в по меньшей мере одном блоке изображения, и более высокие значения яркости всех пикселей второго объекта в по меньшей мере одном блоке изображения; и
- форматер (554), выполненный с возможностью совместного кодирования в выходном сигнале (S(Im_1, MET(gTS)) изображения представления (Im_1) изображения и значения серого (gTS) дифференциатора областей.
Всего лишь одно или несколько таких значений серого дифференциатора областей уже позволяет переносить существенную характеристику сцены с HDR, например, указывающую наличие “супербелой” или “суперъяркой” области в изображении. Термин "супербелый" означает яркости сцены, превышающие белый в нормально освещенной области, например, белый, который регистрируется от нормально (например, согласно установке дизайнера освещения) освещенной белой бумаги, в основной части сцены. Дифференциаторы пригодны для совместного кодирования семантического контента сцены. Например, в реальной сцене присутствует не только белый, как предполагает классическое кодирование изображения. При классическом кодировании изображения с LDR, сцена действительно освещается, так, что действие происходит приблизительно однородно, и затем самый белый отражающий объект (при наиболее ярком освещении основной области изображения) обычно определяет точку белого кодирования изображения. Вместо ограничения, например, объектов внешнего пространства, также можно включать некоторые супербелые объекты, например, когда оператор указывает конкретную точку перегиба кривой гамма-распределения воспроизведения, которая все еще связана с основным белым (например, с 6-кратным превышением этого белого).
В фактической сцене может присутствовать, например, очень яркое освещенное солнцем внешнее пространство. Даже при совместном забивании этих двух областей в меньший объем битового кодирования (например, его представлении в виде классического 8-битового изображения), было бы полезно, чтобы эти две области/диапазоны были отделены друг от друга на оси яркости. Это означает, что позже (или, например, в процессе перекодирования или автоматически и т.д.) можно более интеллектуально обрабатывать эти области. Выше шла речь об объектах типа лампы. Затем визуализирующее устройство отображения может захотеть визуализировать их согласно критерию, задающему один или более из “как можно более яркий” и “хотя и не слишком ослепительный для наблюдателя”. Однако для этого, может понадобиться обрабатывать эти две области изображения (лампу и остальную сцену) по-разному и даже прерывисто, и поэтому может понадобиться знать, что в изображении является этим объектом типа лампы. Классические операции кодирования на основе гамма-функции обычно перемещают лампу в ходе последующей обработки в некоторую визуализируемую позицию яркости, которая зависит от этой используемой гаммы, но не от семантики сцены совместно с особенностями колориметрии системы визуализации (например, возможностей устройства отображения, окружающего света и т.д.). К аналогичному техническому умозаключению можно придти для более темных областей, если знать их состав на протяжении области яркости, т.е. например, пару диапазонов темного, например “ярко-темный”, “среднетемный” и “супертемный”. Такие коды (т.е. дифференциаторы значения серого) могут означать что-то численно, но наш способ позволяет сортировщику по цвету, задающему, например, окончательный HDR оригинала для сохранения, скажем, на диске Blu-ray, совмещать их с семантически значимыми областями. Например, в сцене темного подвала кинофильма жанра ужасов, среднетемными могут быть цвета, в которых следует визуализировать стены (окончательно на визуализирующем устройстве отображения, согласно его окончательному оптимальному отображению тона для оптимальности устройства отображения), тогда как ярко-темными (т.е. подлежащими визуализации в диапазоне яркости между среднетемным и ярко-темным) могут быть инструменты на этих стенах, например, ножи и пыточные принадлежности, чтобы быть более видимыми (с учетом особенностей колориметрии визуализирующей стороны), и супертемным может быть, например, темный угол, где может прятаться преступник. Супертемная область угла будет первым объектом, и среднетемная основная область - вторым, наподобие того, как в сцене внутреннего пространства/внешнего пространства, освещенное солнцем внешнее пространство может быть вторым объектом, и внутреннее пространство - первым/основным объектом.
Кроме того, эти две подобласти (например, средне освещенное основное действие и лампа или освещенное солнцем внешнее пространство) могут располагаться очень близко друг к другу в кодированном представлении изображения, фактически касаясь друг друга, чтобы не расходовать коды яркости между собой, что чрезвычайно затрудняет их разделение вслепую на принимающей стороне. Тем не менее, существует конкретное значение яркости, которое размечает границу между ними, которое, таким образом, совместно кодируется как значение серого (gTS) дифференциатора областей для легкого (и вместе с тем простого) восприятия сцены на принимающей стороне. Это допускает различные варианты применения, например, кодирование HDR, и легкую реконструкцию из 8-битового изображения на принимающей стороне, обработку изображений, например, повторное отображение цветов, и т.д.
Преимущественно, кодер изображений (549) содержит блок (553) определения отображения яркости, выполненный с возможностью определения отображения яркости (TOM) для по меньшей мере одного из первого и второго объекта, задающего отображение между значениями яркости пикселей, закодированными в представлении (Im_1) изображения, и значениями яркости пикселей во втором представлении изображения (IM_RC_HDR), и выполненный с возможностью подачи отображения яркости (TOM) на форматер (554), который выполнен с возможностью его совместного кодирования в выходной сигнал изображения (S(Im_1, MET(gTS), TOM). Такие отображения яркости можно определять по-разному, с учетом таких принципов, как, с одной стороны, оптимального указания информации в изображении (например, объема кодов, необходимого для относительно достоверного кодирования текстуры той или иной сложности, например зернистости древесины), и с другой стороны, зрительного впечатления, например, путем задания позиции яркости, обычно на эталонном устройстве отображения.
Автор контента может предоставить принимающей стороне возможность осуществлять желаемую ею обработку, например, окончательную визуализацию на устройстве отображения. Наличия лишь одного gTS уже достаточно для многих ситуаций, поскольку в этом случае система принимающей стороны, с очевидностью, знает, какие объекты являются яркими, поскольку их значения яркости превышают gTS. Однако эта система совместного кодирования значения(й) серого дифференциатора областей допускает гораздо более универсальное кодирование сцены с HDR (знание их состава или даже семантического смысла в метаданных) и, следовательно, различное использование этих данных. Например, автор контента может предоставить один или более сценариев отображения цветов/значений яркости пикселей, закодированных в Im_1, в различные другие цветовые пространства, например, для визуализации на разных устройствах отображениях. Он может кодировать, например, несколько значений для (приблизительно) одного типа устройства отображения (например, имеющего пиковую яркость около 4000 нит, т.е. предназначенных для устройств отображения типа ЖКД или ОСИД с фактическими пиковыми яркостями от 3000 до 5000 нит), с тем, чтобы устройство отображения могло окончательно выбирать окончательную стратегию визуализации на основании полного кодированного знания о преобразовании (систематизирующего, как, по мнению автора контента, должны выглядеть его изображения). Например, на устройствах отображениях с меньшим отображаемым динамическим диапазоном, для более ярких областей может быть достаточно единственного дифференциатора, поскольку он не имеет такой высокой способности к визуализации ярких областей. Однако устройство отображения с яркостью 8500 нит может делать использование контента гораздо более преимущественным, если он содержит больше значений gTS, указывающих разные разновидности яркой области, поскольку ему может быть известна его физически визуализируемая подпалитра высоких яркостей, выделять другой поддиапазон яркости, например, освещенным солнцем объектам внешнего пространства, например, объектам типа лампы первого рода, и еще более яркую область вблизи пиковой яркости для более яркого класса объектов типа лампы.
Автор контента, которому не особо интересно тратить много времени на сортировку, может, например, указывать только две сортировки, например, может начать с Im_1 или какого-либо его автоматического преобразования, в качестве “достаточно хорошего” для визуализации с LDR, и затем отвести некоторое время на настройку отображений для получения улучшенного изображения с HDR (например, с очень яркими областями вне помещения, источниками света или окнами). Таким образом, он может указывать, например, 8-битовое изображение с LDR (которое мы будем называть контейнер LDR), и затем некоторые функции, в первую очередь, функции отображения для приближенного восстановления исходного оригинального изображение с HDR (например, во внутренне присущем режиме 16-битового кодирования с плавающей запятой) из контейнера LDR, а также, во вторую очередь, некоторые функции, допускающие одну или более настроек этого изображения с HDR. Например, он может указывать отображение ярких областей, например, более 90%, для отображения на втором эталонном устройстве отображения с яркостью 14000 нит (первым эталонным устройством отображения может быть устройство отображения, сорт исходного HDR оригинала которого был отсортирован до его кодирования с помощью контейнера LDR посредством понижающего отображения, например, устройство отображения с яркостью 5000 нит). Аналогично эти функции можно использовать для понижающей регулировки до устройств отображения с MDR с яркостью около 2000 нит, например путем инвертирования их поведения отображения. В простейших разновидностях, сортировщик, затрачивающий меньше времени, может просто указывать одно или более значений gTS для, по меньшей мере, некоторых сцен в кинофильме, и предоставлять устройству отображения или визуализатору (например, принтеру) возможность определять, каким будет хорошее преобразование для его характеристик визуализации.
Затем устройство обработки изображений принимающей стороны может, например, определить свой окончательная сорт из этих двух или более наборов информации (кодированного изображения контейнера LDR в Im_1, и по меньшей мере одного отличающегося значения серого gTS, и, при наличии информации функции отображения, сортировщик указывает ее по своему желанию). Например, согласно фиг. 2b, автор контента может предписывать в сигнале, что для визуализации с HDR очень темного объекта, нужно использовать частичное отображение PD_BLCK(i+2, j) (подробно объясненное ниже), и что для визуализации с LDR можно или следует использовать более яркое отображение PD_BLCK(i, j) (т.е. в этом случае очень темный объект рассматривается как лестница). Теперь принимающее устройство отображения с пиковой яркостью, скажем, 1500 нит, может принять решение использовать какую-либо из этих двух стратегий (например, ближайшую к его пиковой яркости, при этом сортировка/отображение LDR составляет, самое большее, 750 нит (поэтому, вероятно, более 400 нит), и HDR - по меньшей мере, например, 2000 нит), или может, тем или иным образом, выполнить между ними интерполяцию, которая будет для этих двух линейной функцией, например, в смысле применения линейной функции на полпути между ними. Система позволяет автор контента видеть HDR как “эффекты HDR”, например, усиливающие яркий свет, наподобие плазменного шара, испускаемого рукой волшебника.
Наш способ можно использовать, когда кодирование Im_1 является кодированием меньшего количества битов (это не то же самое, что меньший динамический диапазон), чем исходное изображение (HDR оригинала), например, с классическим 8 или 10-битовым кодированием яркости. В этом случае, это изображение Im_1 можно задать для эталонного устройства отображения с более низким динамическим диапазоном (и обычно пиковой яркостью, например 500 нит) и дифференциаторы gTS могут быть полезны для автоматического определения сортировок для устройств отображения с более высокими динамическими диапазонами (например, для устройства отображения с пиковой яркостью 2000 нит). Но, аналогично, конечно, единичное кодированное изображение Im_1 можно задать, например, для этого эталонного устройства отображения с яркостью 2000 нит (т.е. непосредственно используемое для возбуждения этого устройства отображения, или, по меньшей мере, требующее незначительных колориметрических модификаций до визуализации), и в таком сценарии значения gTS (и другие данные, например спецификации функций преобразования) могут быть полезны, в том числе, для понижающего отображения для получения возбуждающих изображений для устройств отображения с более низким динамическим диапазоном, например, портативного устройства отображения.
Таким образом, преимущественно, кодер изображений (549) действует согласно сценарию использования и технической конфигурации таким образом, что одно из первого и второго представлений изображения является представлением высокого динамического диапазона, причем представление HDR кодируется, например, для эталонного устройства отображения с пиковой яркостью, по меньшей мере, свыше 750 нит. Т.е. оно будет использоваться без большой дополнительной модификации для возбуждения устройства отображения с HDR для визуализации изображения приблизительно так, как задумал специалист. Такое представление HDR может быть, например, целым числом 3x32 бита или представлением с плавающей запятой 3x16 битов (RGB или YC1C2, и т.д.), и т.д. Хотя эту стратегию кодирования можно использовать в различных сценариях между различными представлениями цветового пространства (например, между первым 16-битовым представлением HDR с первый белым, гамма-функцией, выделяющей коды яркости и т.д., и вторым, например, 12-битовым представлением HDR), она особенно полезна, если по меньшей мере одно из изображений (входное или выходное) или, по меньшей мере, часть изображений имеет высокий динамический диапазон (т.е., либо будучи закодировано таким образом, либо будучи получено таким образом, используется для возбуждения с высоким колориметрическим качеством визуализирующего устройства отображения с HDR и т.д.), и, в частности, полезна, когда HDR кодируется словами яркости из меньшего количества битов (т.е., например, 8 или 10 вместо, например, 14 или 20), и в этом случае ее можно использовать в системах традиционных возможностей или близких к ним возможностей. Для полноты объяснения, в последнее время получивший широкое распространение технический термин "высокий динамический диапазон" обычно означает более высокие яркости в исходной сцене или визуализации, более высокие, чем в классических современных сценариях формирования изображения с LDR, или, точнее, как описано ниже: внешние виды с более широким диапазоном освещенности (например, согласно человеческой зрительной системе наблюдателя, но, конечно, реализованные в технических кодах наподобие значений яркости). Хотя такой сигнал, связанный с устройством отображения, можно строго задать со ссылкой на окончательное устройство отображения, возможности которого максимальны для технологий, ожидаемых в разумно отдаленном будущем, в идеале, изображение с HDR задается, по меньшей мере, частично в связи со сценой (поскольку заранее неизвестно, что будет делать перспективное устройство отображения для применения кодированного контента, и что скажут сырые приверженцы, изображение нужно сохранять, по меньшей мере, то, которое может захватывать или генерировать камера, возможно, очень высокого качества или графическая программа), но даже тогда вместо использования эталонной модели камеры, все же можно кодировать его как сцену, которая аппроксимируется за счет ее отображения очень высокого качества. Фактически, любое кодирование между 0 и Lmax, с какой бы то ни было функцией выделения кода, также можно рассматривать как визуализируемое на таком теоретическом устройстве отображения, имеющем пиковую яркость Lmax, и даже в отделенном будущем, с учетом фиксированных ограничений человеческого зрения фактически никогда не понадобится достоверно визуализировать яркость солнца, ни на больших настенных устройствах отображениях, ни, в особенности, на устройствах отображениях меньшего размера, на которых весь контент изображения наблюдается в малом телесном угле. Поэтому сортировщик может выбирать кодирование изображения с любым эталонным устройством отображения по желанию, будь то окончательный теоретический устройство отображения с пиковой яркостью 500,000 нит, или более прагматичный, например, 10,000 нит, при условии, что он совместно указывает эту колориметрию, задающую метаданные, в своем определении кодека.
Преимущественно, кодер (549) изображений выполнен так, что он кодирует несколько значений серого дифференциаторов областей (gTS_D_Loc_1, gTS_D_Loc_2) между секциями, содержащими несколько N-битовых кодовых слов, кодирующих цвета пикселей из представления изображения (Im_1). Это позволяет автору (или даже программному обеспечению автоматической обработки) выделять, например, разные значения, например, “части наиболее темной тени” для разных частей изображения, и, таким образом, иметь более высокий контроль над регулируемостью изображения. Например, в центральной геометрической области изображения можно скрывать/показывать более темные объекты, которые заданы ниже, например, значения кода 10, и в углу наиболее темные объекты ниже значения кода 5. Это позволяет манипулировать различными физическими ситуациями, например, геометрически изменяющимся освещением, где соотношение между пикселями темного и наиболее темного объекта может изменяться несколько раз для блоков после переопределения локального gTS. Фактическое кодирование значений серого дифференциаторов областей в физическом отношении (например, на переносимой памяти) в данные текстуры изображения (Im_1) может осуществляться по-разному, но преимущественно, если необходимые метаданные кодируются вперемешку с данными блока цвета пикселя, в точности в тех положениях, где они применимы, т.е. обычно до первого блока в изображении, который имеет двойное соотношение значений серого ниже и выше gTS (обычно подлежащих использованию для сегментирования или обработки последующих блоков).
Преимущественно, кодер (549) изображений выполнен так, что он кодирует значение серого дифференциатора областей до цепочки из нескольких последовательных изображений, и это является значением серого дифференциатора областей для всех этих последовательных изображений. Конечно, более важные значения серого дифференциаторов областей можно кодировать с меньшими регулярными интервалами, поскольку они могут быть применимы, например, ко всему кадру или всей сцене. Например, можно кодировать несколько стратегий для кодирования более темных областей для разных сред визуализации для темной страшной части фильма ужасов. Далее в кинофильме, в дневной сцене вне помещения, можно отдельно кодировать стратегию осветления, в основном, подлежащую использованию для неба, до первого изображения этой сцены. Это позволяет указывать обработку на основе кадра или сцены, например, задавать наиболее темные части подвала, и такое задание может повторяться после промежуточного кадра, скажем, сделанного вне помещения, между двумя кадрами темного подвала.
Преимущественно, кодер (549) изображений выполнен так, что он кодирует по меньшей мере одно значение серого дифференциатора областей в памяти, физически не соседствующей с памятью, хранящей представление изображения (Im_1), совместно с кодом геометрического связывания, позволяющим связывать каждое соответствующее по меньшей мере одно значение серого дифференциатора областей с геометрической областью представления (Im_1) изображения, к которой оно применимо, причем код геометрического связывания обычно содержит, по меньшей мере, координаты блока представления изображения (Im_1). Это позволяет, например, осуществлять воссоздание оригинала или услуги восприятия наблюдения. Компания может брать, например, традиционный кинофильм (или даже программу или игру и т.д., ранее обработанную согласно настоящим принципам), и давать возможность сортировщикам проводить новый анализ изображений. Затем значения серого дифференциаторов областей и новые функции отображения и т.д. можно сохранять, например, на сервере в интернете. Затем наблюдатель может выбрать, например, просмотр кинофильма как “Artist_X new grade”, загружая метаданные с этого сервера (возможно, невзирая ни на какие существующие метаданные разграничения и/или сортировки). Эта возможность может предоставляться, например, через пользовательский интерфейс после начала кинофильма. Различные дифференциаторы серого gTS позволяют совместно использовать различные назначенные функции обработки, и этой структурой можно манипулировать параметрически для легкого повторного указания, например, окончательных колориметрических отображений устройства визуализации, или пересортировок данных (которые не нуждаются в изменении кода Im_1) и т.д. Например, три кода gTs в поддиапазоне пониженных яркостей могут не требоваться для первой стратегии обработки, которая может быть просто линейным или нелинейным растяжением по всем яркостям между gTs1 и gTs3, но в более сложных стратегиях отображения можно использовать указание второго gTS2 промежуточной области. Например, устройство отображения визуализирующей стороны может по своему выбору обрабатывать яркости между gTS2 и gTS3, обеспечивая высокую визуальную контрастность, но практически отсекает значения ниже gTS2. Транскодер или аналогичное промежуточное оборудование может, например, применять мягкую отсечку на яркостях между gTS1 и gTS2, которая все же содержит некоторую информацию исходного захвата, хотя и с низкой точностью, поскольку это будут темные области, в любом случае, плохо видимые на большинстве устройств отображения, т.е. требующие более низкого качества кодирования. Таким образом, автор использовал gTS2 для указания дополнительной семантической информации об изображаемой сцене, а именно, какие более темные части изображения являются менее релевантными. Отдельные структуры могут быть сложнее, чем метаданные, перемеженные блоками пиксельных данных, и допускают более свободное манипулирование.
Преимущественно, кодер (549) изображений выполнен так, что он кодирует первое зарезервированное значение для значения серого дифференциатора областей в выходной сигнал (S(Im_1, MET(gTS)) изображения, указывающий, что, для по меньшей мере одной геометрической области представления изображения (Im_1), лежащей, согласно направлению сканирования через изображение, за пределами положения, идентифицируемого первым зарезервированным значением, преобразование из пиксельных значений, закодированных в представлении (Im_1) изображения в пиксельные значения во втором представлении (IM_RC_HDR) изображения, осуществляется согласно заранее заданному алгоритму.
Особые значения для значения серого дифференциатора областей, например, “0” или “-1” (явно не являющиеся действительной яркости в диапазоне [0,255]) может указывать, что следующая область сцены должна обрабатываться иначе. Например, при кодировании, декодер может обращаться к очень отличной части сигнала изображения (например, другому сектору подключенной отсоединяемой памяти), к которой теперь можно обращаться для получения окончательного выходного сигнала (например, некоторые изображения можно кодировать согласно некоторой двухслойной технологии по некоторой причине, например, различия в характеристиках сигнала, или источника и т.д.). В этом случае кодер может, например, копировать такой блок этого второго сектора памяти в локальную позицию, например, в Im_1, возможно, до выполнения над ним дополнительного преобразования, или, альтернативно, в качестве окончательных значений яркости. При обработке изображения выходные значения яркости можно получать частично путем применения алгоритма визуализации компьютерной графики. Или такой код может указывать, что дополнительное преобразование изображения следует применять для изменения локальных значений яркости пикселей или внешнего вида текстуры. Область может быть чем угодно при условии, что путь сканирования (приводящий алгоритмы к некоему начальному положению (x, y) в изображении, т.е. которое является идентифицируемым положением) дополняется некоторыми дополнительными метаданными, указывающими область, например, это может быть эллипс, начинающийся или имеющий свой центр в позиции, смещенной относительно (x, y). Однако обычно варианты осуществления будут использоваться преимущественно в системе на основе блоков, и в этом случае, например, последовательные блоки 16x16 пикселей (некоторые из них) образуют геометрическую область.
Преимущественно, кодер (549) изображений выполнен так, что он кодирует второе зарезервированное значение (gTR) значения серого дифференциатора областей в выходной сигнал (S(Im_1, MET(gTS)) изображения, указывающий, что для по меньшей мере одного последовательного изображения, устройство отображения должно визуализировать его с максимальной выходной яркостью ниже заранее определенного значения. Например, значение 255 или 260 может указывать, что часть изображения, или несколько последовательных изображений, подлежат визуализации с пониженной яркостью для экономии энергии.
Преимущественно, кодер изображений (549) имеет блок (553) определения отображения яркости, выполненный с возможностью определения нескольких разных отображений яркости (TOM) для по меньшей мере одного из первого и второго объекта через правила привязки преобразования, или выполнен с возможностью указания с помощью индикатора (PROC_IND) обработки, что несколько разных отображений яркости можно использовать для преобразования цветов пикселей по меньшей мере одного из первого и второго объекта в новое представление цветов второго представления изображения (IM_RC_HDR). Поскольку теперь различные релевантные (разной яркости) объекты легко идентифицировать в сцене, закодированной в любом представлении изображения, их также легко преобразовывать любым желаемым образом. Например, несколько различных стратегий преобразования цветов можно применять, скажем, к очень яркому объекту, для нескольких назначенных разных визуализирующих устройств отображения, или окружающих освещений сред наблюдения, или предпочтительных пользовательских настроек и т.д. Например, некоторые устройства отображения с высокой пиковой яркостью, т.е. высокоуровневыми возможностями в визуализации более ярких подобластей изображения могут использовать окончательное отображение вблизи или инспирированное первой стратегией, имеющее контрастный внешний вид для более ярких областей согласно первой стратегии отображения, тогда как устройства отображения более низкого качества с более низкой пиковой яркостью могут следовать, точно или приблизительно, второй стратегии отображения, которая оказывает уменьшающее влияние на межъяркостные расстояния, по меньшей мере, некоторых пикселей такой яркой области. И эти преобразования можно (частично) совместно кодировать с или в сигнале изображения, или (частично) оставлять любой принимающей стороне (окончательной или промежуточной), и в последнем случае было бы полезно, если бы сигнал изображения содержал какие-либо приблизительные указатели, какие разновидности преобразований желательны или, наоборот, не желательны, и т.д. Заметим, что, в зависимости от дальнейшего использования, одно или более из отображений может указывать преобразования, которым нужно точно следовать, в отличие от преобразований, которые являются приблизительным указанием, что должен делать устройство отображения окончательной визуализации. Первый случай обычно имеет место, например, в случае, когда отображение фактически кодирует некоторую точную сортировку (например, сорт оригинала из кодирующего его 8-битового контейнера LDR), и последний случай может применяться, когда преобразование является дополнительным преобразованием, указывающим, как можно дополнительно оптимизировать эти данные яркости пикселя оригинала для нескольких разновидностей устройств отображения. Например, устройство отображения с более низкой пиковой яркостью может изучать функциональную кривую стратегии мягкого ограничения (которая может задаваться между несколькими важными семантическими значениями gTS), и затем использовать окончательное отображение тона, которое приблизительно поддерживает предписанный визуальный внешний вид.
На принимающей стороне можно построить технологию, в значительной степени зеркальную по отношению к стороне кодера, которая является декодером (605) изображений для декодирования кодированного представления (Im_1, MET) изображения сцены с высоким динамическим диапазоном, содержащим:
- блок (608) декодирования пиксельной текстуры, выполненный с возможностью получения из кодированного представления (Im_1) изображения цветов пикселей инклюзивных данных, представляющих яркости пикселей декодированного изображения (IM_INTRM); и
- деформатер (607), выполненный с возможностью извлечения из кодированного представления (Im_1, MET) изображения значения серого (gTS) дифференциатора областей.
Затем это по меньшей мере одно значение серого gTS дифференциатора областей можно использовать для дополнительной обработки изображений, например, определения окончательного оптимального отображения цвета для данных визуализирующего устройства отображения и условий. Поэтому наш способ позволяет связывать исходное, не зависящее от устройства отображения, кодирование цветов и окончательное, зависящее от устройства отображения, кодирование цветов, с целью, например, визуализации цветов в средах наблюдения устройства отображения приблизительно так, как они выглядели бы для наблюдателя-человека в исходной сцене. Фактическое кодирование изображения может очень сильно отличаться от него (поскольку мы обычно кодируем его уже со ссылкой на некоторый реалистический эталонный устройство отображения, который, однако, может очень сильно отличаться от фактической ситуации визуализации: например, оригинальное изображение с HDR закодировано для относительно темных условий наблюдения домашнего окружения, и что затем домашний телевизор осуществляет его тонкую настройку на окончательные условия несколько увеличенной освещенности; однако: сложность уже, по большей части, воплощена в сорте оригинала в отношении одного или более реалистических эталонных устройств отображения наблюдения, оставляя более простую окончательную стратегию преобразования цветов устройству отображения), однако, поскольку обычно не происходит никакой инверсии порядка яркостей пикселя, для характеризации сцены, изображаемой далее, и обеспечения состоятельности ситуации легкого отображения полезно семантически разбивать его на яркостные подчасти, особенно те, которые обычно являются важными и быстро изменяющимися в отношении своего внешнего вида в нескольких сценариях отображения, например, наиболее темной или наиболее яркой областях изображения. Заметим, что мы можем использовать слово "яркость" для указания всех математических операций, например, сегментаций, поскольку такая яркость будет связанна с фактической яркостью (например, при выводе изображения на эталонное устройство отображения) согласно некоторой стратегии отображения кодирования, которая является потенциально прерывистым обобщением гамма-отображения, например, гаммой 2.2.
Преимущественно, этот декодер изображений (605) содержит блок (606) сегментирования изображения, выполненный с возможностью использования значения серого (gTS) дифференциатора областей для получения сегмента более низкой яркости и сегмента более высокой яркости в декодированном изображении (IM_INTRM), т.е. осуществляет разделение восприятия изображения на основании значения(й) серого дифференциатора областей, благодаря чему, последующая обработка, например, оптимизированная обработка шумов может осуществляться по-разному для областей, которые окончательно по-разному визуализируются (например, с меньшей видимостью шума в более темных частях).
Преимущественно, декодер (605) изображений содержит блок (609) преобразования цветов пикселей, выполненный с возможностью применения первого преобразования цветов (PD_BLCK(i, j)), преобразующего, по меньшей мере, значения яркости цветов пикселей в пиксели, например, восстановленного оригинального изображения с HDR в сегменте более низкой яркости, и выполненный с возможностью применения первого преобразования цветов (PM_BLCK(i, j)), преобразующего, по меньшей мере, значения яркости цветов пикселей в пиксели в сегменте более высокой яркости. Это позволяет определить, например, оптимальное возбуждающее изображение, подлежащее визуализации на устройстве отображения с более высоким динамическим диапазоном (низкий и высокий и более низкий и более высокий будет понятны опытному читателю относительно друг друга, например, если кодирование цветов пикселей изображения предназначено для эталонного устройства отображения с яркостью 350 нит, преобразуя его в представление, предназначенное для эталонного устройства отображения с яркостью 2000 нит, это означает, что это второе изображение предназначено более высокой яркости, или, иначе говоря, более высокого динамического диапазона, чем у исходного изображения). Такое разделение означает гораздо более высокое качество и, вместе с тем, простое кодирование. Если нужно кодировать полное изображение с помощью единичной стратегии, можно достичь только приблизительного внешнего вида, усредняя все разновидности ошибок (например, лицо должно быть ярким, но затем яркость темного подвала становится слишком высокой, поэтому мы затемняем лицо несколько ниже идеала, и подвал является лишь чуть более ярким). Однако теперь можно, например, затемнить подвал по нашему желанию, и затем локально скорректировать лицо, задавая его с помощью порогов и стратегии обновления. Кроме того, это частичное задание позволяет легко изменять лишь некоторые из отображений. Например, через несколько изображений кадра сцены подвала, вследствие изменений света и/или движения камеры, PM_BLCK(i, j) может оставаться пригодным для всей сцены, и все же захват (или необходимый внешний вид) более темных частей может изменяться при прохождении через последовательные изображения кадра. Можно загрузить другую функцию PD_BLCK(i, j), например, после пятого изображения кадра, противодействуя тому, чтобы этот темный угол с этого момента становился несколько более ярким, и требуется стратегия отображения, которая надлежащим образом затемнить его, также, конечно, с использованием надлежащей функциональной формы PD_BLCK(i, j) для манипулирования текстурной видимостью и т.д.
Преимущественно, декодер изображений (605) выполнен с возможностью применения конкретной стратегии преобразования цветов в цвета пикселей по меньшей мере одного из первого и второго объекта, если деформатер (607) извлекает значение серого (gTS) дифференциатора областей зарезервированного значения, например, значения 0 или 255. Опять же, эти зарезервированные значения, будучи обнаружены где-либо во входном сигнале, можно использовать для немедленного возвращения к любой возвратной стратегии обработки. Обычно бывают доступны дополнительные детали в отношении того, какой возврат применять (хотя и не обязательно, поскольку приемник может просто осуществлять все сам на основании, например, анализа изображения). Например, если сигнал изображения сохраняется в памяти, может существовать сектор последовательных возвратных стратегий (например, алгоритмический код, задающий способы обработки изображений, и необходимые ему данные), и затем, при каждом обнаружении особого возвратного зарезервированного кода, принимающее устройство обработки изображений переходит к следующему способу возврата для его применения. Или коды могут указывать, какой возврат применять (возможно, много раз), например, 260 указывает, что следует использовать первый сохраненный алгоритм, 261 - второй, и т.д.
Преимущественно, декодер (605) изображений содержит блок (610) определения преобразования, выполненный с возможностью выбора стратегии преобразования цветов пикселей из источника памяти, не связанного с какими-либо данными кодированного представления изображения (Im_1, MET). Таким образом, декодер принимающей стороны обладает большей универсальностью для принятия решения, что он собирается использовать для преобразования значений яркости пикселей. Например, он может брать функции из своей собственной памяти, и определять, например, в зависимости от свойств идентифицированного объекта, например, его среднюю яркость. Или же он может брать функции по сетевому соединению, возможно, определенные в среде выполнения сервером. Сигнал также может частично направлять этот процесс, указывая, что желательно применять, например, (любое) затемняющее отображение (т.е. преобразование, визуальным результатом которого является то, что объект выглядит несколько более темный, например, изменение средней яркости совместно с контрастностью, и/или увеличенную область в очень темном объекте, например, обрезанную до черных пикселей и т.д.), и в этом случае предпочтительно, чтобы визуализирующая сторона не применяла отображение, которое осветляет очень темный объект (конечно, с учетом видимости вследствие окружающего освещения и т.д.). В конце концов, принимающая сторона, под конкретным управлением наблюдателя или нет, может, конечно, принимать решение (частично) следовать этим желательным совместно кодированным предписаниям или игнорировать и обходить их. Обычно, хотя кодирование изображения (например, диск, на котором оно кодируется) может, например, предписывать, что преобразование не следует игнорировать или даже ослаблять, но нужно строго выполнять, или наоборот, нестрого выполнять.
Преимущественно, декодер изображений (605) отличается тем, что блок (610) определения преобразования выполнен с возможностью определения стратегии преобразования цветов пикселей на основании по меньшей мере одного параметра среды визуализации, например, характеристики устройства отображения или уровень окружающего освещения, или шаблона цветов, наблюдаемого в отраженном свете на переднем экране устройства отображения камерой, и т.д. Так, опять же, устройство принимающей стороны может, по меньшей мере, частично оптимизировать отображения на основании важной информации, определенно, доступной только на своей стороне. Автор контента может указывать свои отображения, подлежащие использованию, исходя из определенных условий отображения и наблюдения (например, большинство источников света в гостиной отключено, и присутствует только некоторое естественное освещение, что можно действительно, приблизительно понимая, в действительности, когда наблюдатель имеет, например, лампу живых цветов на полу на стороне наблюдателя), но, окончательно, визуализирующая сторона может изменять их, будь это даже незначительная точная настройка (что является идеальным случаем). Хотя такая величина точности обычно не требуется, автор контента может указывать в сигнале, что, например, PD_BLCK(i+2, j) предназначено для случая, когда яркость составляет, скажем, 1 нит вокруг устройства отображения, и в этом случае, если визуализирующее устройство отображения измеряет 2 нит, он может принять решение немного изменить наклон PD_BLCK(i+2, j). В любом случае это может быть полезной информацией для алгоритмов обработки на принимающей стороне.
Описанные варианты осуществления можно реализовать по-разному, например способом кодирования изображения для кодирования изображения сцены с высоким динамическим диапазоном, содержащим этапы, на которых:
- кодируют цвета пикселей изображения представлением (Im_1) изображения, содержащим N-битовые кодовые слова;
- определяют и выводят значение серого (gTS) дифференциатора областей, которое представляет собой значение яркости, разграничивающее более низкие значения яркости всех пикселей первого объекта в по меньшей мере одном блоке изображения, и более высокие значения яркости всех пикселей второго объекта в по меньшей мере одном блоке изображения; и
- совместно кодируют в выходном сигнале (S(Im_1, MET(gTS)) изображения представление (Im_1) изображения и значение серого (gTS) дифференциатора областей.
Или способом декодирования изображения для декодирования кодированного представления (Im_1, MET) изображения сцены с высоким динамическим диапазоном, содержащим этапы, на которых:
- получают из кодированного представления (Im_1) изображения цвета пикселей для пикселей декодированного изображения (IM_INTRM); и
- извлекают из кодированного представления (Im_1, MET) изображения значения серого (gTS) дифференциатора областей.
Или в качестве компьютерной программы, содержащий программный код, обеспечивающий обработку для выполнения любого из способов, соответствующего предложенным вариантам осуществления, причем программное обеспечение можно покупать на диске или другом материальном продукте, или загружать по сети, и т.д.
Обычно кодированное знание об изображаемой сцене распространяется из одного места/устройства на другое (являются ли они блоками в одном и том же устройстве потребителя или системе соединенных устройств в одном и том же месте, например, модулем приема или обработки изображения и телевизором или устройством отображения, соединенными, например, через HDMI, или службами, выполняющимися на устройствах в разных странах), т.е. посредством сигнала изображения, кодирующего цвета областей сцены с высоким динамическим диапазоном, содержащих N-битовые кодовые слова, кодирующие, по меньшей мере, яркости цветов областей, и значение серого (gTS) дифференциатора областей, указывающее в кодовой системе, используемой для кодирования N-битовых кодовых слов, которые кодируют, по меньшей мере, яркости цветов областей, разграничение между по меньшей мере одной геометрической областью пикселей более высокой яркости в сцене с высоким динамическим диапазоном или более высокими значениями N-битовых кодовых слов, кодирующих их, и по меньшей мере одной геометрической областью пикселей более низкой яркости в сцене с высоким динамическим диапазоном или более низкими значениями N-битовых кодовых слов, кодирующих их. Кодовая система является технически-математическим представлением, задающим производную от яркости сцены (посредством захвата камерой) и, в конце концов, яркости, подлежащей визуализации, обычно через физическую величину, именуемую яркостью, которая задается по оси, и при этом обычно цифровое кодовое слово охватывает отрезок оси (например, от 00000000 до 11111111), или число с плавающей запятой от 0,0 до 1,0, и при этом функция выделения (обычно, гамма-функция) отображает такие яркости нелинейно относительно яркости. Обычно может быть предусмотрена дополнительная информация, связанная с кодовой системой, например, согласно которой пиковая яркость, подлежащая визуализации, соответствует максимальное значение кода. Говоря об этом сигнале, мы подразумеваем, что указанные свойства некоторым образом содержатся в сигнале, но они могут содержаться любым транслируемым образом. Например, некоторые данные могут объединяться и разделяться, и структурироваться тем или иным образом. Также могут существовать преобразования в другие коды, например, модуляция или избыточное кодирование для компенсации возможных нарушений, связанных с битовыми ошибками, и т.д.
Изображение с HDR можно кодировать (например, как 8-битовое текстурное изображение с LDR Im_1, именуемое контейнером LDR, плюс метаданные для отображения, что реконструкция сорта HDR оригинала посредством по меньшей мере одного глобального отображения тона) в памяти, например, отсоединяемой памяти, например, на диске Blu-ray, где хранится такой сигнал.
Фактически, варианты осуществления изобретения можно использовать во многих технических реализациях, сценариях или вариантах использования, например в системе распространения видео посредством любой сетевой технологии, где применяется любой кодер изображений, декодер изображений, способ, сигнал изображения, или другом продукте или реализации любого из описанных вариантов осуществления, или любом варианте использования этой системы распространения видео.
Многие дополнительные разновидности описанных ниже вариантов осуществления, конечно, возможны, и специалист в данной области техники понимает, что их можно, например, реализовать в различных устройствах в различных геометрических областях мира, применяя их частичные функциональные возможности в разные моменты времени, или несколько раз друг за другом, в различных сценариях коммерческого использования, и т.д.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Эти и другие аспекты способа и устройства согласно изобретению явствуют из и поясняются со ссылкой на реализации и варианты осуществления, описанные ниже, и со ссылкой на прилагаемые чертежи, которые служат лишь неограничительными конкретными иллюстрациями, демонстрирующими более общий принцип, и в которых штрихи используются для указания, что компонент является необязательным, но незаштрихованные компоненты не обязательно являются существенными. Штрихи также можно использовать для указания, что элементы, которые объяснены как существенные, скрыты внутри объекта, или для нематериальных объектов, например, варианты выбора объектов/областей (и как они могут быть показаны на устройстве отображения).
В ЧЕРТЕЖАХ:
фиг. 1 схематически демонстрирует различные представления исходной сцены с высоким динамическим диапазоном, при их визуализации в разных сценариях, а именно: на фиг. 1a показаны абсолютные визуализируемые выходные яркости в сравнении друг с другом для современного устройства отображения с высоким динамическим диапазоном, отображения в кинотеатре, устройства отображения с низким динамическим диапазоном и портативного устройства отображения, используемого вне помещения, и на фиг. 1b показаны визуализации на универсальной оси внешнего вида, причем абсолютная эталонная система задается стандартным наблюдателем-человеком;
фиг. 2 (т.е. фиг. 2a и 2b) схематически демонстрирует, как различные субцветовые преобразования для преобразования между двумя представлениями цветов, которые оба задают один и тот же вид изображения на сцене, будут применяться к, по меньшей мере, значениям яркости пикселей различных объектов, сильно отличающихся яркостью (или освещенностью), оказывающихся в несколько блоков блочного разложения представления изображения;
фиг. 3 схематически демонстрирует способ кодирования некоторых дополнительных метаданных согласно некоторым вариантам осуществления при конкретном задании сигнала изображения, в частности как кодировать значения серого дифференциаторов областей до блоков цвета пикселя, к которым они применимы;
фиг. 4 схематически демонстрирует, как принимающая сторона может получить сегменты изображения, сильно отличающиеся яркостью или освещенностью, на основании значений серого дифференциатора областей;
фиг. 5 схематически демонстрирует систему на стороне кодирования, которой может оперировать сортировщик по цвету, иллюстративную реализацию кодера, соответствующего принципам нашего изобретения;
фиг. 6 схематически демонстрирует систему на стороне декодирования, которая может представлять собой, например, домашнюю систему отображения потребителя, содержащую такие устройства, как основной телевизор, и портативное устройство просмотра изображения, и устройство обработки изображений, например центральный компьютер, управляющий распределением и оптимальной обработкой всего видео для разных устройств отображения;
фиг. 7 схематически демонстрирует, как правильно выбирать построение областей, в которые отображаются диапазоны яркости (или яркости) для ослабления таких проблем, как ошибки сжатия; и
фиг. 8 схематически демонстрирует, как можно использовать нашу систему в сценарии, где цвета пикселей или объектов должны отображаться в оптимальные цвета для ряда устройств отображения со значительно изменчивыми техническими характеристиками.
ПОДРОБНОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На фиг. 1 (т.е. на Фиг. 1a и фиг. 1b) схематически показано, как можно оптимально представлять исходную сцену с HDR (Orig_SCN) на 4 типах устройства отображения (3 типичных и одном гипотетическом для лучшей иллюстрации точки, а именно, электронной книги низкой контрастности в условиях солнечного освещения, имеющей лишь малый диапазон R_ERDR_OUTS воспроизводимых выходных яркостей), и как это согласуется с технологией кодирования изображения. Следует подчеркнуть, что необходимо принципиально отделить идеи, касающиеся окончательной визуализации сцены (т.е. яркостей, физически выводимых конкретным устройством отображения), от кодирования значений яркости объекта изображения. Эта технология отличается своей философией от классических технологий формирования изображения, применяемых в телевидении, например, MPEG2, которые всегда приравнивали эти два соответствующие цветовые пространства, что позволяет непосредственно применять, например, кодированный сигнал с гаммой 2.2 к (стандартному) устройству отображения, обеспечивая (приблизительно) правильный (определенный на стороне студии в режиме калибровки) визуализируемый выход. Это полезно только при наличии замкнутой цепи, т.е. калибровки для конкретного сценария, но сюжет разваливается, если мы хотим иметь другой контент, как в изображениях с особо высоким динамическим диапазоном (HDR), и/или различные устройства отображения и/или среды наблюдения с принципиально отличающимися характеристиками для визуализации этих сигналов. Кроме того, аналогично, привлекает простота, обусловленная наличием только одного (или, по крайней мере, немногих) сигнала(ов) кодирования изображения, и не отличающиеся друг от друга кодированные изображения для каждого сценария (хотя их можно переупаковывать (например, перекодировать, подвергать дополнительному цветовому преобразованию и т.д.) и передавать по разным техническим каналам), иначе это означало бы, что Голливуду или другому сортировщику придется производить, например, 20 сортировок вместо 1 или 2 как прежде (например, сорт оригинального кинофильм и сорт DVD).
Определение изображений с HDR или технологии формирования изображения с HDR может вызвать споры. Критерием, конечно, является не просто количество битов, поскольку, если, например, использовать максимальную длину слова (например, 2^8 вместо 2^10) для определенного белого (например, 500 нит), то различие, по большей части или частично, состоит только в точности (фактически, устройства отображения с заявленными коэффициентами контрастности 1.000.000:1 не могут даже дискриминационно визуализировать самые низкие из этих кодов, и при кодировании сигнала с гаммой 2,2 такие глубокие черные также не могут кодироваться, пока устройство отображения не произведет некое впечатляющее зачерняющее преобразование над черными).
Обычным определением сцены с высоким динамическим диапазоном является максимальная яркость, деленная на минимальную яркость. Это может быть достаточно хорошим определением с аппаратной точки зрения, например, для визуализирующего устройства отображения.
Например, в исходной сцене, он определяет, какими возможностями должен обладать датчик формирования изображения камеры, также, если это работает, например, многоэкспозиционной технологией, поскольку, все, что нельзя достоверно зарегистрировать, обрезается до белого или черного (и, конечно, также присутствует округление и шум). Это также хороший подход для указания, что устройство отображения физически способно визуализировать, при условии, конечно, что производится надлежащим образом, включая, например, рассеяние света, генерируемого устройством отображения, на стеклянной передней пластине, а также отражения от окружения (например, белой футболки наблюдателя, сидящего перед телевизором). Все разновидности рассеяния света и отражений являются причинами, по которым фактически захваченный или наблюдаемый динамический диапазон часто бывает более низким, чем указанные маркетинговые числа, возможно, вследствие проникновения света через все разновидности путей от более светлых участков сцены в более темные (при освещении сцены, в отсутствие ее тщательного построения и управления областями тени), ложные пути в камерах (например, помутнение линзы или отражения от корпуса), а, возможно, вследствие изучений окружающей среды наблюдения (например, рассеяния света устройства отображения или окружающей среды в передней пластине устройства отображения, или отражений в устройстве отображения, входящие в гомогенизатор света, и т.д.) в собственный глаз наблюдателя (однако, хотя наблюдатель может начинать утрачивать точность различения темного при наличии сильных источников света в его поле зрения, особенно вблизи темных областей, этот фактор можно игнорировать, поскольку к устройству отображения могут, в идеале, предъявляться более высокие требования, чем к наблюдателю, и, по меньшей мере, кодирование изображения должно быть лучше, поскольку заранее неизвестно, как принимающая сторона будет его обрабатывать, и видимость влияния областей изображения). Следовательно, согласно такому определению коэффициента контрастности в качестве минимального уровня следует использовать, уровень, который фактически еще можно различить глазом (с учетом шума и т.д.), и нет, например, теоретическое значение нулевой выходной яркости, которое дает отключенный СИД (вблизи) (поэтому стандарты предусматривают, например, шахматные шаблоны для измерения более приемлемых коэффициентов контрастности), поскольку ситуация нулевого света невозможна.
Однако коэффициент яркости не является очень хорошим критерием динамического диапазона для кодирования изображений с HDR. Если что-то подлежит кодированию, это еще не значит, что это должно визуализироваться, но значит, что оно находится в сцене и, по меньшей мере, теоретически может восприниматься, т.е. сигнал изображения должен содержать в точности или приблизительно те данные, которые необходимы для того, чтобы иметь возможность восстанавливать желаемый внешний вид, и во всех условиях отображения, где, предположительно, осуществляет визуализацию изображения, даже, возможно, на лучших устройствах отображениях в отдаленном будущем (например, непосредственно светящих в глаз).
Например, просто указание коэффициента контрастности не учитывает тот факт, что в темном окружении, например кинотеатре, зрительная система нуждается в повышенной контрастности, чтобы видеть ту же сцену, появляющуюся в изображении (тогда как чисто мультипликативное масштабирование на минимуме и максимуме даст тот же коэффициент контрастности). Контрасты также фактически являются локальными явлениями, поскольку относительно светлый объект можно сделать столь же воспринимаемым, как более темный, если он окружен более светлыми объектами (пространственная контрастность). Фактически, психологически наблюдатель начинает анализировать изображение и идентифицирует цвета, которые он считает черным, белым, супербелым и т.д. И наблюдатель может счесть что-то черным или белым, пока не увидит еще более темный черный или более яркий белый. Таким образом, насколько “динамическим” выглядит изображение, является не только функцией “черного” и “белого” в сцене, но и функцией других более локальных мер контрастности, которые можно задавать на основе выделения значений серого (например, можно создавать другой внешний вид, увеличивая расстояние яркости разных серых в текстурах, например, делая каменистые текстуры более грубыми или делая тени более темными, или даже варьируя соотношения между резкостью и контрастностью). Следовательно, можно вообразить, что при желании придать лицу другой внешний вид (более гладкий, более контрастный, более морщинистый и т.д.), коды, задающие лицевые текстуры, должны позволять такую операцию, т.е., например, при наличии только двух значений серого, задающих лицевую текстуру, изменение лицевой контрастности будет очень трудной операцией. Такая неоднородность лицевых цветов является одной из проблем ряда современных технологий кодирования изображения.
Чтобы еще более отчетливо поставить проблему, демонстрирующую пример, что с точки зрения кодирования динамический диапазон относится не только к наиболее темным черным и наиболее ярким белым, но и к тому, что в точности находится в изображаемой сцене, черно-белый рисунок (т.е. имеющий только два разных значения серого) можно визуализировать на устройстве отображения с HDR с 5000 нит белым и 0,5 нит черным (т.е. с высоким динамическим диапазоном яркости), но можно действительно назвать это изображением с HDR? Можно даже задать дополнительные вопросы, например, захотим ли мы всегда отображать такой простой сигнал с максимальной белой (пиковой белой), соответственно, черной характеристиками устройства отображения. Если бы это не было неестественно, или, по меньшей мере, ненужно, вряд ли понадобилось бы непосредственно кодировать эти значения подобным образом (например, кодом 0 и 10000, а не, например, 0 и 2). Фактически, например, при сортировке более белых областей, в общем случае, один артефакт внешнего вида, который может возникнуть, состоит в том, что текстурированная белая область выглядит известковой (как бы нарисована мелом), в отличие от фактической физической текстуры, которую должна иметь область. Тогда снова возникает вопрос: что такое “черный” и “белый”. Действительно, при солнечном освещении, предполагая в нашем примере черно-белый рисунок, например, белый может иметь реальную яркость сцены 5000 нит, но при другом освещении она с тем же успехом может равняться 50 нит. И в отсутствие хорошего экранирования черных областей от освещения сцены, она обычно составляет где-то около 1% белого, но не 1/10000. Поэтому, несмотря на то, что более контрастные визуализируемые изображения могут выглядеть, до некоторой степени, предпочтительный, мы, вероятно, захотим показать это черно-белое изображение, например, с высокой яркостью и все же диапазоном яркости приблизительно 100:1 в поддиапазоне высокой яркости устройства отображения с HDR для создания этого внешнего вида освещенного солнцем рисунка. В противном случае, так или иначе, существует опасность, даже если визуализируемое изображение не выглядит странным, что глаз будет игнорировать некоторое из различие в яркости визуализация, поэтому, с сортировщиком, нам всегда будет нравиться оптимально использовать доступный динамический диапазон устройства отображения в зависимости от того, что присутствует в качестве контента в изображении, и, ввиду временных эффектов, даже в предыдущих и последующих изображениях. Кроме того, заметим, что хотя мутные изображения традиционно рассматриваются как имеющие низкий динамический диапазон, такое изображение, содержащее яркие источники света, по меньшей мере, потребуется отображать в высокую подобласть оси яркости цветов, визуализируемых на устройстве отображения.
Наша философия кодирования состоит в том, что при кодировании нужно учитывать об эти фактора, а именно, с одной стороны, насколько динамически изображение обычно будет окончательно визуализироваться, но, с другой стороны, какие разновидности более или менее ярких объектов содержит изображаемая сцена. Поэтому, в наших целях (помимо прочего, представления или кодирования изображения) было бы точнее сказать, что изображение с HDR является изображением, которое содержит: достаточное количество значений серого по ряду диапазонов достаточно далеко вдоль оси освещенности внешнего вида (освещенность это психофизическая величина, которую не следует путать с яркостью или кодированной яркостью). Следовательно, мы можем лучше объяснить физику и необходимые технические реализации изображений с HDR согласно принципу “вложенных диапазонов внешнего вида”, как показано на фиг. 1.
На фиг. 1 показана захватываемая сцена (Orig_SCN), имеющая одновременно много областей низкой и высокой яркости, т.е. значительные детали текстуры в диапазоне яркости в темных и ярко светящихся областях. Для яркой/го области/объекта (BR_obj) существует окно из цветного стекла, которое имеет много приятных цветов, подлежащих точному кодированию и визуализации. В темном внутреннем пространстве здания, имеется темная деревянная лестница (DRK_obj) и еще более темный объект (VDRK_obj). Таким образом, человек, стоящий в этой исходной сцене, увидел бы много высоких яркостей (и, фактически, цветов) в окне из цветного стекла, и много разных низких яркостей в разных областях тени на лестнице. При повороте его головы, его ретинальная и мозговая обработка адаптируется к смотрению на окно из цветного стекла, или наоборот, старанию различить выглядящие темные объекты в более темных областях. Насколько темным все выглядит, зависит, конечно, от того, как строители сцены изолировали более темные области от более ярких, но можно вообразить, например, пример старания посмотреть через малое отверстие на дорожное покрытие в очень солнечный день. Таким образом, “более темные” области могут изменяться от выглядящих темно-серыми до неразличимых и окончательно черных (или неразличимых ночью более серовато-черных). На визуализирующем устройстве отображения, нам понравилось бы создавать, по возможности, по меньшей мере, несколько аналогичное восприятие (например, неразличимые темноватые цвета, с яркостью, достаточно низкой, чтобы они, по меньшей мере, выглядели разумно черноватыми), т.е. уравновешивать тот факт, что значительное количество выходных яркостей на поддиапазон яркости все еще визуализирует текстуры объекта для всех объектов, ярких и темных с хорошим видимым качеством, и тот факт, что окно из цветного стекла должно выглядеть значительно ярче среднего (для данного конкретного динамического диапазона устройства отображения может быть больше моделирования с использованием психовизуального “иллюзионного” эффекта, чем большой фактической фотометрической разницы для устройств отображения высокой яркости), а лестница - темнее среднего (средним является, например, 18% уровня серого освещенного окружения комнаты). Независимо от того, как устройство отображения будет оптимально делать это, кодирование изображения должно, по меньшей мере, содержать всю информацию и, предпочтительно, с возможностью легкого управления.
Теперь можно захватывать и кодировать эту сцену, единым сигналом данных (например, 0-1023, с фиксированной гамма-функцией для отображения входных или выходных яркостей в коды; т.е., например, если гамма-функция задает выходные яркости, можно сначала преобразовывать захваченное изображение в эталонный N-нитовый, например, 16-битовое устройство отображения (линейный или иной, например, с пиковой яркостью 4000 нит), и затем кодировать эти “новые значения сцены”, например, в 10-битовое представление, предполагая, что на эталонном устройстве отображения будет происходить точное воспроизведение, и, например, устройство отображения с яркостью 2000 нит будет аппроксимировать внешний вид). Или можно оптимизировать различные кодированные сигналы для разных сценариев, например, применяя другую гамма-функцию для сигнала кинотеатра, для компенсации поведения человеческой зрительной системы в темном окружении. Но, в идеале, основная обработка, которая может быть очень сложной ввиду значительно локального и нелинейного поведения человеческого зрения, уже должна в значительной степени присутствовать в кодированных одном или более отсортированных изображениях (в простых операциях кодирования изображения с HDR, сортировка LDR кодируется одновременно внутри сортировки оригинала HDR с использованием принципа контейнера LDR, т.е. этот принцип позволяет повторно получить оригинальное изображение с HDR из этой кодированной сортировки LDR (например, классически кодированное изображение MPEG-AVC), путем инвертирования стратегии отображения цвета, используемой для его создания из сортировки оригинала HDR, с использованием совместно кодированных метаданных, кодирующих это отображение; но, конечно, кодирование изображения может содержать несколько сортировок, либо с несколькими функциями отображения, либо с, по меньшей мере, частичными дополнительными пиксельными изображениями), т.е. внешний вид уже приблизительно правильно определен для ряда типичных сценариев отображения. В этом случае оптимизация фактического устройства отображения, будет, с помощью относительно простой операции, создавать приблизительно правильный окончательный внешний вид, например, окончательную простую гамма-функцию для повышения контрастности для наблюдения в более темном окружении и т.д.
В любом случае, окончательный внешний вид будет выглядеть, как показано на фиг. 1b, и фотометрически измеримые выходные яркости будут подобны показанным на фиг. 1a. В первом сценарии сигнал демонстрируется на устройстве отображения с HDR (как сказано, либо со своим собственным оптимизированным сортом HDR, самое большее, с минимальной обработкой (например, некоторыми действительно аппаратными особенностями наподобие имитации ЭЛТ-образного поведения с дополнительной компенсацией физики вентиля ЖКД), непосредственно используемой для возбуждения устройства отображения с HDR, или возбуждающим сигналом, полученным из единичного кодированного изображения с HDR/видеосигналом). Это устройство отображения способно развивать пиковую яркость (белого) 5000 нит, и минимальную выходную яркость 0,5 нит. Заметим, что более низкое значение является аппроксимацией среднего, поскольку оно будет критически изменяться с несколькими параметрами окружения. Даже в управляемых условиях, свет от источников света безопасности кинотеатра может проникать на экран, что создает непредсказуемый фактор людей, включающих свои мобильные телефоны (хотя, в общем случае, эффект будет ограниченным, но особенно при наиболее низких яркостях, это может влиять на визуализацию). В нормальных домашних условиях, ситуации освещения могут быть очень изменчивыми.
Все же остается вопрос, как человек будет воспринимать такие яркости, поскольку это будет зависеть от состояния его зрительной системы, между прочим, определяемым освещением в комнате, может ли он время от времени видеть окружающее пространство через окно, и т.д. Наблюдатель может управлять этим аспектом, изменяя настройки изображения на своем пульте дистанционного управления. В любом случае, устройство отображения с HDR имеет относительно большой поддиапазон ярких значений, доступных для визуализации окна из цветного стекла (т.е. он показан относительно большим, охватывающим верхнюю часть диапазона R_D_HDR). В то же время, лестница может быть показана достаточно темной, т.е. значительно ниже 50 нит. В нашем примере предполагается, что это имеет в качестве психовизуального воздействия, не только что эта лестница выглядит более темный по сравнению с визуальной оценкой средней освещенности (например, 18%-го серого), но и что детали текстуры по прежнему значительно легко можно видеть поверх отражений окружающего освещения от переднего стекла устройства отображения (например, сценарий, в котором наблюдатель приглушил свое окружающее освещение до уровня просмотра кинофильма, и средний серый, по большей части, определяется телевизором и самим контентом его изображения). Это устройство отображения с HDR (среды наблюдения) настолько хорошо, что может показывать даже очень темный объект с еще более низкой выходной яркостью устройства отображения и соответствующей психовизуальной освещенностью.
Если мы теперь покажем тот же сигнал на цифровом кинопроекторе в кинотеатре (опять же, с оптимальной гамма-коррекцией или нет), мы будем знать, что эта театральная визуализация не покажет белых выше приблизительно 50 нит, но все же, в темном окружении, по меньшей мере, более темные кадры могут демонстрировать яркости, например, вплоть до 0,05 нит, т.е. значительно более темные, чем домашнее комнатное устройство отображения с визуализацией с HDR. Таким образом, диапазон выходной яркости R_CIN в кинотеатре составляет от 0,05 до 50 нит. Мы не можем сказать, что окно из цветного стекла, которому будет выделен меньший поддиапазон более высоких яркостей в R_CIN, будет выглядеть столь же темным, как лестница на устройстве отображения с HDR, который имеет приблизительно такие же выходные яркости, поскольку наблюдатель адаптировался к темному кинозалу, что позволяет ему видеть более низкие выходные яркости как (почти) белый. Таким образом, в кинотеатре мы также можем иметь относительно большой динамический диапазон, по меньшей мере, между изображениями (и его, по меньшей мере, можно кодировать, если не на позитивной пленке или цифровом сигнале, то на оригинальном негативе). В особенности, при некотором психовизуальном моделировании, например, играющем на культурно установленных дневных или ночных цветах, кинозритель также по-прежнему имеет решение, что после темной сцены подвала кто-то выходит на солнце (хотя и менее впечатляющее, чем на устройстве отображения с HDR).
Тот факт, что человеческая зрительная система адаптируется, можно лучше видеть в психологическом представлении внешнего вида на фиг. 1b, где мы поместили различные визуализируемые выходные изображения на оси освещенности внешнего вида (Appear_SCAL). Это фактически то, что видит мозг (со всей своей сложной обработкой), но это можно приблизительно отображать в поведение колбочек сетчатки (или, по меньшей мере, совместно с соединениями ганглиозных клеток). Так или иначе, в нашей технической философии, этой сложностью может манипулировать сортировщик-человек, как обычно, поскольку автору контента нравится управлять внешним видом своего контента. Действительно, можно видеть, что визуализация на домашнем комнатном устройстве отображения с HDR (DISPL_HDR) и театральная визуализация (MOV_THTR) разумно аналогичны (по меньшей мере, относительно темноватые условия можно моделировать, а также яркие внешние пространства). Однако театральная визуализация не способна показывать такие очень яркие области, по меньшей мере, точно, без каких-либо цветовых искажений (что показано несколько более темной пиктограммой окна из цветного стекла, перемещающейся из сверхъяркой в яркую область оси внешнего вида). Хотелось бы подчеркнуть, что этот эффект также обусловлен тем, что визуализация в кинотеатре осуществляется отдельно от визуализации на устройстве отображения с HDR дома, поскольку, если одновременно осуществлять визуализацию на устройстве отображения с HDR в кинотеатре, сравнение снова становится другим (поскольку теперь яркие области на относительно тусклом проекционном экране можно непосредственно сравнивать с яркими областями на устройстве отображения с HDR). Однако, в условиях относительно глубокой темноты, театральная визуализация может моделировать очень темные сцены, например, ночную сцену, в которой солнце начинает медленно подниматься к горизонту. Сидя в гостиной, ярко освещенной солнцем, этот внешний вид не получить. Любые окружения, имеющие также яркие области (например, близкорасположенное ярко светящееся устройство отображения с HDR) будет, в большей или меньшей степени, разрушать эту визуальную “иллюзию” совершенно темной ночной сцены. Несмотря на то, что визуализируемые темные цвета на устройстве отображения оказываются ниже яркости отражения от переднего стекла, все светлые цвета, поступающие в глаз под большими углами из окружения, будут нарушать иллюзию (что лучше иллюстрирует пример электронной книги). Конечно, в принципе, гостиную можно сделать даже гораздо более темной, чем кинозал, поскольку дома не стоит вопрос безопасности, и это означают, что в этом случае устройство отображения с HDR также имеет более высокие возможности для более глубокого черного, но обычно людям дома нравится иметь некоторый уровень уютного окружающего освещения (в любом случае, кейтеринг кодированного изображения для всех ситуаций визуализации также может легко оптимизироваться теми людьми, которые любят смотреть фильмы ужасов в наводящей страх обстановке полностью затемненной гостиной, и это означает, что наиболее темные области изображения должны кодироваться с достаточной точностью и, в то же время, должны быть легко доступны для обработки колориметрической оптимизации). Заметим также, что в очень темном окружении, контрастность сцены, при наблюдении человеческой зрительной системой, может существенно ухудшаться (т.е. как при наблюдении исходной сцены), поэтому может понадобиться моделировать его (например, в кинотеатре, где этот эффект не настолько силен) путем визуализации наиболее темных объектов темно-серым в паре остановок над абсолютно черным, и белых объектов светло-серым в паре остановок под белой эталонной освещенностью зоны.
Поэтому существуют области, которые не удается точно визуализировать на каждом возможном устройстве отображения, и все же хотелось бы кодировать их, поскольку могут или будут существовать устройства отображения, способные визуализировать их (например, после осветления), в этом примере, давая ультратемную область для кино, и сверхъяркую область для некоторых устройств отображения с HDR. Заметим, что ультратемная область человеческой зрительной системы может заканчиваться где-то на низкой стороне с высоким уровнем визуальной адаптации человека, например, для кодирования очень тускло освещенной пещеры, куда некоторый свет проникает через трещину вдали. Однако такой уровень не имеет отношения к устройству отображения даже в (теоретических) наиболее темных кинотеатрах, поскольку более яркие части изображения/видеоконтента не позволяют зрительной системе оптимально адаптироваться (никто не смотрит фильмы про пещеры в пещере). Однако его можно уровнять с уровнем, где глаз начинает видеть в шумах и с размыванием, например, когда человек входит в темную комнату после нахождения на солнце. Такое визуальное восприятие это что-то, что можно хотеть визуализировать, поскольку оно несет новый уровень визуального качества, совсем как ослепительные источники света на яркой стороне. Т.е. это режим, позволяющий балансировать то, что (только) можно видеть, с тем, что невозможно видеть. Но дело в том, что визуализация темного окружения позволяет лучше показывать очень темный объект, поскольку она может визуализировать его ниже темной области оси внешнего вида, где начинается ультратемная область.
Третьим устройством отображения является домашнее устройство отображения с LDR (визуализация DISPL_LDR), например, “классический” телевизор, например, с современной пиковой яркостью 300 нит (который, как мы предполагаем для нашего рассмотрения, ведет себя относительно аналогично более старым устройствам отображения, например, с пиковой яркостью 100 нит). Предположим, он может показывать несколько менее глубокие черные (конечно, в черных он может быть аналогичен устройству отображения с HDR, но в целях объяснения, скажем, что он имеет, например, глобальное гашение вместо гашения 2D СИД). Кроме того, он может визуализировать менее темные цвета, поскольку, возможно, ввиду более низкой пиковой яркости, ему нужно резервировать больший поддиапазон своего диапазона LDR R_D_LDR для более высоких и промежуточных яркостей, из-за чего, он будет визуализировать, и лестницу, и очень темный объект, по меньшей мере, визуально приблизительно одинаково темными серыми. Фактически, он будет резервировать для лестницы лишь несколько уровней яркости, делая ее менее детально текстурированной, и очень темный объект обычно будет обрезаться до черного (и, может быть, даже, увы, неотличимым от обрезанных до черного частей лестницы). Другое типичное свойство устройства отображения с LDR состоит в том, что он не может достоверно визуализировать сверхъяркие объекты и обычно (мягко) ограничивает их очень малым диапазоном (почти) белых, и все это зависит, между прочим, от того, какая контрастность нужна для средних диапазонов вблизи среднесерого. Стратегии ограничения и аппроксимации могут иметь сильное психовизуальное воздействие, поскольку мозг понимает, что происходит что-то необычное.
Можно видеть, что визуализация фактически является выделением (отрегулированных с учетом визуальной адаптации человека) яркостей (т.е., фактически, соответствующих освещенностей и яркостей для человеческой зрительной системой) сцены разным поддиапазонам соответствующего визуализируемого на устройстве отображения диапазона яркости. Некоторые устройства отображения могут визуализировать только подчасть полного диапазона, которая вложена (по меньшей мере, с одной стороны) в полный диапазон, и некоторые устройства отображения могут визуализировать почти все внешние виды относительно достоверно. Таким образом, при отображении в выходные яркости или, фактически, значения изображения, возбуждающие устройство отображения (т.е. для возбуждения, например, вентилей ЖКД и некоторого возбуждения задней подсветки), можно проводить некоторую аппроксимацию, немного изменяющую точный внешний вид объекта или области сцены, во внешний вид, который является все еще разумно аналогичным и, если не убедительным, то, по крайней мере, приемлемым. Пример электронной книги на внешнем солнечном свете был выбран, чтобы подчеркнуть точку искажения. Здесь нужно продвигать большой диапазон яркостей сцены почти в единичное визуализируемое значение яркости (его диапазон яркости E_ERDR_OUTS очень мал), и нужно сдвигать области изображения на значительные расстояния по оси внешнего вида (в любом случае, поскольку большинство черных будет освещено солнечными отражениями, по меньшей мере, диапазон внешнего вида будет малым, и устройство отображения также может компенсировать это, просто используя физические значения возбуждения в соответствующем малом диапазоне выходной яркости). Следствием этого является, например, тот факт, что темные области не удается визуализировать полностью, в результате чего, приходится делать сильно искаженные выборы. Вместо показа, например, 10%-го черного, если 50% является самым низким видимым значением, можно с тем же успехом визуализировать все эти значения вблизи 50%, или даже лучше, с помощью отображения тона в значения выше этого. Например, можно обрезать всю более темную область до того, что это устройство отображения имеет в качестве своего “черного” (т.е. его самого низкого визуализируемого значения), который, с таким малым диапазоном яркости может даже не выглядеть черным, поскольку альтернатива распространения яркостей темного объекта по более высоким яркостям не является вариантом, поскольку тогда они могут становиться более светлыми, чем некоторые из пикселей окна из цветного стекла. Аналогично, нужно избавиться от желания, чтобы некоторые сцены можно было достоверно визуализировать в печати. Лучше всего использовать отображение и психовизуальные принципы, чтобы, по меньшей мере, иметь хороший эквивалент (но не светящиеся окна, пока кто-либо не включит в них люминесцентные чернила или их аналог и не будет сильно освещать их источником УФ). Заметим, что для простоты мы просто рассмотрели принципы на упрощенной одномерной оси освещенности. Трехмерный характер фактических палитр (т.е., в основном палитр устройств визуализации) также оказывает интересное воздействие на хроматическую обработку цветов, например, их насыщенность, которые, в ряде случаев, визуально можно даже частично путать/отождествлять с яркостью.
Заметим, что, для полноты, мы также показали насыщающие внешние виды, когда они возникают в естественных сценах, например, при изучении ламп, или, например, вблизи солнца. Это происходит, когда уровни опсина колбочек, полученные за короткое время, сильно искажаются (обесцвечивание), и вы видите пятна. Например, в зимней сцене вы можете смотреть на низкое солнце, и воздух вокруг него может быть очень ярким, и солнечный свет, отражающийся на частицах облаков вокруг солнца, может быть еще ярче. Конечно, нежелательно визуализировать эти области на любом устройстве отображения с HDR со зрительным пигментом, насыщающим яркие цвета, но можно выделять два разных поддиапазона яркости в сверхъяркой области, т.е., например, показывать те области, по меньшей мере, немного раздражающе яркими. С другой стороны, можно также считать, что эти цвета, так или иначе, уже не столь важны (кого, во всяком случае, заботит фактическая яркость или цвет нити лампы накаливания, хотя кодирование ярко светящихся цветных домов, или даже некоторых зеркальных отражений, или коммерческих знаков, выполненных из цветных TL трубок, и т.д. все еще может быть важным), и их кодирование значением, аналогичным ограничению, которое можно просто назвать сверхъярким, или областью вблизи максимальных кодов (например, просто значение 1023). Затем устройство отображения может выбирать, хочет ли он визуализировать их раздражающе яркими, или с немного меньшей выходной яркостью, и в этом случае мозг может оценивать яркость из ограничения. Это также позволяет автору контента сосредоточиться на том, что именно ему нужно кодировать, и что, при использовании почти непосредственно для возбуждения, например, устройства отображения с HDR, даст хорошее качество (например, контрастность) для всех этих областей (например, более темное внутреннее пространство и еще более темная комната, и освещенное солнцем внешнее пространство), и какие очень яркие области он считает менее релевантными и всегда может обрезать (потенциально, с выходной яркостью ниже пиковой яркости, например, в режиме энергосбережения), даже на устройствах отображениях с HDR. Такие режимы энергосбережения можно лучше реализовать посредством устройства отображения, если сортировщик задает несколько таких “несоразмерно ярких” областей, обычно с несколькими значениями gTS, которые средство экономии энергии может использовать для искажения изображения, превышающего все такие значения, для ряда усиленных режимов энергосбережения. Фактически, автор может даже художественно использовать один или более “насыщающих” кодов для сброса важного контента из изображаемой сцены, например, для реализации сильно насыщающего внешнего вида.
Далее может возникнуть желание преобразовать представления сцены в первой колориметрии, в частности, цветовое пространство, задающее объекты сцены с помощью первых координат вдоль оси яркости или яркости или аналогичной оси, связанной со значением серого (предполагая для простоты, что две хроматические координаты цвета являются фиксированными в обоих представлениях, например, тон и насыщенность) согласно первому правилу выделения (задающему яркость участка локального объекта сцены, кодированную как яркость пикселя; и хотя вместо значений яркости пиксели также можно кодировать, например, яркостями в системе XYZ, мы будем для простоты называть их яркостями кодированных значений серого), во вторую колориметрию. В качестве всего лишь одного примера для облегчения предстоящего описания некоторых принципов и вариантов осуществления изобретения, предположим, что у нас есть исходная сцена с коэффициентом яркости, например, 2097152:1, или 21 битами в случае линейного кодирования. Конечно, это все еще можно дополнить точным значением яркости наиболее яркого пятна, которому соответствует значение 2^21 (которое может различаться для сцены освещенного солнцем внешнего пространства и для сцены темного вечернего внутреннего пространства). На практике, поскольку ни одно устройство отображения никоим образом не может кодировать солнце, дополнительно, для простоты предположим, что мы можем относительно достоверно (т.е. с психовизуально менее важными искажениями, такими как снижение яркости солнца в его визуализируемой устройством отображения версии) кодировать эти исходные сцены с HDR посредством 16-битового кодирования HDR оригинала (по крайней мере, для яркости Y, и нам нет дела до того, является это число числом с плавающей запятой или целым). Дело в том, что кодирование можно задать нелинейным вдоль его оси яркости, т.е. использовать оригинальную гамму для отображения яркостей объектов сцены в коды цветового пространства HDR.
Другим примером является кодирование, т.е. отображение этого 16-битового кодирования в новую колориметрию/новое цветовое пространство, а именно, 8-битовый код, например, со стандартной гаммой 2,2. Для этого существует несколько отображений палитры, например, можно просто линейно сжимать диапазон яркости, но поскольку это дает плохие результаты, обычно используется плавная, например, сигмоидальная кривая, и можно использовать более сложные модели, например, применять сжатие к версии изображения, полученной низкочастотной фильтрацией, и затем прибавлять более высокочастотные детали. Альтернативно, отображение может моделировать, как человеческая зрительная система приблизительно (конечно, существуют вышеописанные невозможности производить некоторые разновидности визуализаций на ограниченном оборудовании) будет видеть исходную сцену, если рассматривать с новой точки зрения, например, устройства отображения с гораздо более низким динамическим диапазоном, т.е. устройства отображения с LDR. Человеческая зрительная система ведет себя нелинейно, преуменьшая менее важные визуальные аспекты, и, например, грубую тень в исходной сцене (по меньшей мере, как ее видят некоторые камеры) может выглядеть относительно светло-сероватой. Не следует ошибочно отображать ее в палитру LDR, чтобы большая часть тени приближалась к минимальному черному этого устройства отображения, поскольку тогда, конечно, зрительная система будет интерпретировать ее как слишком темную. Ее несколько нужно смягчать, снижая (локальную) контрастность, чтобы она выглядела менее глубокой, как в исходной сцене. В общем случае, отображение палитры в палитру LDR может использовать все разновидности математики, применяющие локальную оптимизацию, и т.д.
В заключение, функция преобразования применяется к пикселям 16-битового представления для получения 8-битового представления. Например, сначала глобальное преобразование, и затем некоторые пространственно локальные дополнительные преобразования. И наоборот, можно преобразовывать (например, прогнозировать) представление HDR (например, наше 16-битовое представление) из 8-битового кодирования, посредством другого отображения цвета/яркости. Пример такой системы опубликован в WO 2012004709 (генерация изображений с высоким динамическим диапазоном из изображений с низким динамическим диапазоном).
Давайте снова упростим объяснение, сосредоточившись на отображении из 8-битового кодирования LDR, в 16-битовое представление HDR, используемое для возбуждения устройства отображения с HDR, имеющего пиковую яркость белого, скажем, 5000 нит, и, таким образом, обеспечивающего художественно приятную (т.е. хорошего качества) визуализацию исходной сцены (например, она выглядит разумно аналогичной, в том отношении, что тени все еще выглядят зловеще темными и т.д.; примечание: если исходное 16-битовое кодирование оригинала было сортировкой, оптимально настроенной, специалистом по компьютерной графике согласно указаниям режиссера и/или DOP, например, сделать область тени еще более мрачной или зловеще темной, то намерение в отношении качества может состоять в том, чтобы устройство отображения с HDR окончательной визуализации передавал этот зловещий вид как можно лучше, т.е. как предусмотрено).
Могут существовать разные способы отображения пикселей из их 8-битового значения кода в пиксели (для некоторого пространственного положения) с новым, другим, 16-битовым значением кода. Например, это отображение может повышать визуализируемую яркость окна из цветного стекла, поскольку устройство отображения с HDR способен визуализировать такие яркие области, которые будут соответствовать соответствующему преобразованию, для получения яркости пикселя изображения с HDR (для простоты предположим, что это непосредственно возбуждает устройство отображения с HDR), на основании поведения устройства отображения с HDR и задания кода HDR. Заметим, что при описании яркостного поведения изображаемых объектов и упоминании, например, усиления, мы будем, для простоты, сравнивать выходные яркости (например, визуализируемую яркость на устройстве отображения с LDR=400 из 500, с 3000 на устройстве отображения с HDR), где в пространстве фактической кодированной яркости то же самое можно реализовать, например, напротив, гашением более темных областей (что дает относительно такой же результат), и сохранения окон из цветного стекла высокими, как для кодирования HDR, так и для кодирования LDR.
Преобразование может быть глобальным, т.е. где бы ни располагался пиксель в изображении, функциональная форма преобразования зависит только от LDR/8-битовый пиксельное значение изображения, т.е.: Y_16b=f(Y_8b), в котором Y_16b является 16-битовой яркостью, которую можно, например, представить двоичным кодовым словом, или значением с плавающей запятой от 0 до 1, и т.д., и аналогично для 8-битовой яркости Y_8b. Примером такой функции является глобальная гамма: Y_16b= g* Y_8b^gamma, где g - коэффициент усиления, и гамма - коэффициент степенной функции.
Преимущество такой глобальной функции состоит в необходимости кодирования лишь малого объема данных, например, можно передавать гамму и коэффициент усиления до каждого изображения, или даже кадра изображений одной и той же сцены, имеющих одинаковые характеристики изображения.
Недостаток состоит в том, что при ее использовании для перехода от HDR/16 к LDR/8 битам (т.е. сигнал, который предполагается хорошо выглядящим на устройстве отображения с LDR с пиковой яркостью белого, скажем, 200 нит), хотя она, приблизительно, делает внешний вид правильным (преобладающее поведение линейного сжатия изображения с HDR с областями высокой яркости, состоит в чрезмерном сжатии более темных частей, из-за чего, изображение в среднем выглядит темным на устройствах отображениях с LDR, но гамма-функция может уже сбалансированно манипулировать приблизительно двумя областями, более темной против более яркой), поскольку коррекция сжатия в более темных частях изображения осуществляется путем ее уменьшения с надлежащей формой гаммы. Но это только единичная, простая функциональная форма. При критической настройке некоторых цветов на заднем плане, аналогичные цвета в объекте переднего плана могут изменяться таким образом, который для этого объекта менее желателен. Кроме того, при переходе от 8 к 16 битам, можно помещать, например, яркие источники света в правильную выходную позицию яркости устройства отображения с HDR (т.е. правильную Y_16b), но делая это путем настройки/растяжения гамма-функции, можно сделать, например, более темные области ярче, чем хотелось бы. Альтернативно, можно использовать более сложную функцию отображения, например, сплайн с оптимально выбранными точками управления, но при этом сохраняется опасность сдвига некоторых из промежуточных серых на нежелательные значения яркости, не говоря уже о том, что это, возможно, не самый простой способ управления цветовым внешним видом изображения.
Проблема усугубляется возможностью совершить, например, отображение с потерями исходной сцены с HDR в 8-битовое изображение с LDR, что может происходить, например, для темной лестницы и очень темного объекта. Хотя первоначально в захватываемой сцене этот очень темный объект был гораздо темнее лестницы, в 8-битовом изображении он может иметь значения яркости, которые соответствуют значениям, по меньшей мере, некоторых пикселей лестницы. Таким образом, пиксели, которые должны иметь (очень) разные значения яркости, теперь имеют одинаковые значения (или, по меньшей мере, гистограммы наборов пикселей могут перекрываться там, где они не должны), хотя положительный момент состоит в том, что они могут располагаться в разных пространственных областях изображения. Единственная функция, действующая на кодированных значениях серого, уже не может различать эти два случая. Таким образом, если желательно преобразовать очень темный объект в значения яркости Y-16b, которые являются очень низкими, то же самое будет случаться по ошибке с некоторыми из ступеней лестницы (приводя, например, к чрезмерно контрастному затемнению некоторых частей лестницы), или наоборот. Таким образом, специалист или устройство преобразования цветов пожелает иметь возможность применять другое преобразование к этим двум объектам.
Другой класс преобразований образован преобразованиями локальной яркости (или, в общем случае, цвета), которые применяют разные функции к каждому пикселю. Можно, например, обратить внимание на область маски вокруг пикселя, и немного усилить его яркость в зависимости от окружающих значений, например, если они почти одинаковы, но несколько отличаются. Примером является образование пиков вокруг краев объекта, где желательно усилить локальные значения яркости пикселей несколько выше или ниже значения ступенчатого профиля вблизи края. Примером преобразования/кодирования изображений с HDR является принцип JPEG-HDR, предусматривающий использование нормального изображения JPEG для текстуры, и затем совместное кодирование усиленного изображения, которое имеет фактор усиления для каждого пикселя. Преимущество состоит в возможности совместного кодирования, какое бы желание алгоритмического локального преобразования ни было реализовано в качестве окончательного результата в таком изображении (например, увеличение контрастности текстуры первым способом, и полуглобальный градиент освещенности другим способом, которое специалист по сортировке может оптимизировать по своему желанию), но достается ценой увеличения объема данных, подлежащих кодированию, поскольку теперь для каждого изображения с HDR придется кодировать два изображения с LDR (в отличие от нашего одного, например, изображения вышеупомянутый контейнера LDR). Можно даже спросить себя, в случае кодирования 8bit_texture*8bit_boost, не лучше ли просто начерно кодировать 16bit_HDR.
Теперь это будет промежуточный подход, поскольку, если желательно некоторое усиление, оно обычно будет желательно для всего объекта, например, окна из цветного стекла. Таким образом, значения яркости/усиления пикселя в усиленном изображении не будут полностью пространственно декоррелированы, и более того, в случае интеллектуальной/го обработки/кодирования, они могут коррелировать настолько, чтобы можно было гораздо более упрощенно представлять их. Это позволяет параметрически указывать их функциональным образом, возможно даже так же просто, как с единственным числом усиления, которое может храниться в совместно кодированных метаданных.
Это потребовало бы кодировать объекты, или, в более общем случае, геометрические области изображения.
Одним легким примером этого сегментирования на фрагменты является задание сетки блоков, и затем задание оптимального преобразования для каждой прямоугольной подобласти. Например, для каждого из этих блоков можно задать коэффициент усиления и смещение, как в EP2009921 [Liu Shan et al. Mitsubishi Electric: Method for inverse tone mapping], или совместно кодировать локальную гамму для каждого отдельного блока. Такие способы обычно подвержены артефактам блочности. Например, можно придти к различию в оптимальном коэффициенте усиления или гамме, подлежащих применению к блоку BLCK(i+1, j-1) (см. фиг. 2a) и, возможно, для блоков помимо него, например, до BLCK(i+1, j), но не для блока BLCK(i+2, j). Дело в том, что первого блока можно оптимизировать преобразование, придавая высокое значение оптимальному виду лестницы, тогда как для последнего блока можно оптимизировать, например, сосредотачиваясь на критерии видимости очень темного объекта. Даже малые отклонения на участке кривой (т.е. для некоторых доступных значений яркости пикселей Y_8b) могут приводить к видимости различия в статистике значений яркости Y_16b частей/объектов заднего плана в этих двух блоках, т.е. приводить к восприятию визуальной границы, поскольку мозг натренирован выявлять такие статистические различия, ибо это может означать обнаружение тигра, прячущегося в желтоватой траве. При применении некоторых алгоритмов, можно видеть грубую сетку, видимость которой увеличивается за счет временных модуляций статистики цветов нижележащих областей после преобразования в Y_16b.
Теперь эту проблему также можно решить, а именно, можно точно кодировать все объекты, и, таким образом, гарантировать, что все пиксели темного объекта переднего плана получают свои оптимальные локальное преобразование, и пиксели области заднего плана всех блоков в этой области получают такое же преобразование, которое давало им оптимальную визуализацию, и, следовательно, без видимых краев блока.
Но все надежды на это испарятся ввиду эффективности кодирования, т.е. количества необходимых битов, что опять же, вынуждает принимать кодирование двух изображений, или, вероятно, даже кодирование первичного Y_16b (в этом случае, для обратной совместимости дополнительно потребовалось бы еще одно кодирование Y_8b). Кроме того, точное кодирование фактической границы, например, нашей лестницы, не только требует большого объема данных, подлежащих кодированию, например, для сплайн-функции, но и сортировщики часто любят делать свои варианты выбора объекта менее точными, особенно, когда нужно делать сотни или тысячи кадров в кинофильме.
Ранее такие объектно-ориентированные операции кодирования были испробованы в рамках MPEG4-2, но по ряду причин никогда не имели успеха. Невозможно просто извлечь эти объекты, поскольку определения их шаблона изменяющейся в пространстве текстуры неизвестны, поэтому приходится кодировать их границы. Но это, с одной стороны, приводит к сложным структурам кодирования (по сравнению с универсальной простотой технологии блочного кодирования), например, сплайнам или снейкам, и, во-вторых, вероятно, необходимо вмешательство человека для оптимального позиционирования этих снейков (поскольку рассогласование границ является проблемой многих алгоритмов, например, пропуск углового фрагмента объекта), и, в-третьих, большое количество дополнительных кодовых значений для кодирования этих граничных кривых. Все эти усложняющие факторы не способствуют легкому усвоению в практических стандартах кодирования видеосигнала или неподвижного изображения.
Однако автору изобретения было ясно, что в конкретной ситуации кодирования HDR (т.е. когда преобразование между первым представлением сцены, например, с более низким динамический диапазоном яркости и вторым, например, с более высоким динамическим диапазоном яркости) почти всегда существует конкретное свойство изображения, которое не допускает кодирование при всех преимуществах точного сегментирования, и все же с преимуществом необходимости лишь нескольких битов дополнительных данных. Во всех визуализациях (или основополагающих методах кодирования изображения), показанных на фиг. 1, всегда существует иерархия яркостей областей (охватывающих разные яркости или диапазоны яркости), например, окно всегда имеет тенденцию быть наиболее ярким объектом. И хотя в пространственном отношении могут быть более темные объекты слева, более яркие объекты в середине и, опять же, более темные объекты справа, обычно в каждой локальной области всегда присутствует некоторая часть изображения, которая является более темной, и некоторая часть, которая является более яркой (фактически, может существовать несколько классов, наподобие также средне-темные объекты, но, по меньшей мере, некоторые пиксели являются наиболее яркими, и некоторые являются наиболее темными, и они обычно даже имеют относительно простые геометрические структуры наподобие выпуклой плотно заполненной структуры стеклянного окна). Но заметим, что даже при наличии в блоке шаблона тюремной решетки на фоне яркого неба, нет никаких проблем, поскольку все прутья тюремной решетки легко различить в блоке по наличию более темных пикселей. Кроме того, распределение по нескольким блокам обычно является легко управляемым, даже если оно предполагает сброс некоторых значений gTS в некоторые моменты времени между блоками вдоль пути сканирования. В нестандартном случае, который, кстати, оказывается более трудным, можно, конечно, прибегнуть к вспомогательным способам или стратегиям.
Принцип объяснен со ссылкой на фиг. 2a и фиг. 2b.
На фиг. 2a показано наше изображение с освещением через цветное стекло темной деревянной лестницы со своим наложенным разделением на блоки. Именно в этих блоках, например, алгоритм автоматического анализа изображения будет анализировать локальную статистику изображения, например, локальную гистограмму яркости (или выведенную из нее гистограмму яркости, например, представления сцены в эталонной колориметрии, визуализации на устройстве отображения), и приходить к предложению создать изображение с HDR Y_16b путем преобразования изображения Y_8b с LDR. Например, он может использовать статистические принципы и знание о том, как будет выглядеть типичное изображение (если лестница уже является относительно темной, конкретное первое отображение обычно может делать его слишком темным на устройстве отображения с LDR, или сортировщик может просто испытывать такой сценарий, проверяя его), и затем выбирать гамму отображения, например, 4.3. Пример такого желательного преобразования показан на фиг. 2b. Как сказано выше, полная(ый) функция или алгоритм преобразования не требуется (вместо гамма-функции, можно иметь набор запрограммированных правил, например, вычислять меру локальной текстуры, локальную при локальном изменении яркости и т.д., чтобы придти к окончательному значению яркости для одного или более локальных пикселей) для каждого пикселя, но нам нужно полуглобальное оптимизированное преобразование, т.е., обычно, преобразование для каждого объекта или класса. В области изображения, покрытой блоком BLCK(i-1, j-4) можно видеть локальную подсцену в выбранной области, где этот блок состоит из двух объектов, а именно, части окна из цветного стекла и стены вокруг него (которая может иметь, например, кирпичи или обои, текстура которых также может подлежать визуализации с хорошим качеством, но, для простоты, это не изображено), которая занимает те пиксели блока, которые не образуют окно из цветного стекла. Поскольку эти объекты очень отличаются (контражурное формирование изображения более темных пикселей на фоне яркого наружного пространства, даже не начиная объяснять, что яркие насыщенные цвета окна из цветного стекла могут требовать особой обработки), мы можем пожелать применить совсем другие преобразования для получения нового кодирования изображения, например Y_16b, по меньшей мере, для некоторых категорий устройств отображения, для которых этот сигнал обычно назначается или, по крайней мере, полезен. Окно и стена являются очень разными объектами, и, в частности, они по-разному освещены. Внутри комнаты не только стена (с какими-либо физическими свойствами, которая она сама по себе имеет, например, BDRF, альбедо и т.д.) освещается каким-либо светом, но она обычно создает свой цвет/яркость за счет отражения света от своего окружения, и, в частности, своего(их) основного(ых) источника(ов) освещения. С другой стороны окно является просвечивающим цветом, поскольку оно непосредственно модулирует путем поглощения света снаружи. По меньшей мере, некоторым хотелось бы видеть окно более ярким в любой визуализации на устройстве отображения, но могут быть дополнительные критерии качества визуализации, ввиду этого другого механизма генерации цветов. Может возникнуть желание показать на устройстве отображения с HDR стену с относительно приглушенной выходной яркостью устройства отображения, не слишком отличающейся от того, что показывает LDR, или что отражает реальная стена, находясь в темноватых средах наблюдения устройства отображения и устройства просмотра. С другой стороны, можно пожелать усилить стеклянное окно, которое, например, кодируется в изображении с LDR значениями яркости, ненамного более высокими, чем у стены, поскольку в противном случае устройство отображения с LDR никак не сможет показывать их (относительно достоверно), до значений яркости, которые находятся где-то вблизи верхней части реализуемой палитры устройства отображения с HDR, т.е. имеющей высокую координату яркости Y_16b. Таким образом, надлежащее изображение с HDR нужно строить с более темными стенами и очень яркими окнами.
На фиг. 2b показан другой пример, демонстрирующий, что делать с лестницей, и показана функция отображения яркости полного поведения TM_BLCK(i, j) в отношении того, что желательно: в случае присутствия любой возможной входной яркости Luma_in для пикселя в этом блоке, какой будет преобразованная выходная яркость Luma_out изображения с HDR Y_16b. Конечно, в действительности, некоторые цвета не присутствуют (в этом блоке нет окна из цветного стекла), поэтому они показаны пунктиром. Релевантными являются функции преобразования для тех диапазонов Luma_in, которые присутствуют. Поэтому специалисту в данной области техники понятно, что возможно несколько реализаций варианта осуществления, на основании, помимо прочего, желаемой универсальности или сложности кодирования. Можно сохранять функцию TM_BLCK(i, j) целиком, где пунктирным частям присвоены те или иные значения (поскольку этого легко достигнуть в случае кодирования преобразования функциональной формой, например, гамма-функцией, а также, если преобразование кодируется в виде поисковой таблицы, и промежуточные значения могут оказаться удобными в частях изображения(ий), где они присутствуют), или можно сохранять в отдельных положениях только подпреобразования, например, частичное преобразование PD_BLCK(i, j), необходимое для лестницы, заданной в диапазоне luma_in RNG_COD_DRK. Сшивание друг с другом таких частичных преобразований имеет многочисленные преимущества. Они могут храниться в любом месте и по любой причине. Можно понять, что частичное преобразование PD_BLCK(i, j) могут храниться где-либо (например, в начале этой последовательность кадров изображений, или даже в начале кинофильма) в качестве гораздо более крупного преобразования, которое кодирует поведение отображения обоев, также в местах, где они значительно светлее, поскольку, например, освещены находящейся вблизи локальной лампой. Но тогда оттуда берется только часть диапазона RNG_COD_DRK (и, например, сохраняется во временной памяти при применении алгоритма отображения яркости ко всем пикселям этого блока TM_BLCK(i, j)). Такие частичные преобразования можно даже доставлять в виде, например, интернетовской или другой сетевой службы, например, в службе защиты авторского права или просто отдельной службе, обеспечивающей более красивую визуализацию некоторых объектов, или в оперативных, например игровых, сценариях и т.д.
Так, TM_BLCK(i, j) этого примера демонстрирует два релевантных частичных отображения яркости, а именно, во-первых, часть PD_BLCK(i, j) для лестницы, которая является линейным растяжением со смещением, которое несколько осветляет лестницу по сравнению с ее темным кодированием изображения с LDR (т.е. Luma_in), и затем несколько усиливает контрастность, что делает прожилки древесины более видимым. Во-вторых, существует частичное преобразование PM_BLCK(i, j) для заднего плана комнаты (которым в этом случае может быть некоторый пол, а не обои), которым в этом примере является переменное (искривленное) растяжение. К обеим частям блока BLCK(i+1, j-1) обычно применяется одно и то же отображение.
Однако, если теперь мы достигаем блока BLCK(i+2, j), эта стратегия отображения все еще может очень хорошо работать для части заднего плана, но не для пикселей с luma_in в диапазоне RNG_COD_DRK, поскольку они теперь кодируют очень темный объект. Это должно быть показано гораздо более темным на устройстве отображения с HDR, т.е. иметь более низкие luma_out Y_16b в изображении с HDR, отображаемые из изображения с LDR. Это показано более толстой линией, которая демонстрирует новую стратегию частичного преобразования PD_BLCK(i+2, j) для этого блока, т.е. этого другого, нового объекта в этом блоке. Оно имеет гораздо более мягкий коэффициент растяжения, поскольку оно хочет сохранить все цвета очень темного объекта очень темными и почти неразличимыми.
Следовательно, необходим новый технический механизм, который позволяет быстро изменять такие стратегии частичного отображения на частях различных блоков, которые фактически соответствуют реальным объектам, требующим разным оптимальным визуализациям или сортировкам.
Автор изобретения установил, что в области формирования изображения с HDR (т.е. обычно предусматривающего отображение между разными представлениями цветов одного(их) и того(тех) же изображения(ий) например, цветовых пространств на основе из Y_8b в Y_16b), почти всегда существует особое соотношение между такими частичными областями или объектами в блоках, а именно, их иллюстративные значения яркости (или яркости или аналогичные представления) отличаются. Примером яркости может быть средняя яркость, но обычно более строгое свойство состоит в том, что наиболее низкая яркость первого объекта (в примере блока заднего плана (пола) BLCK(i+2, j)) светлее/выше, чем наивысшая яркость пикселя в более темной частичной области (в этом примере, очень темного объекта). Таким образом, их можно разделить лишь путем кодирования “значения серого дифференциатора областей” для, по меньшей мере, этого блока и, обычно, еще нескольких блоков (предполагая определенного направления сканирования, например, зигзага слева направо). Следовательно, это значение серого дифференциатора областей является яркостью (или аналогичной координатой освещенности представления цветов, фактически, ее всегда можно перекодировать для разных определений диапазонов яркости изображений, по аналогии с тем, как можно переопределять стратегии отображения, например, из кодирования [0,255] в кодирование [0,0, 1,0] одних и тех же данных текстур изображения), ниже границы которой кодируется первый объект и выше которой - второй объект. И хотя лестница в блоке BLCK(i+1, j-1) может нуждаться в другом значении серого дифференциатора областей, поскольку эта лестница содержат некоторые более яркие значения в изображении с LDR, чем очень темный объект, принцип остается неизменным. Для окна из цветного стекла, содержащего блоки, порядок обращается, и теперь задний план является наиболее темной частичной областью в этих блоках, но принцип остается неизменным. Имея такое простое значение серого дифференциатора областей, устройство принимающей стороны может хорошо, с высокой пиксельной точностью, реконструировать необходимые объекты. В общем объектно-ориентированном кодировании это было бы невозможно, поскольку, например, рыба может содержать, например, синие цвета внутри себя, также, имеющие место в океане вокруг нее, но проблема представления изображения с HDR всегда состоит в наличии гораздо более светлых областей, соседствующих где-либо в изображении с более темными областями. Это обычно происходит, поскольку, например, эти области по-разному освещены, или даже являются самосветящимися, как лампы. Еще одно свойство состоит в том, что такие области (очень) разной яркости несколько геометрически разнесены в изображении, т.е. часто находятся в разных блоках, что допускает дополнительную оптимизацию. Это пример очень темного объекта, который в действительности является темноватым, как лестница, и даже может использовать те же коды яркости (некоторые из них) в изображении с LDR. Но поскольку это происходит в другом блоке, единственное, что требуется оптимизировать, это метаданные семантики представления, которые могут быть не сложнее единичного значения серого дифференциатора областей, которое, в этом примере, может являться, например, верхним значением RNG_COD_DRK. Таким образом, модуль сегментирования объекта на принимающей стороне (который фактически может быть устройством такого же рода, как на передающей стороне или фактически существовать на передающей стороне, но это модуль, который обычно получает изображение с LDR+ метаданные, содержащие различные необходимые одно или более значений серого дифференциаторов областей) может точно сегментировать все релевантные объекты на основании значения для значения серого дифференциатора областей, принятого им до первого блока с начавшейся лестницей, и, аналогично, для всех последовательных блоков. По меньшей мере, это кодирование будет использоваться для всех блоков содержащих лестницу, т.е. пока конкретная новая ситуация не возникнет в первый раз, в BLCK(i+2, j), где находится очень темный объект. До начала этого блока, новая ситуация сообщается путем передачи нового значения для значения серого дифференциатора областей. Теперь также на принимающей стороне декодер инициализируется и программируется новыми надлежащими значениями, опять же, чтобы правильно осуществлять сегментирование, которое проверяется до окончания сохранения на передающей стороне. Обычно кодер может быть соединен, например, с программным обеспечением, что позволяет сортировщику легко задавать релевантные значения gTS. Например, он может использовать ползунок для задания значения и затем смотреть в псевдоцветах (например, красном и зеленом), какие части (возможно, локальные для выбранных блоков) сцены определяются как имеющие значения ниже или выше gTS. Альтернативно, он может грубо выбирать области, и устройство может уже полуавтоматически помогать сортировщику, анализировать статистику и, например, предлагать первое значение gTs на основании оценки когерентных областей, значительно различающихся по яркости. Альтернативно, сортировщик может быстро прочесывать область, например, внутри окна из цветного стекла, и, таким образом, уже выбирать, по меньшей мере, начальные значения gTS, которые он может затем тонко настраивать посредством любого из различных контроллеров пользовательского интерфейса.
При наличии этих сегментов, нетрудно связывать их с необходимыми преобразованиями. Декодер может, например, помечать все пиксели заднего плана как “объект=0”, и, например, применять глобальный цвет или стратегию отображения яркости, закодированную до начала изображения (или даже, по умолчанию, для типа эталонного устройства отображения с HDR, например, гаммы 4,0). Альтернативно, декодер (и кодер, чтобы сначала эмулировать декодируемость) может, до конкретного блока, обновлять отображение, подлежащее применению для объектов задний план/объект=0. Лестницу можно помечать как “объект=1”, и некоторое правило привязки связывает отображение с этими (сегментированными) пикселями. Например, по умолчанию, правило может состоять в том, что, если новое отображение кодируется до блока, эта функция отображения (или алгоритм) подлежит применению для значений яркости пикселей, которые ниже текущего “значения серого дифференциатора областей”. Альтернативно, функцию отображения можно кодировать, например, в отношении такого диапазона яркости (в основном или только его), так чтобы ее можно было уверенно использовать для более яркого объекта двух (или более) областей.
Поэтому требуется лишь совсем немного дополнительных данных для кодирования объектов, а именно, один или более раз, в зависимости от сложности изображения, значение серого дифференциатора областей. Для простейших изображений, где присутствует, например, только окно наружу, может быть достаточно одного gTs. Эту стратегию можно даже использовать для тонкой настройки отображений в случае отсутствия очевидного разрыва яркости между двумя частичными областями, например, для градиентов освещенности по обоям заднего плана, этот механизм можно использовать с переменными значениями серого дифференциаторов областей для применения нескольких разных отображений, например, к более тускло освещенным частям, например, для изменения видимости.
Может существовать несколько сценариев. Для большинства сцен с HDR, в каждом блоке будет только две области разной освещенности, и даже может существовать только пара областей разной освещенности, например 2 (в случае, когда только окно из цветного стекла нуждается в другом отображении по сравнению с глобальным отображением, что удовлетворительно решается для остального изображения). В этом случае нужно лишь пару раз передавать значение серого дифференциатора областей между кодами цвета пикселя блоков (или аналогичными методами кодирования, например, вне пиксельных данных, в структуре данных, которая отслеживается совместно со сканированием блоков). На самом деле, в простом сценарии окна из цветного стекла может быть достаточно единичного значения серого дифференциатора областей, т.е. его можно совместно кодировать до последовательности кадров изображений в кинофильме, содержащей эту сцену. В этом случае, модуль сегментирования поймет, что каждую яркость, превышающую значение серого дифференциатора областей, предполагается обрабатывать/отображать как яркое окно. В ряде случаев, может существовать более двух объектов, перекрывающихся с единичным положением блока, и в этом случае мы получим более темный объект, средней яркости, и более светлый. В этом случае их можно сегментировать согласно тому же принципу, передавая два значения серого дифференциаторов областей, например, до этого блока. То же самое можно делать также в случае, когда в текущем блоке присутствует только более темный объект (например, с объектом средней яркости), и более светлый объект возникает только пару блоков спустя, т.е. затем осуществляется совместное кодирование этих двух значений серого дифференциаторов областей для серии, например, из 10 последовательных блоков. Существует только один нечасто встречающийся сценарий, когда два объекта аналогичной яркости/яркости оказываются в одних и тех же блоках, т.е. они ряд пикселей одинаковой яркости, в том смысле, что их не удается однозначно выделять любому объекту, или иначе утверждать, что охватывающие их диапазоны перекрываются (значительно, иначе это также часто не составляет особой проблемы). Это было бы так, если бы темный объект: 1) действительно кодировался дважды выделенными кодами (т.е. не резервировалось бы, например, только три кода, яркость 0, 1 и 2 только для нашего очень темного объекта, каковые значения затем не присутствуют в лестнице; и 2) эти два объекта не разнесены, как в нашем примере, но совместно размещены в одном и том же блоке, например, обычно перекрываются. В этом сценарии и в случае, когда автора контента по-прежнему заботит такое высококачественное кодирование этих темных областей, нашему кодеру нужно будет использовать сценарий возврата, например, в стратегии кодирования изображения с HDR, вместо прогнозирования всего изображения посредством отображений, локальных по отношению к сегменту, на основе нашего предложенного в настоящее время сегментирования под управлением метаданных, на понадобится другое кодирование, например, можно дополнительно совместно кодировать малое изображение размером только с этот блок, содержащий непосредственно необходимые значения Y_16b, и затем накладывать их в изображении с HDR в пиксельных положениях этих блоков. По-прежнему можно использовать механизм значения серого дифференциатора областей для них с использованием конкретных зарезервированных порогов. Например, значение серого дифференциатора областей, равное нулю или -1 следует интерпретировать как “не имеющее смысла”, поскольку не существует более низких значений яркости, т.е. это может символизировать стратегию кодирования с возвратом (например, наложением). Помимо сигнализации стратегии кодирования с заменой HDR (или другого изображения), например, кодирование малой части изображения из видеосигнала не как Y_8b LDR, но первичное частичное, например, изображение Y_16b, подлежащее (обычно также после надлежащего преобразования) замене для этой области изображения при генерации изображения с более высоким динамическим диапазоном, также можно использовать зарезервированные значения по другим причинам. Например, значение серого дифференциатора областей, равное 260, может указывать, что следующий блок настолько трудно сегментировать, что это будет невозможно сделать на основании одного или более значений серого дифференциаторов областей в кодированном диапазоне яркости (например, 16, 200 и 240), и вместо этого требуется другая стратегия сегментирования. Например, обнаружив, что это зарезервированное значение равно 260, принимающая сторона может использовать уже сегментированную карту для, по меньшей мере, текущего или других сегментированных блоков. Т.е. она затем будет заглядывать в изображение малого совместно кодированного сегмента, в котором для, по меньшей мере, последовательных блоков, пиксели помечаются, например, как “0”, “1” или “5”, в случае наличия этих трех типов объекта. После этого возвратное сегментирование больше не требуется, регулярный алгоритм на основе “значения серого дифференциатора областей” можно перезапустить, например, путем перекодирования до первого блока, к которому регулярное сегментирование снова будет применять старые нерезервированные значения (например 16, 200, и 240), или, другой зарезервированный код gTS, например 270, можно использовать для указания возобновления регулярного кодирования сегментирования-метаданных, и указания того, что предыдущие значения gTS (обычно хранящиеся в рабочей памяти на принимающей стороне) вновь применимы.
Однако в любом случае, даже когда время от времени требуется другая возвратная стратегия для редких очень сложных ситуаций, наше кодирование весьма экономично в отношении данных (поскольку, по большей части, требуются только отображения и значения серого дифференциаторов областей, разграничивающие, на каких пикселях какое отображение необходимо применять, и, обычно, некоторые дополнительные метаданные для точного указания связи (например, правило привязки преобразования: объект=3 → использовать отображение=5)) поскольку лишь в редких случаях требуется альтернативное возвратное кодирование, расходующее больше битов. Кроме того, оно также очень универсально в отношении обработки, например, настройки для визуализации на разных устройствах отображениях. Поскольку наш способ позволяет легко задавать семантику сцены HDR, необходимую для настройки на разные устройства отображения. Правило привязки может быть динамическим, например, может храниться несколько правил. Например, отображение=5 можно дополнительно заменять другими отображениями в зависимости, например, от того, в какое выходное изображение с HDR в результате будет отображаться представление цветов (например, Y_16b или Y_10b), или какое устройство отображения для этого понадобится (например, устройство отображения с HDR яркостью 5000 нит, или устройство отображения с HDR яркостью 50000 нит или устройство отображения с HDR яркостью 1500 нит), и т.д.
Специалисту в данной области техники будет понятно, что это кодирование можно реализовать по-разному, например, посредством разных правил, например, изменяя при инициализации правило привязки с “объект=3 → использовать отображение=5”, на “объект=3 → использовать отображение=7”, или предписывая модулю сегментирования выдавать разные коды сегмента в зависимости от частностей выходного изображение с HDR, или отображение может изменяться динамически, например, обращаясь к дополнительным частностям (например, переменный указатель начала разных алгоритмов или LUT или элементы списков разных уравнений и т.д.). Это также позволяет, например, легко манипулировать командами пользовательского интерфейса, например, изменять под управлением пользователя “общий яркостный вид” сцены, что можно реализовать путем перевыделения различных новых функций отображения разным объектам сцены, причем все объекты / области значения серого изменяют свою освещенность в связи с конкретным отображением (например, окно из цветного стекла может, по существу, не изменяться, поскольку оно уже является ярким, возможно, немного осветляться по сравнению с остальным изображением, чтобы не терять слишком много во внешнем виде HDR вследствие соотношения по яркости с остальным изображением, но окружающее внутреннее пространство комнаты можно осветлять, поскольку это та часть средней освещенности, которая, в основном, влияет на яркостный вид изображения; и наоборот, при гашении устройства отображения, поскольку пользователь воспринимает его, например, чрезмерно ярким). Только эту перезаписанную часть нужно будет обрабатывать иначе, но если это очень трудно и критично, вероятно, в любом случае, потребуется сложная обработка визуализация. Поэтому автору контента принадлежит решающее слово в отношении того, например, что осветлять и как осветлять, поскольку осветление не должно быть простым смещением или умножением, но может быть сложной стратегией балансировки яркостей подобластей (например, ограничением процента пикселей до белого), которая обычно является интеллектуальным в сценариях отображения с ограниченной палитрой, где современные алгоритмы могут приводить к артефактам.
Другое очень удобное использование зарезервированных порогов разграничения сегментов проиллюстрирован в домашней системе принимающей стороне на фиг. 6. Здесь телевизор 602 принимает сигнал SB, например, от телевизионной станции по радиоканалам. Он содержится в метаданных METB и коде(ах) указания настройки HDR SET_HDR, которые могут совместно передаваться по-разному (но обычно как метаданные в начале серии изображений), и указывает, как устройство отображения должно себя вести впоследствии. Интересующий код SET_HDR можно использовать для переключения между визуализацией с HDR и визуализацией с LDR, возврата, например, для экономии энергии, поскольку мы в данный момент осуществляем потоковую передачу, например, студийную новостную программу, которая не нуждается в максимальном количестве кинематографических эффектов HDR. Таким образом, между, например, коммерческим или кинофильмом до него и новостями, код SET_HDR “render_LDR” может передаваться (или совместно кодироваться в сохраненной видео-программе, например, на домашнем устройстве записи с жестким диском, или на интернет-сервере для хранения видео), и это означает, что, исходя из этого, устройство отображения с HDR будет визуализировать с максимальной яркостью белого, например, только 500 нит (хотя он имеет пиковую яркость 5000 нит). Теперь, в качестве вариантов осуществления раскрытого здесь изобретения, это легко делать, устанавливая значение серого дифференциатора областей gTR равным 255, и это означает, что все нижеприведенные значения яркости (т.е. все возможные значения яркости в 8-битовом изображении) нужно обрабатывать таким же отображением, которое может, например, храниться совместно с изображением, или заранее храниться в гамма-отображении устройства отображения, которое затем визуализирует все до максимум 500 нит. Например, можно использовать значение gTS, которое разделяет, какие серые будут визуализироваться, возможно, гаситься, и выше которого все серые могут обрезаться до относительно темного тусклого белого.
Теперь важно понимать, что существует две разновидности отображений/преобразований для применения к значениям яркости (или аналогичным методам кодирования, связанным с освещенностью).
Первая представляет собой простые математические “аппаратные” отображения, которые просто корректируют конкретные условия отображения и наблюдения. Например, если изображение кодировано для ЭЛТ (эталонного устройства отображения) с гаммой 2,2, но отображается на ЖКД с сигмоидальной функцией электрооптического переноса, устройство отображения само может использовать элементарную колориметрическую математику для ее коррекции, благодаря чему, ЖКД визуализирует изображение, как если бы это была эталонная ЭЛТ. Аналогично, можно, по большей части, оптимизировать характеристики сред наблюдения с помощью простой математики. Во-первых, конечно, при масштабировании до более темной визуализации, необходимо понижать эталонную яркость, связанную с кодированием изображения. Это уже, по большей части, реализовано отображением максимального значения кода (например, 255) в пиковую яркость визуализирующего устройства отображения. Однако его также можно усложнять, например, конкретный поддиапазон значений яркости изображения можно выделять конкретному диапазону визуализируемых яркостей устройства отображения. Но обычно также нужно применять гамма-коррекцию, с учетом, например, изменения контрастности в зависимости от яркости визуализируемого изображения и его окружения. Это дает довольно приемлемые результаты, если информационное наполнение диапазона освещенности (т.е. кодирование информации по различным поддиапазонам внешнего вида) в двух системах относительно аналогично, но все же отличается, когда диапазоны внешнего вида сильно различаются. Для перехода к гораздо более узкому динамическому диапазону, нужно решить, какие поддиапазоны все еще следует показывать с каким качеством, т.е. обычно, с какой внутриобъектной контрастностью и какой межобъектной контрастностью, и часто перекрывающиеся диапазоны генерируются алгоритмом отображения. Другой подход к этому еще труднее. При наличии только пары сжатых диапазонов объекта, трудно решить, где разместить их в диапазоне внешнего вида выходного HDR, не говоря уже о том, чтобы предложить новые значения яркости/внешнего вида. Еще труднее генерировать хорошее, естественное изображение с HDR из отображенного в LDR изображения, в котором диапазоны 8-битовой яркости объектов, отличающихся освещенностью сцены были неправильно закодированы, перекрывающиеся друг с другом (например, при имитации очень однородного освещения, уничтожающего полностью или в достаточной степени информацию освещение исходной сцены).
Все остальные преобразования значений серого (или, в общем случае, цветов) пикселей объекта, можно рассматривать как общие преобразования, которые могут быть локальными, а не глобальными, которые обычно осуществляет специалист (он даже может корректировать их, если вышеописанная простая математическая калибровка для другого сценария наблюдения недостаточно точна). Специалисты могут осуществлять очень сложные художественные сортировки, в которых они, например, изменяют разные значения яркости, присутствующие в облаках в изображении, чтобы гроза выглядела более зловещей. Альтернативно, они даже могут использовать эффект визуализации компьютерной графики, чтобы пучки световых лучей, выходящие из глаз робота, можно было представлять желаемыми значениями яркости/цветов пикселей. Для нашего рассмотрения проиллюстрируем два типичных сценариев. Все важное позиционирование в диапазоне яркости значений серого пикселей объекта (цветовая сортировка) произведено в оригинальном изображении с HDR (IM_MSTR_HDR, см. фиг. 4, которое может представлять собой, например, 16-битовое изображение с конкретным заданием гаммы), и изображение с LDR (Im_1) получается исключительно путем простых математических преобразований на этом оригинале HDR, например, гамма-функции, коэффициент гамма которой настраивается на основании таких характеристик, как гистограмма изображения с HDR, т.е. преобразование из HDR в LDR является всего лишь простым пригодным сдвигом значений серого (обычно в пределах небольших отклонений), таким образом, что вся информация содержится относительно точно, даже в другой стратегии кодирования. В этом случае окончательное изображение с HDR, подлежащее визуализации на устройстве отображения с HDR, можно получить из изображения с LDR путем применения этой стратегия обратного математического отображения. Альтернативно, сортировщик-человек 520 может получить изображение с LDR на основании дополнительно оптимально настроенной сортировке, начиная с оригинальной сортировки, закодированной в оригинальном изображении с HDR IM_MSTR_HDR (т.е. он, например, начинает с изображения [0,1,0], как будто оно имеет LDR, и свободно начинает преобразование, согласно своим колориметрическим предпочтениям). Т.е. в этом сценарии, присутствует кодирование как оптимального вида для систем визуализации с HDR в изображении с HDR IM_MSTR_HDR, так и другого оптимального вида для систем LDR, кодированных в отсортированном изображении с LDR (например, преимущественно, 8-битовом) Im_1. Хотя наши способы применимы к любому преобразованию цвета или яркости для объектов между первым и вторым определениями цветового пространства для цветов пикселей, обычно отличающимися битовой глубиной и/или назначенной пиковой яркостью устройства отображения (необходимо только, чтобы было хорошее отношение порядка между более яркими и более темными областями в по меньшей мере одном из представлений цветов/ операций кодирования изображения), мы сосредоточим нашу иллюстрацию на примере второго типа. Таким образом, сортировщик может задавать много точно настроенных отображений цветов, т.е. из общей функциональной форме из luma_in в luma_out (например, в качестве LUT) для различных подобъектов или областей изображения, которые в нашей стратегии будут преобразованы в последовательность (одно или более) значений серого дифференциаторов областей (gTS), ряд функций преобразования или алгоритмов, и обычно также одно или более правил привязки, связывающих получимые сегменты с преобразованиями, подлежащими применению (например, при наличии трех последовательных значений серого дифференциаторов областей, объекты ниже первого gTS1 можно сегментировать как “0”, выше gTS1 - как “1”, и затем, если второй gTS2 является более высоким значением, применимым к тому же набору объектов (т.е. тому же диапазону яркости), выше этого gTS2 будут сегменты “2”, но более низкие значения яркости уже принадлежат “1”. Если gTS2 является просто переопределением более темных и более ярких объектов, как в нашем пример очень темного объекта, вышеупомянутые пороговые значения яркости в обоих случаях будут задними планами сегмента “1”, но более низкие значения яркости будут сегментом “0”, соответственно, сегментом “2”. Если соотношения очевидны, никакие другие данные не нужно совместно кодировать, но обычно могут существовать некоторые дополнительные метаданные, поясняющие смысл значений серого дифференциаторов областей. Например, может быть достаточно просто задать тип значений серого дифференциаторов областей как “further_demarcation_in_same_luma_range” или “modified_demarcation” и т.д. Но для более сложных случаев, и действительно, поскольку требуется не так много дополнительных данных, кодер может выбирать всегда делать это подобным образом, можно просто совместно кодировать то, что нужно сделать для каждой ситуации, например, согласно правилам выделения значения сегмента. Например “если яркость <gTS1→объект/сегмент=0”, если “яркость>gTS2→сегмент=2”, и т.д. Таким образом, это предупреждение во избежание возможной неверной интерпретации, приводящей к неверному преобразованию.
Фиг. 3 демонстрирует один возможный преимущественный пример кодирования вышеописанных вариантов осуществления, согласно современным технологиям кодирования изображения, например, стандарту кодирования видеосигнала MPEG, в частности AVC или аналогичному.
Сначала можно поместить некоторые из метаданных в глобальный заголовок Gen_Im_HDR (для каждого изображения или, например, для первого изображения кадра изображений), что обычно полезно для преобладающих преобразований. Например, для простых кадров, здесь может быть достаточным кодировать первое отображение Glob_TM1, подлежащее применению к большинству изображений, и второе глобальное отображение Glob_TM2, подлежащее применению к некоторым, например, значительно более ярким областям. Первое отображение можно применять к нашей комнате, показанной на фиг. 1 (т.е. всему тому, что является задним планом, лестнице и очень темному объекту), и затем второе отображение можно применять для осветления/усиления окна из цветного стекла. Принимающая сторона быстро находит различие между этими двумя объектами по кодированному значению серого дифференциатора областей gTS_glob (обычно это окно будет иметь (гораздо) более высокие значения яркости в изображении с LDR Y-8b, чем остальной объект, но без этих метаданных, это может быть очень трудно автоматически определять). При повороте камеры в комнате, возможно, например, что окно из цветного стекла становится более ярким, поскольку через него проникает больше солнца. Это можно кодировать, постепенно изменяя Glob_TM2 и, возможно, gTS_glob для последовательных изображений в кадре. Это позволяет, например, сохранять кодирование окна из цветного стекла в изображении Y_8b одинаковым для последовательных изображений (например, с использованием наилучшего возможного выделения кода для сохранения максимального объема детализации в рисунках на цветном стекле), поскольку яркость окна можно усиливать, изменяя отображение Glob_TM2 (т.е. изменения освещения заключаются в функциональном преобразовании, а не в кодировании цветов пикселизованной текстуры). Затем некоторое количество блоков пиксельных данных кодируется, например, посредством DCT. Если глобального кодирования достаточно для всего изображения, то все пиксельные данные следуют за этим глобальным заголовком, до конца кадра, или даже отрывка кинофильма. Однако в этом примере предполагается более сложный сценарий, где в каком-то месте изображения, начиная до конкретного блока (i-1, j-2), нужно начинать локальные преобразования. Таким образом, обычно можно по-прежнему использовать какое-то знание глобального преобразования как уже кодированное в Glob_TM1 и т.д., например, для преобразования пикселей заднего плана обоев, но приходится осуществлять новое преобразование для по меньшей мере одного локального нового объекта. Таким образом, часть стратегии преобразования будет локально переопределена, например, перезаписана. В этом примере локальные метаданные Loc_MET_1 содержат новую стратегию для разграничения более ярких частей выше gTS_L_loc_1, например, ввиду наличия еще более яркого объекта, в частности, источника света. Кроме того, значение серого дифференциатора областей для определения одного или более темных объектов gTS_D_loc_1 совместно кодируется. В примере, светлый объект все еще достаточно преобразовывать с помощью доступного в настоящее время и применимого преобразования для ярких областей, но новое отображение Loc_TM_DK кодируется для преобразования темных объектов (например, здесь, впервые встречается лестница, и нам уже известно, как преобразовывать окно и обои, но не темную лестницу). Пример правила привязки преобразования LnkRL_1 также совместно кодируется, причем правило утверждает, что значения яркости ниже значения серого дифференциатора областей gTS_D_loc_1 темного объекта должны отображаться с помощью преобразования для лестницы Loc_TM_DK.
Этой информации, опять же, достаточно для ряда последовательных блоков (или, в общем случае, общий заданной формы), содержащих задний план или лестницу, вплоть до блока (i+2, j), где нужно кодировать значение серого дифференциатора областей gTS_D_loc_2, позволяющее сегментировать очень темный объект, и его стратегию отображения Loc_TM_DK_2. DAT_TM дает порядок данных, например, пространственный (или временной в передаче) порядок блоков вдоль пути сканирования, что общеизвестно из кодирования изображения.
Хотя мы описали только распределенный пример, мы также намерены охватить системы, в которых метаданные физически отделены от данных пиксельных блоков, но могут быть связаны с конкретными позициями блоков. Хотя некоторые структуры кодирования видеосигнала могут полностью охватывать вышеприведенный пример (поскольку они имеют на месте заранее выделенные или общие, для использования по желанию, заполнители памяти метаданных, другие структуры кодирования видеосигнала могу не иметь достаточной памяти метаданных для хранения всего, или утрачивают обратную совместимость, приводя в замешательство более старые системы, если некоторые данные записывается в распределенном режиме. Поэтому другие эквивалентные реализации могут кодировать все метаданные (gTS и т.д.) в отдельной части сигнала (например, в начале кинофильма на диске, или с регулярными интервалами в ходе широковещания и т.д.), и затем делать эти данные связываемыми посредством кода геометрического связывания с конкретными блоками или другими областями. С этой целью проще всего записывать номер блока (и, возможно, также номер изображения, номер кинофильма/контента и т.д.) после данных, например: “gTS1=230/ImageNr/TimeCode=2541, Block_loc=(X=20, Y=12)”. Эта отдельная часть метаданных может располагаться даже, например, в другом сигнале, и подаваться через другое средство, например, кинофильм загружается в проигрыватель на диске blu-ray, а метаданные, “поясняющие” его, например, значение(я) серого дифференциатора областей извлекаются из сетевого хранилища (например, специализированной службы, позволяющей улучшить визуализацию с HDR), например, через интернет.
На Фиг. 4 показано, как обычно выглядит сегментирование, и в этот примере мы также объясним, как, например, окно из цветного стекла можно разделить на подобласти, что было бы полезно, например, если нижняя часть освещена менее ярко, например, вследствие того, что части внешнего пространства частично блокируют свет. В этом случае получится новый тип сегмента SEGM_TYP_2, например, сегмент=“5”. Теперь понятно, как правила сегментирования путем простого сравнения с оптимально определенными значениями серого дифференциаторов областей позволяют легко генерировать объекты той или иной освещенности (обычно по-разному освещенные в сцене с HDR), которые можно точно сегментировать, независимо их соотношения с блоками. Это позволяет кодировать все остальные полезные данные, например, подлежащие в данный момент использованию отображения, на основе блоков, тогда как результаты по-прежнему применяются с точностью до объекта, т.е. без образования каких-либо ореолов или артефактов блочности и т.д.
Хотелось бы сказать чуть больше о значениях gTS. Мы уже упоминали, что их можно задавать независимо от того, какое техническое кодирование яркости используется, например, можно использовать значения яркости gTS в цветовом пространстве YCrCb с гаммой 2,2, или значения дифференциатора яркость Y в кодировании цветов изображения XYZ и т.д. Остается интересный вопрос, заданы ли значения gTS в эталонном цветовом пространстве первого или второго изображения, например, начального или окончательного изображения. В случае использования отображенного представления LDR для кодирования сорта HDR оригинала, можно восстановить это изображение с HDR посредством отображения повышающего масштабирования по яркости из этого изображения с LDR. Таким образом, имеет смысл задавать значения gTS по оси яркости кодирования изображения с LDR, хотя, в принципе, в обычных ситуациях можно также указывать их по оси яркости HDR, поскольку посредством обращения функций отображения для восстановления HDR эти значения gTS на основе HDR можно преобразовывать в эквивалентные значения gTS на основе LDR. Обычно метаданные в начале кодирования видеосигнала указывают, какое определение применимо. Теперь рассмотрим более подробно, что может происходить в некоторых сценариях со значениями gTS на основе LDR. В принципе, можно иметь отображение из HDR оригинала во второе изображение с LDR, которое (немного) перекрывает гистограммы яркости областей, которые в исходном изображении с HDR были отдельными (например, некоторые из более темных частей лестницы могут получать значения яркости в LDR, которые также возникают в очень темном объекте). Затем можно указать дифференциатор gTS на середине перекрывающихся хвостов гистограмм или в лучшей позиции яркости. Хотя, в принципе, могут возникать вопросы при повышающем масштабировании, это не должно быть проблемой для нескольких стратегий отображения, в частности, если они ведут себя относительно гладко в окрестности перекрытия (т.е. не усиливают межпиксельную контрастность). Однако далее мы ограничимся системами, которые нормально должны иметь отдельные гистограммы в изображении с LDR и с HDR. Различные варианты осуществления устройства можно ограничивать с учетом этого ограничения, например, ограничивая выбор отображения HDR в LDR, которое может выбирать сортировщик, и т.д. это будет легко сделать для операций кодирования без сжатия (подразумевая психовизуальное пространственное сжатие наподобие частотных методов, например DCT, но не сжатие поддиапазона яркости). Для операций кодирования со сжатием нужно быть чуть более внимательными в вопросах, например, шахматных структур из неполного DCT-кодирования. Хотя на практике такая необходимость не всегда является проблемой, иногда артефакт может оказываться более визуально заметным, например, выглядя как более зашумленная область. В частности, это может случаться, если в исходном несжатом LDR гистограммы лестницы и заднего плана были отдельными (возможно, касающимися или между ними находились какие-либо неиспользуемые коды), но после разложения на основе DCT, восстановленные сигналы будут иметь некоторые более темные шахматные пятна на фоне более яркого окружения, которые попадают в поддиапазон, выделенный для более темной лестницы. При наличии также кривой отображения тона, которая серьезно растягивается вдоль этого значения gTS между лестницей и задним планом (например, прерывистой функции с большим смещением между двумя частями отображения тона), может случиться так, что эти пятна станут значительно более темными на заднем плане, по крайней мере, вблизи лестницы. В различных вариантах осуществления устройства (или способа) это может быть предусмотрено по-разному, и, в частности, пользовательский интерфейс может предлагать сортировщик разные пути взаимодействия с поведением кодирование и его указания. Во-первых, он может сделать кривую отображения тона менее крутой, и устройство может либо первоначально предложить ему выбор только менее крутых отображений, или может итерационно (в по меньшей мере одной итерации) корректировать их, предлагая сортировщику повторно задать отображения только для областей, где, по его мнению, артефакт слишком заметен. Кроме того, отображение может предусматривать некоторые резервные коды. В частности, такое поведение легко задать двумя значениями gTS. Фиг. 7 схематически демонстрирует такой сценарий. На этом графике Luma_in представляют значения яркости изображения с HDR, и luma_out их соответствующее кодирование LDR, которое передается через традиционный кодер MPEG, например, в изображение с HDR, яркие области состоят из значений яркости/яркостей, сильно отличающихся от соответствующих величин для темных областей, что демонстрирует их разделение вдоль оси luma_in. Теоретически можно построить отображение, при котором они будут соприкасаться вдоль оси Luma_out (LDR), но сейчас мы строим отображение, которое оставляет между ними некоторый диапазон ProtRng пустых кодов. Этих кодов не должно быть в кодировании LDR, но после снятие сжатия методом DCT некоторые из более темных частей шахматных шаблонов могут оказываться в этом ProtRng. Однако декодер может распознавать это и удалять их из сигнала, например, ограничивая их самым низким значением Luma_out яркого диапазона, прежде чем выполнять повышающее масштабирование по яркости для восстановления изображения с HDR. Согласно этому принципу можно даже сузить этот защитный диапазон ProtRng, даже настолько, что некоторые коды после снятия сжатия методом DCT могут попадать в темный диапазон изображения с LDR и отображаться (возможно, на удалении от яркого диапазона в изображении с HDR) путем обращения отображения темного MapDrk вместо правильного отображения для этих пикселей, а именно, отображения яркого MpBrght. Однако такие артефакты DCT обычно имеют структуру, которая проходит через пару промежуточных значений к наиболее темным пятнам в шахматной доске. Поэтому декодер может, например, обнаруживать из этих некоторых неверных значений в блоке, что может существовать потенциальная проблема, и изменять, после снятия сжатия методом DCT, но до повышающего масштабирования по яркости, такие значения до значений в ярком диапазоне изображения с LDR, даже если эти пиксели фактически являются пикселями из темного объекта, просто на всякий случай (немного неверный HDR-эффект, но и без сильного потенциального артефакта). Кодер может использовать зарезервированный код для этого “ограничение диапазоном” (0 или 1), для указания, нужно ли применять его к блоку, или его надо оставить в покое и просто применить повышающее масштабирование, и сортировщик может указывать проблемные блоки, например, кликая по ним мышью или прочесывая соединенный набор проблемных блоков. Хотя декодер может не знать разности, кодер может, на основании исходного сигнала и всей информации, определить, может ли возникнуть такая проблема, поэтому может существовать псевдоцветовой режим, позволяющий сортировщику переключаться между неверными пикселями, показанными например ярким насыщенным красным цветом, в отличие от их фактического цвета, после (неверной) реконструкции изображения с HDR. Доступны также несколько других (интерактивных) вариантов, например, кодер может использовать больше кодовых слов DCT для блоков, которые сортировщик выбрал в качестве проблемных, или, напротив, меньше блоков DCT, благодаря чему, частотная ошибка снижается, но шаблоны быстрых шахмат удаляются в случае, если это дает лучший окончательный внешний вид. Или, например, можно вносить малое изменение в исходные данные или коэффициенты DCT, например, к блоку LDR можно применять противошаблон до применения DCT-кодирования, из-за чего, самые низкие шахматные значения больше не попадают в темный диапазон LDR, и т.д.
Фиг. 5 демонстрирует пример возможного устройства 510 сортировки на стороне создания контента, управляемого сортировщиком 520 (специалисту в данной области техники понятно, как реализации одного и того же варианта осуществления нашего изобретения будут применяться, например, в устройстве автоматического перекодирования на основе математической колориметрии, или любая другая реализация).
В состав устройства 510 сортировки входит кодер 549 изображений для кодирования изображения сцены с высоким динамическим диапазоном, причем это изображение может быть захвачено ранее, например, системой камеры на основе целлулоидной пленки или цифровой электроники, и в него могут быть добавлены особые эффекты, и которое, в случае видеосъемки, может представлять собой изображение в последовательности окончательного временного состава. Кодер изображений (который, для простоты, будем представлять в виде блока наподобие ИС, но может представлять собой комплект программного обеспечения, некоторые компоненты которого могут выполняться даже на удаленном сервере и т.д.) обычно содержит различные подкомпоненты (обычно действующие под управлением программного обеспечения, что позволяет сортировщику выбирать параметры), и обычно содержит некоторую разновидность блока 552 кодирования пиксельной текстуры, который выполнен с возможностью кодирования цветов пикселей изображения согласно конкретному заданному представлению изображения (Im_1), например, значениями яркости N-битовых кодовых слов, например, 8-битовых или 10-битовых или 12-битовых кодовых слов, и операций кодирования цветности, например, Y_Cr и Y_Cb. Поскольку уже существует несколько разновидностей кодирования, например, VC1, VP8 и аналогичные операции кодирования наподобие MPEG, и даже менее популярные фрактальные кодеры, нет нужды дополнительно пояснять этот аспект.
Однако в состав также входит блок 550 анализа изображения, который может применять более простой или более сложный анализ изображения. В таких профессиональных устройствах сортировки, показанных в примере, обычно доступно много программно реализованных алгоритмов, дающих сортировщику почти полный контроль над изображением, как с целью изучения его свойств и состава, так и с целью его произвольного изменения. Он, например, может использовать пипетку для взятия пробы конкретного цвета (и затем может задавать на основании этого отобранного цвета пикселя типичный “цвет объекта”, например, выбирая надлежащие колориметрические границы вокруг отобранного цвета), или смотреть на формы волны сигнала, или гистограммы, или другие представления областей (например, система может отображать поддиапазоны яркости поверх области, например, посредством псевдоцветов). Он может, например (временно) осветлять конкретную область, чтобы более отчетливо визуально обследовать ее текстуру на одном или более из эталонных устройств отображения 530. Обычно он может применять некоторое количество операций обработки изображения, например, повышение резкости области или применение эффекта освещения или другого эффекта. Он может выделять объект, рисуя границу вокруг него с помощью лассо и т.д.
Обычно, блок анализа изображения, по меньшей мере, преобразует объект в значение серого (gTS) дифференциатора областей или, другими словами, связывает с объектом по меньшей мере одно определенное соответствующее gTS. Он может, например, определять гистограмму выбранной области объект и определять, что минимальное значение яркости, которое она содержит, выше яркости окружающей области, например, всего изображения. Можно предусмотреть интерактивное манипулирование, например, сортировщик может сначала осветлить область, благодаря чему, теперь ее новое минимальное значение выше наивысшего значения в остальном изображении или его соответствующей части, геометрически связанной с объектом (например, ограничивающей объект).
Это значение серого gTS дифференциатора областей выводится на форматер 554, который может (опять же, следуя правилам некоторого стандарта кодирования изображения, традиционного или нового) совместно кодировать в выходном сигнале (S(Im_1, MET(gTS)) изображения представление (Im_1) изображения и значение серого (gTS) дифференциатора областей, причем последнее обычно в заранее согласованном текстовом формате метаданных. Например, этот сигнал изображения может записываться на диске Blu-ray 511 или сохраняться в некоторой другой памяти, например, на диске сетевого сервера или твердотельной памяти, или сигнал изображения может передаваться в реальном времени по соединению для передачи сигнала и т.д. Специалисту в данной области техники очевидно, что, хотя мы описали эти функциональные возможности в настоящий физической конструкции, возможны и другие реализации.
Обычно при сортировке на устройстве сортировки сортировщик одновременно использует свой блок 553 определения отображения яркости для определения отображения яркости (TOM) для, по меньшей мере, некоторых из объектов (другие объекты, конечно, также имеют преобразование, возможно, тождественное преобразование, но это преобразование может быть, например, преобразованием по умолчанию, например, заранее заданным или выбранным визуализирующим устройством отображения и т.д.). Он задает отображение между значениями яркости пикселей, закодированными в первом представлении изображения (например, входном изображении с HDR Y_16b) и значениями яркости пикселей во втором представлении изображения (например, в изображении с LDR Im_1), или наоборот. Блок 553 определения отображения яркости может самостоятельно математически определять функцию отображения, например, предлагая ее в качестве начального предложения сортировщику, рассматривая различные визуальные свойства области, например, изображения с HDR, и как их можно все же разумно представить в кодировании LDR. Это может приводить к применению, например, сигмоидального или многосегментного отображения, с изгибами колен и плеч, например, определенными путем изоляции конкретных поддолей глобальной гистограммы, или восприятия изображения, например, распознавания лиц, или любой их разновидности. Затем сортировщик может осуществлять тонкую настройку этой функции, например, сдвигая или изгибая плечо сигмоида. Согласно нашему способу, он может делать это в отношении значений gTS. Например, устройство сортировки может заранее задавать важное значение серого (например, 999), которое может быть контрольной точкой, например, для части кривой многосегментного отображения, но тогда сортировщик может улучшить эту точку, например, сдвинув его таким образом, что более релевантный участок объекта, например лестница, теперь преобразуется частичным отображением яркости(/тона). Далее проиллюстрируем некоторые аспекты на примере, приведенном на фиг. 8. Как уже упомянуто, наш способ можно использовать лишь в способе кодирования, в котором, например, изображение с HDR нужно кодировать посредством кодированного, традиционного пригодного изображения с LDR (контейнер LDR). В этой ситуации обычно будут только некоторые фиксированные функции для отображения между двумя изображениями. Однако, со ссылкой фиг. 8, будет описано, как наша система может использоваться со значениями gTS в дополнительном сценарии регулируемости устройства отображения, где дополнительные сорта определяются для разных устройств отображения, была ли эта информация уже отсортирована (т.е. сортировщик, по меньшей мере, проверял, как такие преобразования выглядели бы на паре очень разных эталонных устройств отображения, например, HDR, суб-LDR с малым динамическим диапазоном) и кодирована в сигнале изображения, обычно, в виде различных функций, подлежащих применению к одному или более текстурным изображениям (Im_1), или существовали ли только данные, кодированные для хорошо выглядящего сорта HDR и, может быть, хорошего сорта LDR, и на визуализирующей стороне система отображения (например, устройство отображения, или компьютер) определяет, на основании этих данных и наших значений gTS, по меньшей мере, еще один сорт, например, для устройства отображения со средним динамическим диапазоном MDR. На этом графике, используется окончательное представление яркости, которое является абсолютным. Luminance_in может представлять собой входной сигнал, заданный, как он выглядел бы, например, на некотором эталонном устройстве отображения, и luminance_out может представлять собой выходные визуализируемые яркости на различных фактических устройствах отображениях, отличающихся яркостными возможностями. Предположим, что объекты более низкой яркости, по большей части, правильно кодируются и поэтому визуализируются, поэтому оба устройства отображения (Dis1, Dis2) будут использовать одно и то же отображение тона TM_FDrk, которое может быть тождественным преобразованием, или некоторым растяжением контрастности. Теперь выше gTSh1 начинаются яркие области в изображении, и существуют две яркие области (например, освещенные путем установки солнца до gTSh2, и освещенные сильным освещением стадиона выше gTSh2). Устройство отображения 1 может иметь очень высокую пиковую яркость, поэтому имеется много места для выделения его ярких поддиапазонов различным визуальным классам освещение. Первое отображение тона при обработке яркостей TM_TBri1_Dis1 может, для этого яркого устройства отображения, значительно растягивать исходные данные, благодаря чему, эта область выглядит приятно яркой и контрастной. Второе отображение тона при обработке яркостей TM_TBri2_Dis1 может даже смещать эту область к очень высоким визуализируемым яркостями, благодаря чему, эта область визуально очень отличается от освещенной солнцем части, например, освещение стадиона действительно выглядит очень грубым. Это различение легко осуществлять на основании значений gTS (например, в примере этого линейного отображения они могут даже параметризовать функцию отображения). Для устройства отображения с меньшей пиковой яркостью, например, компьютер, определяющий окончательное отображение, может делать что-то еще для различных областей, определенных значениями gTS. Например, он может обрабатывать более низкие яркости менее контрастной функцией отображения TM_Bri1_Dis2, благодаря чему остается некоторое место для областей, освещенных стадионным освещением, которые, однако, подлежат мягкому ограничению функцией TM-Bri2_Dis2.
Это отображение яркости (TOM), наконец, совместно кодируется в выходной сигнал изображения (S(Im_1, MET(gTS), TOM) форматером 554, согласно согласованным спецификациям, задающим сигнал изображения. Опять же, такое отображение, в принципе, может отображать из использующего то или иное первое кодирование цветов указания, определяющего то или иное первое изображение для того или иного первого эталонного устройства отображения (в частности, с тем или иным выходным динамическим диапазоном яркости) в, аналогично, то или иное кодирование второго изображения (в частности, с более высокой или более низкой пиковой яркостью, меньшим или большим динамическим диапазоном и т.д.), при условии, что оно отчетливо указано и согласовано с принимающей стороной.
Обычно кодер 549 изображений, который, согласно принципам варианта осуществления, выполнен с возможностью совместного кодирования интеллектуально выбранного(ых) значения(ий) серого дифференциатора областей (gTS), полезен для отделения областей средней яркости от областей высокой яркости, т.е., например, части гистограммы яркости ниже определенного процентиля, и процент наивысших значений, особенно, разделенных неиспользуемыми кодами (или аналогичное определение на основании визуализируемых яркостей). Следовательно, это очень полезно для сцены с кодированием HDR, в том или ином формате/цветовом пространстве изображение будет окончательно кодироваться в по меньшей мере одной версии (например, Y_8b или Y_10b, или Y_16b, и дополнительных определениях, например, назначенной яркости белого, черного, кривой гамма-распределения и т.д.), поскольку эти сцены с HDR обычно не имеют аналогичных яркостей объектов сцены, и, следовательно, после захвата камерой значений изображения яркости ввиду используемого светорежиссерами однородного освещения, как при производстве LDR, но зато они имеют очень разные области освещения. И значения gTS могут надлежащим образом характеризовать их.
Итак, сортировщик, в основном, просто применяет к изображению(ям) свои классические операции, например, выбор объекта, задавая оптимальные кривые отображения для разных частей (типичных поддиапазонов яркости) этого объекта и т.д., и кодер 549 переводит их в параметры вариантов осуществления этого изобретения, например, значения серого gTS дифференциаторов областей.
Мы проиллюстрировали изобретение на фиг. 5 на примере системы производства контента для домашнего развлечения, например, имеющей доступ к видеосервера 580 через соединение 581, который содержит файлы видео, например, сортировку оригинала HDR IM_MSTR_HDR, например, какого-либо кинофильма или телешоу, которая была создана во время создания кинофильма или шоу, которая является окончательной эталонной сортировкой. Затем она преобразуется в сортировку домашнего кинотеатра для выпуска домашней версии, кодируемую, например, как 8-битовое изображение MPEG-AVC Im_1, и метаданные согласно любому из представленных вариантов осуществления. Конечно, кодер также может быть включен в состав другой системы, устройства или сценария использования, например, для определения одного или более сортов оригинала непосредственно из первичный сигнала камеры от камеры 501 по (например, беспроводному) соединению 505 для передачи изображений/видео, или для воссоздания оригинала, и т.д.
На фиг. 6 показан один возможный вариант осуществления системы принимающей стороны, а именно, система визуализации изображений или видео для домашнего пользования. Телевизор 602 может непосредственно принимать первое видеосигнал (или изображение) SB(Im_1, MET), например, по радиоканалам. Этот пример подачи видео уже объяснен выше, и использует значения серого дифференциаторов областей между сериями изображений (обычно, при переходе от одного контента к другому, или частями программы, например, сообщениями в новостной программе), которые либо должны визуализироваться кинематографически, с высокой яркостью и точностью HDR (т.е. также для точного выделения на оси выходной яркости нескольких объектов, определяющего внешний вид изображения), либо должны проходить (вблизи LDR) с пониженной яркостью (и мощностью). Также может существовать устройство 601 обработки видео (например, телеприставка или ПК), которое может получать свой видеосигнал через одно или более интернет-соединений (I_net). Например, сервер youtube или аналогичный ему может выдавать сигнал HDR, который, предпочтительно, просто кодируется и, вместе с тем, используется универсальным образом для разнообразных возможных визуализирующих устройств отображения (так называемый критерий “регулируемости устройства отображения”). Помимо, например, кодирования Y_8b Im_1 сигнала HDR, он содержит одно или более из метаданных упомянутого варианта осуществления и, например, также индикатор обработки PROC_IND, который указывает, как это изображение Im_1 можно обрабатывать, например, для получения версии изображения с HDR. Например, он может указывать, что принимающая сторона может использовать несколько стратегий преобразования цвета/яркости, например, посредством индикатора наподобие “receiver_determines_optimal_mapping”. В этом случае принимающее устройство, например, телеприставка или телевизор может сам определять необходимость применения первого отображения, например, если наблюдатель включил источники света в своей комнате для просмотра, и второе отображение, если источники света отключены. Фактически, разрешенная обработка может задаваться в отношении допусков или изменений восприятия, например, устройству визуализирующей стороны может быть разрешено применять к сорту гамма-функцию до 1.2, но не сильнее, например, если устройство отображения имеет пиковую яркость в диапазоне яркости этого эталонного устройства отображения (например, сорт можно определять для эталонного устройства отображения с яркостью 700 нит, и допускает небольшие изменения, если фактическое устройство отображения отличается от него в пределах 50%, т.е. имеет пиковую яркость от 350 до 1050 нит). Индикатор обработки также может указывать, что можно использовать только одно или одно из пары конкретно определенных преобразований и т.д. Индикатор может иметь переменное определение, которое может усложняться, например, может содержать подробные предписания для управления пользовательским интерфейсом, предлагающего наблюдателю варианты выбора для обеспечения оптимального вида кинофильма (дающего ему некоторые одобренные автором варианты оптимизации, например, пару способов улучшить темные, делая их более красочными, но несколько затушевывая настроение изображения), по желанию автора контента (например, ручную калибровку с помощью выбранных поднаборов изображений) и т.д. Обычно имеют место сценарии возврата, поскольку все, в конце концов, находится под управлением наблюдателя, эти предписания можно игнорировать или отклонять, но настоящие варианты осуществления допускают высокую степень универсальности, например, автор контента может указывать, как его контент нужно визуализировать в окончательных условиях визуализации (будь то дома, в кинотеатре, вне помещения, на профессиональном устройстве отображения, например, на стадионе, и т.д.).
Декодер 605 изображений обычно содержит несколько из следующих блоков. Блок 608 декодирования пиксельной текстуры должен быть выполнен с возможностью осуществлять любую математику, необходимую для декодирования входные сигналы изображения, которые можно кодировать согласно многим стандартам, так, может выполняться, например, программное обеспечение, которое может обновляться в случае выпуска нового вейвлетного кодера. Конечно, осуществляется распаковка и, возможно, демодуляция сигнала и т.д. (что обычно осуществляется деформатером 607, совместно с извлечением и, возможно, декодированием также метаданных, например, значения(й) серого дифференциатора областей), но блок 608 декодирования пиксельной текстуры способен осуществлять, например, арифметическое декодирование, декодирование на основе обратного DCT и т.д., как и все компоненты в стандартах MPEG-visual и т.п. Блок 606 сегментирования изображения осуществляет сегментирование, и, как сказано, это можно легко делать посредством порогового ограничения от значений gTS, но также могут поддерживаться более сложные стратегии сегментирования. Затем блок 609 преобразования цветов пикселей осуществляет отображение, по меньшей мере, значений яркости пикселей, которое может быть столь же простым, как повторное кодирование, например, выходное значение функции PD_BLCK(i+2, j), принадлежащее пиксельному значению яркости именно этого пикселя Im_1 в качестве входного значения (Luma_in). Это выходное значение записывается в выходное изображение с HDR IM_RC_HDR в этом положении пикселя. Это изображение может передаваться по соединению 688 на телевизор (например, для непосредственного возбуждения или дополнительной обработки блоком 620 обработки изображений в телевизоре или в общем устройстве отображения, который также способен осуществлять цветовые преобразования).
Можно предусмотреть промежуточное изображение IM_INTRM, и хотя это может быть любое эталонное представление, мы здесь предполагаем, для простоты объяснения, что это изображение с 8-битовой яркостью (также с 8-битовыми словами для представлений двух цветовых каналов). Если входное представление изображения Im_1 не является сжатым (например, методом DCT), то это может быть простая копия Im_1, и в противном случае, это обычно дает изображение из снятия сжатия.
Система также демонстрирует домашнее сетевое распространение видео через средство установления сетевой линии связи, например антенну 699, на портативное устройство отображения 630 (например, IPAD, которое наблюдатель использует для продолжения просмотра телевизионной программы в кровати, находящейся в спальне). Это хорошо демонстрирует универсальность вариантов осуществления, поскольку устройство 601 может оптимально подготавливать другой сигнал IM_RC_MDR изображения для этого устройства, которое может иметь, например, только средний динамический диапазон, между LDR (который, согласно нашему определению, ограничивается пиковой яркостью приблизительно более 750 нит) и HDR высокого качества, который начинается, например, с 2500 нит. Затем изображение с MDR можно кодировать в IM_RC_MDR с использованием даже того же Im_1 для пиксельных текстур и того/тех же значения(й) серого дифференциатора областей, но измененных функций отображения для отображения в другой диапазон визуализируемых выходных яркостей устройства отображения.
Настоящие варианты осуществления также позволяют улучшить интерактивность пользовательского интерфейса на визуализирующей стороне, поскольку наблюдатель может, например, параметрически настраивать свои функции отображения. Например, осветление очень темного объекта можно осуществлять, просто регулируя наклон функции PD_BLCK(i+2, j). Интеллектуальные алгоритмы могут применять скоординированные изменения яркости ко всем объектам в изображении(ях) в эстетическом синхронизме при касании единственной кнопки (обеспечивающей, например, интеллектуальную функцию яркости), но можно также обеспечить управление различными объектами, предлагая более сложный пользовательский интерфейс. Например, при просмотре телевизора, пользователь может использовать свое портативное устройство отображения 630 в качестве пульта дистанционного управления, и иметь копию изображения, отображаемого на телевизоре, на устройстве отображения этого пульта дистанционного управления, где различные значимые объекты уже заранее выбраны способами значения серого дифференциатора областей. Затем наблюдатель может быстро, произведя пару изменений (например, с помощью некоторых ползунков, всплывающих поверх объектов) указать свою предпочтительную визуализацию на одном или паре изображений (например, в начале кинофильма, в некоторых важных характерных сценах, или в режиме паузы, текущем изображении для этой воспроизводимой сцены). Кнопка отката позволяет восстановить ситуацию и т.д. Искусственный интеллект можно использовать для вывода предпочтений наблюдателя на основании его действий, даже путем сохранения особенностей для несвязанных программ, воспроизводимых в самое разно время, например, в разные дни. Таким образом, система может придти к выводу, что наблюдателю нравятся его черные абсолютно черными или, напротив, осветленными, и затем применять это знание к другим изображениям.
Алгоритмические компоненты, раскрытые в этом тексте, можно (полностью или частично) реализовать на практике в виде аппаратного обеспечения (например, частей специализированной ИС) или в виде программного обеспечения, выполняющегося на особом цифровом сигнальном процессоре или универсальном процессоре и т.д. Они могут быть полуавтоматическими в том смысле, что может присутствовать/присутствует, по меньшей мере, какой-либо пользовательский ввод (например, в заводских условиях или потребительский ввод или другой ввод, совершенный человеком).
Из нашего представления специалист в данной области техники должен понять, какие компоненты можно в необязательном порядке усовершенствовать и реализовать в сочетании с другими компонентами, и как (необязательные) этапы способов соответствуют соответствующему средству устройств и наоборот. Тот факт, что некоторые компоненты раскрыты в изобретении в определенном соотношении (например, на одном чертеже в определенной конфигурации), не означает, что другие конфигурации нельзя предложить в качестве возможных вариантов осуществления согласно той же изобретательской мысли, которая раскрыта здесь для патентования. Кроме того, тот факт, что по прагматическим причинам описан лишь ограниченный круг примеров, не означает, что другие варианты не могут быть включены в объем формулы изобретения. Фактически, компоненты изобретения можно реализовать различных разновидностях вдоль любой цепи использования, например, все разновидности стороны создания, например кодер, может быть аналогичен или соответствовать соответствующим устройствам на потребительской стороне разобранной системы, например декодеру, и наоборот. Несколько компонентов вариантов осуществления можно кодировать как данные конкретного сигнала в сигнале для передачи, или дальнейшее использование, например координацию, в любой технологии передачи между кодером и декодером и т.д. Слово “устройство” в этой заявке используется в самом широком смысле, а именно, как группа средств, позволяющих выполнить конкретную задачу, и, следовательно, может быть, например, ИС (ее малой частью), или специализированным приспособлением (например, приспособлением с устройством отображения) или частью сетевой системы и т.д. Слова “компоновка” или “система” также подлежат использованию в самом широком смысле, поэтому она может содержать, помимо прочего, единое физическое, продажное устройство, часть устройства, совокупность (частей) взаимодействующих устройств и т.д.
Термин "компьютерный программный продукт" призван охватывать любую физическую реализацию совокупности команд, позволяющих процессору общего или специального назначения, после нескольких этапов загрузки (которые могут включать в себя промежуточные этапы преобразования, например, перевод на промежуточный язык и окончательный язык процессора), вводить команды в процессор, для выполнения любой из характерных функций изобретения. В частности, компьютерный программный продукт можно реализовать в виде данных на носителе, например, диске или ленте, данных, присутствующих в памяти, данных, распространяющихся через сетевое соединение, проводное или беспроводное, или программного кода на бумаге. Помимо программного кода, характерные данные, необходимые для программы, также можно реализовать в виде компьютерного программного продукта. Такие данные можно (частично) подавать тем или иным образом.
Изобретение или любые данные, используемые согласно любой философии настоящих вариантов осуществления, например видеоданные, также можно реализовать в виде сигналов на носителей данных, которыми могут быть сменные блоки памяти, например, оптические диски, блоки флеш-памяти, сменные жесткие диски, портативные устройства, допускающие запись через беспроводной средство, и т.д.
Некоторые из этапов, необходимых для работы любого представленного способа, могут уже присутствовать в функциональных возможностях процессора или любых вариантов осуществления устройства изобретения вместо описанных в компьютерном программном продукте или любом описанном здесь блоке, устройстве или способе (с особенностями вариантов осуществления изобретения), например, этапы ввода и вывода данных, общеизвестные, обычно включенные этапы обработки, например, стандартное возбуждение устройства отображения, и т.д. Желательно также защищать конечные продукты и аналогичные результаты, например, конкретные новые сигналы, предусмотренные на любом этапе из способов или в любой подчасти устройств, а также любых новых вариантов использования таких сигналов или любых связанных с ними способов.
Следует отметить, что вышеупомянутые варианты осуществления иллюстрируют, а не ограничивают изобретение. Когда специалисту в данной области техники легко понять отображение представленных примеров в другие области формулы изобретения, мы, для краткости, не рассматривали все эти варианты подробно. Помимо комбинаций элементов изобретения, объединенных в формуле изобретения, возможны другие комбинации элементов. Любую комбинацию элементов можно реализовать в едином специализированном элементе.
Никакие ссылочные позиции, заключенные в скобки в формуле изобретения не призваны ограничивать формулу изобретения, а также не является каким-то конкретным символом в чертежах. Слово “содержащий” не исключает наличия элементов или аспектов, не перечисленных в формуле изобретения. Употребление наименования элемента в единственном числе не исключает наличия нескольких таких элементов.