МНОГОДИАПАЗОННОЕ КОДИРОВАНИЕ ВИДЕО С РАСШИРЕННЫМ ДИНАМИЧЕСКИМ ДИАПАЗОНОМ
MULTIRANGE ENCODING OF VIDEO WITH EXPANDED DYNAMIC RANGE

ОБЛАСТЬ ТЕХНИКИ
Изобретение относится к способам и устройствам кодирования изображений с расширенным динамическим диапазоном и, в частности, видео, представляющего собой временные последовательности изображений, которые могут быть сжаты в соответствии с методами сжатия, такими как стандарт высокоэффективного кодирования видео (HEVC), разработанный экспертной группой по движущимся изображениям (MPEG) (например, телевизионные передачи), в частности, с использованием изображения (изображений) со вторым динамическим диапазоном (для передачи на декодер) с целью представления (основного) изображения (изображений) с первым динамическим диапазоном, изменение динамического диапазона которого предусматривает изменение светимостей пикселей изображения (например, от первого нормализованного до 1,0 значения до второго нормализованного до 1,0 значения) с помощью функций, подлежащих совместной передаче с изображением (изображениями) со вторым динамическим диапазоном, как правило, в виде метаданных.
УРОВЕНЬ ТЕХНИКИ
Около 5 лет назад были представлены новые методы кодирования видео с расширенным динамическим диапазоном (HDR) (приведшие, например, к появлению специальных дисков Blu-ray HDR, которые должны воспроизводиться на телевизорах «UltraHD Premium» на 1000 нит).
Этот новый способ технической обработки изображений во многих отношениях технически контрастирует с унаследованным кодированием видео, который до этого момента использовался для кодирования всех видео на протяжении последних 50 лет и который в настоящее время называется кодированием видео со стандартным динамическим диапазоном (SDR) (также известным как кодирование видео с узким динамическим диапазоном (LDR)). Для представления изображения необходимы кодированные в цифровом формате представления цветов пикселей, и функция определения кода яркости SDR (также известная как оптико-электрическая передаточная функция (OETF)) из рекомендации Rec. 709 могла кодировать (с использованием 8 или 10-битовых слов яркости) динамический диапазон светимостей только около 1000:1 вследствие ее формы, приблизительно похожей на функцию квадратного корня (яркость: Y = sqrt(Светимость L)). Однако это идеально подходило для кодирования изображений, подлежащих отображению на дисплеях того времени, которые обладают стандартными возможностями воспроизведения яркости (для всех дисплеев в то время) приблизительно от 0,1 до 100 нит, причем последнее значение представляет собой так называемую пиковую яркость (PB), также известную как максимальная светимость.
В силу того, что функция определения кода яркости из рекомендации Rec. 709 не может математически описывать огромный диапазон светимостей изображения HDR-сцены (например, от 0,001 нит до 10000 нит требуемой пиковой яркости PB_C кодирования изображения), исследователи HDR изначально решили эту проблему, разработав новое распределение HDR-кода, которое было гораздо более логарифмическим по форме, с тем чтобы можно было закодировать гораздо больше светимостей (поскольку зрительной системе требуется меньшая точность, т.е. меньшее количество кодовых значений для более ярких областей по сравнению с более темными областями, отсюда следует, что, распределяя, например, 50 кодов из 2^8 = 256 (где «^» обозначает степенную функцию) для каждой декады светимостей, уже можно кодировать динамический диапазон 100000:1). Это представляет собой простой «естественный» способ кодирования цветов HDR-изображения с использованием функции так называемого перцептивного квантователя (PQ), стандартизированного в SMPTE 2084.
Можно наивно полагать, что это все, что нужно для кодирования и декодирования HDR-изображений, но все не так просто; поэтому и появились дополнительные подходы к кодированию, в частности, ранее разработанный подход к кодированию и обработке HDR-видео, предложенный настоящим заявителем.
На ФИГ. 1 обобщены некоторые важные аспекты, позволяющие получить достаточное представление о том, что задействовано и необходимо при кодировании HDR-видео.
Предположим, что на левой стороне имеется диапазон светимостей всех возможных (PQ-декодированных) светимостей HDR вплоть до PB_C = 5000 нит. Предположим на мгновение, что для того, чтобы это изображение выглядело идеально, как требуется, все объектные пиксели того, что мы будем называть основным HDR-изображением, созданы на компьютере (как действовать, например, в случае с камерой вещательного телевидения пояснено ниже с помощью ФИГ. 2). Проблема с естественным HDR-кодеком (который просто предлагает технологию для кодирования светимостей вплоть до 10000 нит, т.е. вплоть до 5000 нит, как требуется в этом примере) заключается в том, что если потребитель также имеет дорогой дисплей с пиковой яркостью (PB_D) отображения 5000 нит (и если он просматривает изображение в стандартных условиях среды просмотра), он может смотреть видео в точности так, как задумал создатель (например, кинорежиссер), но если у него другой дисплей (например, с PB_D = 750 нит или PB_D = 100 нит), то имеется следующая нерешенная и также нетривиальная проблема: как отобразить изображение с PB_C 5000 нит на дисплее с PB_D 750 нит? Кажется, что эта проблема не имеет простого элегантного решения. Применение точного отображения светимости будет идеально отображать все объекты со светимостью вплоть до 750 нит, но при этом осекать все более яркие объектные пиксели до одной и той же PB_D = 750 нит, в результате чего многие объекты изображения окажутся в области белых пятен, что, конечно, не выглядит красиво. Можно подумать, что решением является линейное масштабирование "контента", или содержимого, (деление всех светимостей HDR на 5000/750, что является так называемым подходом к отображению «белого контента на белом дисплее»), но тогда более темные объекты, такие как человек в темной области пещеры в примере изображения ImSCN3 сцены со светимостями HDR (0,05 нит), которые также могут быть слишком низкими для дисплеев с меньшим динамическим диапазоном, приобретают не воспринимаемую низкую светимость на дисплее на 750 нит (0,05*750/5000 = 0,0075 нит).
На ФИГ. 1 также показано, что разные HDR-изображения разных типичных HDR-сцен могут иметь совершенно разные требования относительно того, как «сжимать» различные (по возможности, в «произвольных» положениях светимости в диапазоне DR_2 светимостей HDR) светимости HDR до гораздо меньших, например, динамического диапазона DR_1 светимостей LDR.
Светимости в реальном мире могут варьироваться, например, когда объекты в помещении и на открытом воздухе одновременно присутствуют на виде в отношении: контраст освещения (illumination_contrast) * контраст при отражении объектом (object_reflection_contrast) = (1:100)*(1:100), и хотя светимости на изображении, представляющем сцену, как правило, необязательно будут идентичны исходным светимостям сцены, для хорошего репрезентативного HDR-изображения можно было бы ожидать, что светимости пикселей могут достигать по меньшей мере 1000 нит, начиная с минимума, составляющего по меньшей мере 0,1 нит или меньше (следовательно, DR_im >= 10,000:1). Кроме того, хорошие HDR-изображения могут быть в большей степени связаны с умным распределением различных светимостей объектов по диапазону светимостей, чем с самим физическим динамическим диапазоном (не говоря уже о неправильном понимании того, что все определяется количеством битов - это не соответствует действительности для нелинейных функций определения кода яркости, поскольку 10-битовое изображение яркости может с таким же успехом быть как некоторым HDR-изображением, так и SDR-изображением).
На ФИГ. 1 показана пара типичных иллюстративных примеров множества возможных HDR-сцен, которые HDR-система будущего (например, подключенная к дисплею с PB_D 1000 нит), возможно, должна будет уметь правильно обрабатывать, в частности, посредством отображения подходящих светимостей для всех объектов/пикселей на изображении.
Например, ImSCN1 - это изображение освещенной солнцем сцены на открытом воздухе из вестерна (которое в основном содержит яркие области, ярче среднего, что соответствовало бы изображению тусклого дня, причем эти области в идеале должны воспроизводиться ярче, чем на дисплее на 100 нит, чтобы обеспечивать более солнечный вид, чем в дождливый день, например, со средней светимостью, скажем, 400 нит). ImSCN2, с другой стороны, представляет собой совершенно другой вид изображения, а именно изображение ночной сцены, на котором преобладают темные области (и, например, их хорошая видимость), причем то, что делает это изображение HDR-изображением, а не просто темным SDR-изображением, - это также наличие ярких пикселей в пятнах под уличными фонарями и, возможно, в освещенных окнах домов, и даже наличие очень ярких пикселей (например, 3000 нит) на поверхностях ламп уличных фонарей.
Что делает такое изображение ImSCN1 «солнечным» по сравнению с темным изображением ImSCN2? Необязательно относительные светимости, по меньшей мере, не в парадигме SDR (светимости пикселей будут во всем диапазоне от 0,1 до 100 нит, возможно, для обоих изображений, хотя пространственное распределение таких светимостей и, в частности, гистограмма могут отличаться). Что отличает воспроизведение HDR-изображения от того, каким оно всегда было в эпоху SDR, которая закончилась всего пару лет назад, так это то, что SDR представлял собой такой ограниченный динамический диапазон (около PB = 100 нит, и минимальный уровень черного MB приблизительно от 0,1 до 1 нит), и что в основном в SDR могли быть показаны только собственные отражательные способности объектов (которые находились бы в диапазоне от 90% для хорошего белого до 1% для хорошего черного). Это было бы хорошо для распознавания объектов (имеющих конкретную степень яркости вследствие их отражения и, конечно же, их цветности) при равномерном технически контролируемом освещении, однако в естественных сценах встречается не так много красивых вариаций в самом освещении, которые могут оказывать воздействие на зрителей (солнечный луч, выходящий из окна, или плазма, исходящая от ведьмы). Если это позволяет дисплей, а значит, и технология кодирования и обработки изображений, то можно было бы, прогуливаясь по лесу, действительно видеть, как солнце светит сквозь деревья, т.е. вместо просто несколько более желтоватой картины как на SDR-дисплее хотелось бы видеть яркую и разноцветную освещенную солнцем одежду, когда человек выходит из тени на солнце. И, по этой же причине, огонь и взрывы должны иметь оптимальное визуальное воздействие, по меньшей мере, насколько позволяет PB_D.
В SDR можно делать изображение ночной сцены несколько темнее, чем изображение обычной освещенной сцены, как это видно на гистограмме яркости, но не слишком сильно, иначе оно будет просто отображаться как слишком темное и неприятное (возможно, даже в значительной степени невидимое) изображение (именно поэтому было достигнуто соглашение о том, чтобы делать изображения ночных сцен по-прежнему относительно яркими, но синими). Кроме того, на телевизоре на 100 нит или при кодировании на 100 нит просто нет места для чего-то слишком яркого. Таким образом, нужно было показывать объекты независимо от их освещения, и в то же время нельзя было точно показывать все иногда очень контрастные освещения сцены, которые могли произойти. На практике это означало, что очень яркая солнечная сцена должна быть воспроизведена с приблизительно такими же светимостями дисплея (0-100 нит), что и тусклая сцена дождливого дня или даже ночная сцена.
В реальной жизни человеческое зрение также может адаптироваться к доступному количеству света, но не так сильно (большинство людей в реальной жизни все же понимают, когда начинает темнеть, или что они находятся в более темной или довольно яркой среде). И не следует забывать, что телевидение, показывающее изображения, представляет собой не симуляцию адаптированного глаза, а, скорее всего, симуляцию реальных условий среды, насколько это возможно с учетом условий просмотра и других технических ограничений. Таким образом, хотелось бы отображать изображения со всеми видимыми локальными и также временными световыми эффектами, которые можно художественно воплощать на изображениях для получения гораздо более реалистичных воспроизводимых изображений, по меньшей мере, если целевой зритель имеет в наличии HDR-дисплей. То, какая именно светимость была бы подходящей, скажем, для светового меча в темной комнате, оставим на усмотрение специалиста по цветовой градировке, создающего основную (основные) градуировку (градуировки) (для простоты изложения идеи изобретения в данной заявке будем предполагать, что изображения с различным динамическим диапазоном, по меньшей мере два с самым разным динамическим диапазоном создаются человеком-специалистом по градуировке, но точно так же изображения могут быть созданы автоматическим программным обеспечением), и данная заявка будет сосредоточена на необходимых технических компонентах для создания и обработки таких изображений для различных участников рынка с потенциально разными потребностями.
На левой оси на ФИГ. 1 показаны светимости объектов, как хотелось бы их видеть (например) в основной HDR-градуировке с PB_C 5000 нит при непосредственном отображении на (эталонном) дисплее с PB_D 5000 нит (т.е. специалист по градуировке изображений создает изображение при условии, что обычный домашний высококачественный HDR-телевизор будет иметь PB_D 5000 нит, и он сможет фактически присутствовать в представлении такой домашней комнаты для просмотра и осуществлять градуировку на таком дисплее для градуировки). Если желательно передать не просто приблизительную иллюзию исходной HDR-сцены, которая была захвачена, а реальное ощущение того, что ковбой находится в яркой освещенной солнцем среде, необходимо задать и сделать эти светимости пикселей достаточно яркими, например, равными в среднем приблизительно 500 нит.
Для ночной сцены желательны в основном низкие светимости, но главный герой на мотоцикле должен быть хорошо распознаваемым, т.е. не слишком темным (например, приблизительно 5 нит), и в то же время могут быть пиксели с довольно высокой светимостью, например, пиксели уличных фонарей, например, имеющие приблизительно 3000 нит на дисплее на 5000 нит или приблизительно пиковую яркость на любом HDR-дисплее (например, с PB_D 1000 нит). На третьем примерном изображении ImSCN3 показано, что теперь также возможно на HDR-дисплеях: можно одновременно воспроизводить много (семантически более важных, чем просто лампа, т.е. с большим количеством деталей внутри области, например, освещенные солнцем деревья) очень ярких и много важных очень темных пикселей. На изображении ImSCN3 показано, что в качестве типичного и относительно сложного для обработки изображения HDR-сцены можно рассматривать темную пещеру с отверстием, через которое можно видеть солнечную внешнюю среду. Для этой сцены может потребоваться сделать освещенные солнцем объекты, такие как дерево, несколько менее яркими, чем в сцене, которая нацелена на создание впечатления только яркого солнечного пейзажа, например, приблизительно 400 нит, который должен быть более согласован с по существу темным персонажем внутри пещеры. При необходимости специалисту по цветовой градуировке может потребоваться оптимально координировать светимости всех объектов (уже на основном HDR-изображении с PB_HDR = 5000 нит), чтобы ничего не выглядело неуместно темным или ярким и была хороший контраст, например, человек, стоящий в темноте в этой пещере, может кодироваться на основном градуированном HDR-изображении с использованием приблизительно 0,05 нит.
После создания этого основного HDR-изображения возникает следующий художественный вопрос (даже до его формулирования при задействовании технологии): как это изображение должно быть повторно градуировано в изображения с разным динамическим диапазоном, например, по меньшей мере унаследованное SDR-изображение с PB_C 100 нит.
Это помогает разобраться в том, когда заданы взаимосвязи между светимостями, поэтому мы будем поступать так в этой заявке, когда будет удобно. В действительности, с технической точки зрения, светимости будут кодироваться как яркости через функцию распределения кода яркости, также известную как оптико-электрическая передаточная функция (OETF), и, следовательно, можно также сформулировать все взаимосвязи между светимостями, например, функцию для вычисления выходной светимости L_out из входной светимости L_in, также в виде взаимосвязей между эквивалентными яркостями.
Возможно, это немного сбивает с толку, но можно также выразить светимости нормализованным (т.е. с использованием максимальной нормализованной светимости, равной 1,0) способом и определить все действия в отношении таких нормализованных светимостей. Это дает преимущество в том, что (при условии, что оба цвета пикселей изображения определены в одном и том же наборе основных цветов RGB) нормализованная цветовая HDR-гамма точно перекрывает цветовую LDR-гамму, и, следовательно, можно отображать изменения светимости в этой единственной нормализованной цветовой гамме. Очевидно, что относительное положение нормализованной светимости LDR, которая должна отображаться с точно такой же абсолютной светимостью, что и светимость HDR, которая задана в диапазоне светимостей HDR с PB_C = 5000 нит, будет иметь другую относительную высоту (т.е. затем можно показать в таком представлении гаммы отображение светимости для конкретной светимости пикселя HDR, необходимой при создании соответствующей светимости пикселя LDR-изображения, как относительное/нормализованное изменение высоты в этой нормализованной гамме). Взаимосвязь между абсолютной и относительной светимостями является простой: L_norm = L_abs/PB_C, где PB_C - любая максимальная светимость кодирования, например, 5000 нит для HDR-кодирования и, согласно стандартному соглашению, 100 нит для SDR.
Последнее, что важно усвоить из ФИГ. 1 (поскольку вся технология должна работать соответствующим образом), заключается в том, что в зависимости от того, с каким типом объекта (т.е. светимостями его пикселей) в каком виде HDR-сцены приходится иметь дело, можно использовать разные высокоуровневые подходы к тому, как повторно градуировать, т.е. преобразовывать указанную (указанные) светимость (светимости) пикселей.
Например, объект в темноте, такой как мотоциклист, может быть воспроизведен путем выравнивания абсолютной светимости (что предусматривает соответствующее изменение масштабирования для нормализованной светимости) для всего повторно градуированного изображения, в частности, исходного основного HDR-изображения слева, соответствующего SDR-изображения справа и любого изображения со средним динамическим диапазоном (MDR) между ними, например, показанного с PB_C = PB_MDR = 800 нит, которое оптимизировано (с использованием правильных светимостей объекта) для непосредственного отображения на дисплее с PB_D 800 нит (например, для потребителя, который приобрел такой дисплей и получает HDR-изображения с PB_C 5000 нит, например, от своего кабельного провайдера или через спутниковую телевизионную приставку, или из Интернета и т.д.). Это имеет смысл, потому что создатель контента хочет передать темную атмосферу, в которой мотоцикл просто виден, и было бы плохо делать его ярче на более ярком дисплее просто по той причине, что такой дисплей может это делать, поскольку он имеет больший диапазон светимостей, заканчивающийся более высокой PB_D, для отображения всех светимостей объектов в сцене.
Такой объект, как солнце, вероятно, будет следовать совершенно иной философии, а именно способу отображения белого на белом, при котором ему всегда дается максимально возможное значение в любом представлении изображения, т.е. PB_C. Очевидно, что другие виды объектов могут подчиняться другим видам правил, и можно было бы продолжать еще долго (например, ковбой будет соответствовать философии масштабируемого умеренного серого цвета), но для читателя достаточно понять, что должна быть технология, которая обеспечивает почти «произвольное» распределение всех светимостей пикселей, а не, например, фиксированное, подобное тому, что диктуют простые технологии.
Хотя ФИГ. 1 упрощенно восполняет пробелы в создании универсального HDR-изображения (охватывающего такие различные технически ограниченные применения, как фильмы, реальное спортивное вещание и т.д.), для разработчиков HDR-технологии все еще остается открытым вопрос о том, как кодировать HDR-изображения, а также как преобразовывать HDR-изображения, чтобы иметь возможность оптимально отображать их на любом дисплее с меньшей PB_D, чем закодированная PB_C (т.е. самый яркий пиксель, который может появиться на видео хотя бы один раз). Захват изображений HDR-сцены, а также, что немаловажно, художественное оформление и освещение HDR-сцены также являются техническим навыком, но в настоящей заявке нет необходимости фокусироваться на этом аспекте.
Простейший вариант заключается в том, чтобы просто закодировать светимости HDR-пикселей (игнорируя сложность адаптации дисплея (DA), т.е. то, как отображать изображение с PB_C1 в изображение для менее функционального дисплея). Проблема состояла в том, что в рекомендации Rec. 709 для OETF предусмотрена возможность кодирования только динамического диапазона светимостей 1000:1, т.е. необходимо было изобрести новую OETF для HDR (или, по сути, обратную ей EOTF). На рынок был выведен первый HDR-кодек под названием HDR10, который, например, используется для создания новых дисков Blu-ray HDR с черными лентами, и он использует в качестве OETF функцию более логарифмической формы, называемую функцией перцептивного квантователя (PQ), которая стандартизирована в SMPTE 2084 и которая позволяет задавать яркости для светимостей от 1/10000 нит до 10000 нит, что достаточно для практического производства HDR-видео. Кроме того, у него есть хорошее свойство, заключающееся в том, что коды яркости, которые он создает, соответствуют тому, как работает человеческое зрение (вид перцептивных значений серого, которые головной мозг использует для определения разных светимостей в сцене, что является хорошим свойством как для эффективной повторной градуировки конкретных серых объектов, так и для эффективного представления светимостей, как это делает мозг). После вычисления яркостей имелась только 10-битовая плоскость пикселей (или, скорее, только две 3-битовые плоскости цветности Cb и Cr), которые можно классически обрабатывать дальше последовательно, «как если бы» они были SDR-изображением с математической точки зрения, например, сжатым MPEG (это важное ограничение, поскольку оно позволяет избежать перепроектирования и повторного развертывания нескольких ранее существовавших технологий в общем конвейере обработки видео).
Значительная техническая трудность, связанная с изображениями HDR10, по-прежнему заключается в том, как правильно отображать их на менее функциональных дисплеях (например, c функциональностью менее PB_C 2000 нит, для которой был создан HDR-контент). Если, например, просто отображать прямолинейно белое на белое (максимальный белый цвет кодированного изображения, также известный как пиковая яркость PB_C кодирования, например, в пиковую яркость PB_D SDR-дисплея), наиболее интересные (более темные) части изображения с PB_C = 1000 нит, как правило, выглядели в 10 раз темнее, что означало бы, что ночная сцена на изображении ImSCN2 станет недоступной для просмотра. Из-за логарифмического характера OETF PQ изображения HDR10 доступны для просмотра (когда они просто воспроизводятся как яркости, т.е. декодируются с неправильной EOTF), но имеют неприглядно ухудшенную контрастность, из-за чего они выглядят, среди прочего, размытыми и имеют неправильную яркость.
Простая система для создания HDR-видеоконтента, например, в сценарии широковещательной передачи, поясняется с помощью ФИГ. 2. Как и прежде, подробности распределения нелинейных кодов яркости или цветов пикселей R'G'B' пока не рассматриваются с целью упрощения толкования (так называемый оптико-оптический подход: OOTF, с нормальными (абсолютными) светимостями во всей последовательности). С помощью экспозиции (EXP) камеры (201) можно выбрать, какие светимости объекта точно записываются и при каком относительном значении (поскольку камера функционирует как измеритель относительной светимости для всех пространственных положений или, скорее, как относительный колориметр, обеспечивающий триплеты RGB). Поскольку и датчик камеры, и N-битовое математическое представление цветового компонента практически имеют конечный диапазон, начиная с минимального значения и заканчивая максимальным значением, имеет смысл экспонировать не детали солнца, которое соответствует миллиарду нит, а отсекать по меньшей мере эти значения светимости или RGB до их максимума. В по существу неограниченном диапазоне выбор экспозиции может быть «скорректирован» путем последующего повторного отображения светимости, но в любом случае этот факт показывает читателю, что не существует «естественного» очевидного отображения светимостей сцены в подлежащие отображению светимости (это сопоставление светимостей известно как колориметрия, связанная с дисплеем, и является на самом деле тем, что в конечном итоге имеет значение). Изображение LIN_HDR с линейной светимостью обычно сначала подвергается отображению (202) OOTF. Оно существовало в некоторой степени уже в эпоху SDR и направлено на исправление того факта, что человеческое зрение в обычно более темной среде просмотра в вечерней гостиной, в которой смотрят телевизор, требует более высокой контрастности для аналогичного визуального восприятия, в связи с чем OOTF, как правило, является мягкой гамма-функцией. Однако особенно при отображении сцены со значительным динамическим диапазоном на типичном дисплее (205) с меньшим динамическим диапазоном (даже если это высококачественный эталонный монитор на 4000 нит) может потребоваться некоторая художественная оптимизация различной светимости объектных пикселей путем применения потенциально произвольной кривой, которая в данном документе называется градуировкой, с помощью блока 203 градуировки. В особенности для высококачественной продукции в режиме офлайн могут требоваться значительные усилия по градуировке, чтобы создавать так называемое творческое видение или взглянуть на основное HDR-изображение MAST_HDR (которое, согласно настоящему изобретению, все еще подлежит дальнейшей технической обработке, например, предпочтительно кодированию). Результирующее изображение при этом выглядит оптимально и может быть отправлено через какое-либо соединение 204 для передачи изображений на дисплей 205, на котором человек-специалист по градуировке может проверить, соответствует ли уже изображение желаемому, или продолжить настройку по меньшей мере одной функции отображения светимости через блок 206 управления пользовательским интерфейсом (например, пульт управления градуировкой). Эта произвольная градуировка формирует основной вид - не путать с произвольной повторной градуировкой (вторичным видом) для получения, например, как можно более оптимального соответствующего SDR-изображения, которое может называться основным SDR-изображением (например, при формировании части философии кодирования видео, как описано ниже). Хотя читателю была пояснена всего лишь еще одна простая топология, читатель сможет понять, что на практике могут быть разные фактические варианты осуществления в зависимости, например, от того, идет ли реальная широковещательная передача только с использованием одной HDR-камерой или набора объединенных SDR- и HDR-камер, или с использованием предварительно определенного HDR-изображения и соответствующего повторно градуированного основного SDR-изображения, которые теперь необходимо совместно кодировать в соответствии с принципами кодирования (например, принципами ETSI1 или ETSI2 - см. ниже) и т.д.
Как уже было пояснено с помощью ФИГ. 1, заявитель осознал, что, поскольку существует математическая взаимосвязь повторной градуировки между различными возможными повторно градуированными MDR-изображениями, начиная с основного HDR, при условии, что можно технически прагматически захватить эти функции, фактически можно кодировать целый спектр разных функций динамического диапазона посредством отправки только одной из них и по меньшей мере одной функции отображения светимости для создания другого изображения из фактически отправленного. Впервые эта возможность и вытекающая из нее техническая концепция кодирования были описаны в WO2011107905.
Было обнаружено, что имеет смысл задавать функцию F_L отображения светимости для преобразования светимостей основного HDR-изображения (например, с PB_C 5000 нит) в светимости SDR-изображения, т.е. побуждать специалиста по градуировке определять необходимый способ реализации повторной градуировки между наиболее экстремальными представлениями изображения, а затем повторно вычислять адаптированные для дисплея функции F_L_DA отображения светимости для вычисления промежуточной светимости пикселей MDR-изображения, соответствующей любой возможной светимости изображения M_HDR с PB_C 5000 нит.
Как впоследствии было стандартизовано заявителем, есть два логических варианта для фактической передачи изображения (в качестве единственного изображения для всего спектра повторно градуированных изображений с разным динамическим диапазоном, в частности, с конечной точкой PB_C, поскольку зачастую можно предположить, что нижняя конечная точка MB будет приблизительно фиксированной, например, равной 0,01 нит) любому приемнику: основного HDR-изображения или соответствующего SDR-изображения (следует остановиться на секунду, чтобы понять, что в этой ситуации вместо HDR-изображений фактически передаются простые SDR-изображения, и из-за функции F_L также фактически передаются HDR-изображения, потому что L_HDR_reconstructed = F_L_inverse[L_SDR]).
Второй вариант кодирования, который весьма полезен, когда техническое ограничение заключается в том, что многие унаследованные дисплеи должны использоваться без искажений (на самом деле старый SDR-дисплей просто получает SDR-изображение, и, не требуя знания о том, что в нем также закодировано HDR-изображение, он может напрямую отображать SDR-изображение и сразу же получать очень хорошее SDR-воспроизведение HDR-сцены, на самом деле настолько хорошо, насколько дисплей может отображать такую HDR-сцену), был стандартизирован сначала в ETSI TS 103 433-1 (следует обратить внимание на -1; в дальнейшем будет использовано сокращение ETSI1). Следует отметить, что существуют технические ограничения, такие как необходимость обратимости цветов SDR-изображения, чтобы иметь возможность с достаточной точностью восстанавливать исходное основное HDR-изображение на любой принимающей стороне, что было частью технического рассмотрения, ведущего к этому заданному стандартному подходу к (де)кодированию.
ETSI TS 103 433-2 (ETSI2) является альтернативой кодирования, при которой основное HDR-изображение фактически передается приемникам и при которой функция (функции) F_L (фактически, как будет показано ниже, несмотря на то, что в целях пояснения можно рассматривать систему так, как будто была использована одна глобальная функция F_L для всех светимостей пикселей в переданном изображении, по техническим причинам используется набор применяемых впоследствии функций отображения) служит (служат) для вычисления изображений с целью оптимального отображения на дисплеях с PB_D < PB_C_master (т.е. для так называемой адаптации дисплея). Различные потребители могут выбирать, какую систему они хотят использовать, например, оператор кабельного телевидения, передающий HDR ETSI2, будет предоставлять своим пользователям телевизионную приставку (STB), которая будет осуществлять декодирование и оптимизирование для любого дисплея, который имеется в наличии у пользователя дома.
На ФИГ. 3 сначала приведен общий обзор компонентов типичной системы (кодер + декодер) для передачи HDR-видео с одним изображением и функциями, не ограничиваясь типичной системой типа SDR-связи с целью пояснения базовых концепций.
Преобразователь 302 цвета получает в качестве входных данных изображений MAST_HDR (например, в том виде, в котором они были захвачены камерой и градуированы системой, показанной на ФИГ. 2, а затем переданы через некоторую профессиональную систему передачи видео на кодер 321 на стороне телевещателя, который, например, будет передавать телевизионные программы по беспроводной связи или через телевизионную кабельную сеть) от источника 301 изображения. Затем применяется набор функций F_ct цветового преобразования (в этом примере, в частности, определяемый автоматическим программным обеспечением для градуировки, таким как технология заявителя для автоматического преобразования HDR в SDR, которая задает функции F_ct на основе характеристик изображения, таких как гистограмма и т.д.; конкретные детали можно оставить без внимания в материалах данной заявки, поскольку для этого требуется просто наличие таких оптимизированных функций для любого изображения или набора последовательных во времени изображений), содержащий по меньшей мере функцию F_L отображения светимости, чтобы получать соответствующие светимости SDR для светимостей пикселей основного HDR-изображения (MAST_HDR). Для простоты понимания читатель может в целях упрощения предположить, что F_L является функцией отображения светимости в 4-й степени (L_out_SDR = power(L_in_HDR; ¼)) для получения нормализованных до 1,0 выходных светимостей SDR пикселей в выходном SDR-изображении Im_LDR с PB_C 100 нит (т.е. диапазон светимостей справа на ФИГ. 1).
Поскольку теперь существует «нормальное» SDR-изображение, его можно сжать с помощью стандартной методики сжатия видео, например, стандарта MPEG, такого как HEVC или MPEG2, или аналогичного стандарта, такого как AV1, причем сжатие выполняется компрессором 303 видео.
Поскольку приемники должны быть способны восстанавливать основное HDR-изображение из принятого соответствующего сжатого SDR-изображения Im_COD, помимо фактических пиксельных изображений, которые подлежат передаче, также функции F_ct отображения цвета должны поступать в компрессор видео. Без ограничений можно предположить, что эти функции сохраняются в метаданных, например, с помощью механизма SEI (информации для дополнительной оптимизации) или аналогичной методики. Наконец, модуль 304 форматирования делает все необходимое для форматирования (размещения в блоки данных и т.д.) видеопотока для любой среды 305 технической связи, например, выполняет форматирование для хранения на диске Blu-ray или для связи DVB через спутник и т.д. (подробности этого могут быть найдены специалистом в соответствующих областях техники и не имеют отношения к пониманию идей настоящего изобретения).
После распаковки MPEG в видеоприемнике 320, выполняемой блоком 307 распаковки видео (после прохождения через блок 306 обратного форматирования), SDR-изображение может интерпретироваться приемником с помощью применением стандартной EOTF из рекомендации Rec. 709 (с целью получения изображения для SDR-дисплея), но приемник может также декодировать принятое изображение Im_COD иначе для получения восстановленного HDR-изображения Im_RHDR.
Это выполняется преобразователем 308 цвета, который выполнен с возможностью преобразования SDR-изображения в виде распакованного Im_RLDR в изображение любого динамического диапазона, отличного от SDR (т.е. с PB_C выше 100 нит и, как правило, по меньшей мере в 6 раз выше). Например, исходное основное изображение Im_RHDR c 5000 нит может быть восстановлено путем применения обратных цветовых преобразований IF_ct из цветовых преобразований F_ct, используемых на стороне кодирования для создания Im_LDR из MAST_HDR (которые были приняты в метаданных и переданы преобразователю 308 цвета). Или может содержаться блок 309 адаптации дисплея, который преобразует SDR-изображение Im_RLDR в другой динамический диапазон, например, изображение Im3000nit, которое оптимально градуировано в случае, если дисплей 310 представляет собой дисплей с PB 3000 нит, или изображение с PB 1500 нит или 1000 нит для соответствующих дисплеев с более низкой PB_D и т.д. Без каких-либо ограничений было сделано предположение, что декодер видео и преобразователь цвета находятся в одном видеоприемнике 320. Опытный читатель может понять, что аналогичным образом можно спроектировать множество разных топологий, например, с функциональной возможностью декодирования, реализованной в телевизионной приставке, подлежащей подсоединению к дисплею, который просто функционирует как примитивный дисплей для принятых предварительно оптимизированных изображений или который выполняет дальнейшие цветовые преобразования изображения и т.д.
На ФИГ. 4 кратко изложены принципы технологии заявителя для отображения светимости и цвета, стандартизированной в ETSI2 (на самом деле эта технология подробно описывает преобразователь 302 цвета, который в общем виде был представлен на ФИГ. 3 в соответствии с философией декодирования ETSI2 (или аналогично философией кодирования ETSI1)), поскольку ее необходимо знать для понимания некоторых из более конкретных методик в вариантах осуществления настоящей заявки.
Предполагается, что входными данными являются цвета пикселей YCbCr, заданные с помощью PQ (т.е. попиксельные цветовые компоненты яркости Y и цветности Cb и Cr). Сначала яркость линеаризуется до нормальных линейных светимостей L_in блоком 401 применения EOTF, который должен использовать EOTF PQ из SMPTE 2084. Затем весь процесс повторной градуировки для получения выходного цвета SDR-пикселя из входного цвета HDR-пикселя может быть снова определен с использованием нормальных (универсально заданных посредством физических SI и CIE) светимостей. После этого обработка светимости может выполняться процессором 401 светимости, который реализует полное отображение F_L по желанию, но с помощью разумно выбранных подблоков (эти блоки 402, 403 и т.д. были технически спроектированы так, чтобы соответствовать потребностям различных HDR-применений, таким как автоматическая градуировка, простота градуировки человеком, сложность конструкции ИС и т.д.).
Сначала блок униформизации светимости применяет преобразование с фиксированной кривой, форма которой зависит только от пиковой яркости PB_C_H входного HDR-изображения (например, PB_C_H = 5000 нит), используя одну зависимую от PB кривую из семейства кривых, заданных как:
Y’HP = log(1+(RHO-1)*power(L_in/PB_C_H; 1/(2,4)))/log(RHO)        [Ур. 1]
где
RHO = 1+32*power(PB_C_H/10000; 1/2,4)                             [Ур. 2]
Эта кривая отображает все светимости в перцепционно однородные серые яркости Y’HP. Если PB_C_HDR = 10000 нит, то эта кривая точно соответствует кривой PQ из SMPTE 2084, которая, как известно, является перцепционно однородной. Для входных изображений с более низкой PB_C_HDR кривая хорошо масштабируется (на самом деле она представляет собой под-кривую, заканчивающуюся, например, в 3000 нит на кривой 10000 нит в абсолютном смысле), что приводит к менее крутой кривой логарифмической гаммы для самых темных цветов в нормализованном представлении оси входной/выходной светимости [0-1,0]/[0-1,0]. Другими словами, остальная часть обработки уже происходит, будучи хорошо предварительно нормализованной.
Впоследствии блок 403 смещения уровня черного-белого может при желании применять некоторое добавочное смещение WLO уровня белого и некоторое смещение BLO уровня черного.
Полезность смещения уровня белого можно понять, исходя из следующего. Предположим, что создатель контента градуирует свои изображения в системе, настроенной на PB_C = 4000 нит (например, его эталонный монитор для градуировки имеет PB_D 4000 нит), однако во всем видео он фактически никогда не создает изображение с более высокой максимальной яркостью пикселей, чем, например, 1500 нит (максимум для видео, который отличается от кодируемого максимума PB_D). Затем, поскольку динамический диапазон светимостей SDR сам по себе достаточно мал, имеет смысл повторно масштабировать входной HDR, удаляя неиспользуемые значения 1500-4000 нит (поскольку используются динамически регулируемые отображения светимости, которые можно оптимизировать для каждого изображения/видео в любой момент времени). 1500/4000 соответствует нормализованной (входной) светимости HDR, равной 0,375, поэтому это значение может быть отображено в максимум масштабированной яркости Y’HPS HDR путем деления на 2,6.
Если быть точнее, согласно стандарту ETSI2, выполняется следующее вычисление:
Y’HPS = (Y’HP-BLO)/(1-WLO-BLO)                                           [Ур. 3]
При этом WLO и BLO передаются в метаданных, совместно передаваемых или ассоциируемых с принятыми видеоизображениями.
Смещение уровня черного полезно для получения более контрастного вида для соответствующих повторно градуированных SDR-изображений, но следует помнить, что принятые ESTI1-изображения должны оставаться обратно отображаемыми в HDR-изображение, т.е. не должно быть потеряно слишком много деталей черных пикселей (именно поэтому имеется параллельный ограничитель усиления, не показанный на ФИГ. 4).
В принципе, можно упрощенно интерпретировать смещение уровня черного как установку некоторого «черного» цвета HDR на 0,0 в SDR, или, точнее говоря, через блок 403, готовящийся к отображению светимости HDR в светимость SDR (т.е. с нормализованными светимостями все еще в HDR, а именно с относительным распределением, используемым для получения хорошего вида на HDR-дисплее и плохого, еще не оптимизированного вида на SDR-дисплее).
Затем грубый преобразователь 404 динамического диапазона применяет первичное преобразование светимости для получения светимостей SDR (т.е. с хорошим первым перераспределением светимостей объектов, чтобы получить разумный вид на SDR-дисплеях). Для этого ETSI2 использует кривую, которая состоит из линейного отрезка с регулируемым наклоном для самых низких нормализованных светимостей HDR (наклон этого отрезка называется усилением тени), еще одной линейной сжимаемой части для самых высоких нормализованных входных светимостей Y'HPS HDR (с параметром управления наклоном, называемым усиление бликов) и управляемой параболической части, сглаживающей их вместе, предлагая хороший внешний SDR-вид для средних тонов (с параметром управления, называемым ширина среднего тона, а также математическими соотношениями, которые можно увидеть в стандарте и которые в этой заявке только повторно объяснены (как можно более простым и понятным образом) в той степени, которая необходима для понимания новых вариантов осуществления изобретения в соответствии с настоящими идеями). Таким образом, выходные яркости Y’CL этого грубого преобразователя 404 динамического диапазона сначала задаются в диапазоне SDR или статистике распределения относительной яркости SDR.
Техническое (и художественное) предложение для создателя контента этого блока 404 заключается в том, что специалист по градуировке может отлично оптимизировать то, насколько ярким он должен делать самые темные пиксели, за счет (из-за ограниченного диапазона светимостей SDR) внутриобъектовой контрастности других объектов, содержащих более яркие пиксели, но он может совместно настроить, например, усиление бликов. Усиление тени можно воспринимать, например, следующим образом: человек со светимостью 0,05 нит, стоящий в темных затененных областях пещеры. Если бы он был отображен на SDR-дисплее с критерием белого на белом, т.е. с нормализованной функцией отображения, которая является тождественной функцией с углом наклона 45 градусов, являющимся диагональю графика нормализованной функции светимости, то было бы обнаружено, что его нормализованная светимость в HDR составляет 0,05/5000 и остается равной нормализованной светимости из-за тождественного отображения для грубо отображенных светимостей SDR, т.е. после того, как они становятся абсолютными, эти пиксели должны отображаться на SDR-дисплее с (1/100000)*100, т.е. с минимумом черного (управляющим сигналом «0») на этом дисплее и быть невидимыми. Следовательно, необходимо значительно усилить такие светимости уже в более логарифмических униформизированных значениях относительного серого для HDR и SDR или представлении яркостей, чтобы получить светимости SDR, которые достаточно заметны и приводят к различимости текстур объекта внутри объекта-человека (например, светимости пикселей человека в диапазоне 0,3-1,2 нит, отображаемые на SDR-дисплее). Поэтому, в зависимости от того, насколько глубоко человек попал в диапазон светимостей HDR (который, как было сказано выше, будет зависеть от того, как комбинация таких факторов, как построение HDR-сцены, освещение сцены, экспозиция камеры и художественная основная HDR-градуировка, была выбрана создателем контента), кодер (например, человек-специалист по градуировке, создающий подходящую часть F_L, которая является этим первым выбором грубого отображения светимости для повторной градуировки основных входных данных HDR в оптимальные или подходящие соответствующие светимости пикселей SDR) будет выбирать подходящее усиление тени для обработки указанных самых темных пикселей этого конкретного изображения (т.е. оптимизированное под контент изображения). Следует отметить, что на самом деле в ETSI усиление SG тени определяется как поправка для автоматического масштабирования на основе отношения пиковых яркостей входного и выходного изображений - по меньшей мере их представлений яркости. В соответствии с философией равной яркости, имеет смысл усиливать светимости, представленные в нормализованном диапазоне яркостей, которые соответствует, например, только PB_C 200 нит (или, скорее, значению согласно приведенным выше уравнениям 1 и 2:
Y'HP = Y'200 = v(PB_C_H/200; RHO(200)), где v является приведенным выше псевдо-логарифмическим уравнением 1), начиная с нормализованных светимостей HDR в виде: L_200 = Y’200*L_HDR. Однако это обычно приводит к слишком яркому и низко-контрастному изображению, в связи с чем специалист по градуировке может использовать коррекцию усиления экспозиции: SG = expgain*Y'200, что будет являться фактором затемнения, возвращающим SG к диагональному значению 1,0 и добавляющим немного темноты обратно в SDR-изображение (обычно он не выбирает expgain = 1/Y'200, потому что тогда нормализованные яркости SDR будут равны нормализованным яркостям HDR и снова будут слишком низкими; например, SG будет в диапазоне между 1,0 и 1,8).
Этот вид кривой реализует нелинейную «пружину» сжатия светимости для сжатия множества светимостей HDR из потенциально гораздо большего динамического диапазона (DR) светимостей в гораздо меньший DR SDR. Поскольку не используется фиксированная кривая, которая «в среднем никогда не должна быть слишком не правдоподобной», но при этом кодер может применять уже оптимизированную кривую, результирующее SDR-изображение не будет плохим для многих HDR-сцен (не все HDR-сцены одинаково сложны, например, иногда имеется просто слабая затененная область рядом с равномерно освещенной солнцем областью, и тогда, хотя самые простые системы будут создавать проблемы, такие как отсечение до белого, не слишком сложное интеллектуальное отображение HDR в SDR, такое как трехчастная кривая блока 404, как правило, будет уже хорошо справляться с созданием подходящего повторно градуированного SDR-изображения для основного HDR-изображения (например, того, которое выходит из HDR-камеры создателя контента, захватывающей реальное событие).
Однако некоторые другие сцены могут быть более сложными, и некоторые создатели контента могут также иметь более высокий уровень профессиональных задач при точной настройке своего художественного контента (например, голливудский кинорежиссер или оператор-постановщик (DOP)).
Поэтому, следующий блок, т.е. блок 405 применения настраиваемой кривой, позволяет создателю контента (опять же, будь то человек или интеллектуальное автоматическое средство с различными правилами, закодированными в его алгоритме) применять настраиваемую и, по возможности, имеющую произвольную форму функцию F_L_CU отображения светимости для точной градуировки к предварительно градуированным яркостям Y’CL, получая в результате градуированные яркости Y'GL LDR (единственное требование к функции состоит в том, чтобы она не была убывающей и, как правило, была монотонно возрастающей, и, как правило, по меньшей мере выбиралась в соответствии с ETSI2 для отображения входного значения 1,0 в выходное значение 1,0). На практике форма этой функции F_L_CU может быть передана декодерам либо как набор параметров, определяющих ее форму, например, коэффициентов полинома, либо как LUT и т.д.
Такая точная градуировка может потребоваться, потому что зрительная система имеет сложный способ определения впечатлений от оттенков серого в воспринимаемом объекте изображения, и/или потому что сжатие большого диапазона светимостей HDR в ограниченный DR SDR может иногда требовать некоторой смекалки, и/или потому что создатель контента открыто желает внести некоторую дополнительную художественную особенность в эту настраиваемую кривую F_L_CU (форма которой затем будет определяться, как правило, компьютерным аппаратным обеспечением другого цветового интерфейса пользователя и подключенным программным обеспечением на стороне кодирования, которые не показаны на фигурах). Фактически, с одной стороны, можно сказать, что все MDR-изображения должны быть некоторым сжатым представлением всей информации (исключительно) в основном HDR-изображении, но, с другой стороны (поскольку это может дать довольно слабое впечатление от изображений, например, со слишком слабой контрастностью, словно на них смотрят сквозь туман) другое важное требование для создания контента может заключаться в том, чтобы все изображения вплоть до SDR-изображения выглядели - с учетом их более ограниченных возможностей DR - как можно более реалистично, наподобие HDR-сцены, или по меньшей мере настолько красиво, насколько это возможно. Человеческое зрение очень нелинейное и высокоорганизованное, и оно может быстро уловить, когда использовалась слишком простая функция. Таким образом, создатель контента может разумно использовать настраиваемую функцию F_L_CU в дополнение к функции F_C грубого сжатия светимости, чтобы преуспеть в создании практически невозможного SDR-изображения, которое по-прежнему выглядит как можно лучше в сравнении с HDR-сценой и, предпочтительно, так же как и HDR-сцена (например, снижение яркости некоторого поддиапазона светимостей пикселей с целью лишь небольшого улучшения контрастности между объектами, например, для яркости витражного окна в сравнении с интерьером церкви, или визуальной контрастности внутри и снаружи помещений на SDR-изображении, или с целью оптимизации цветности в сравнении со светимостью для некоторых объектов в сцене, выбирая специальную локальную форму кривой F_L_CU, и т.д.).
С целью просвещения читателя и предоставления ему минимально необходимого понимания настраиваемой функции отображения светимости, на ФИГ. 6 показан один простой пример изображения «Человек-тень».
На ФИГ. 6A показано геометрически то, что можно видеть на изображении, а на ФИГ. 6B - функциональная взаимосвязь между светимостями L_HDR и L_SDR. На изображении показана темная космическая станция (DRKSPST), через которую движется робот 602. В определенный момент времени представления изображения он сталкивается с человеком-тенью 601, который в цветовом отношении определяется как набор очень ярких HDR-пикселей с небольшой разницей в светимости между различными пикселями, составляющими тело человека-тени. Это происходит потому, что он находится за окном в ярко освещенной среде с туманной атмосферой. Туман добавляет компонент к светимостям, исходящим от тела человека-тени (например, его одежды), формируя окончательные светимости в направлении зрителя на HDR-изображении, например, L_штаны = 20 нит + L_туман = 4500 нит = 4520 нит, L_рубашка = 50 нит + L_туман = 4800 нит = 4850 нит и т.д. Проблема использования функции грубого отображения светимости со слишком малым наклоном для самых ярких пикселей заключается в том, что человек-тень может стать недостаточно контрастно различимым и плохо заметным на изображениях с меньшим динамическим диапазоном, таких как SDR-изображение. Решение состоит в задании функции F_L_CU таким образом, чтобы она локально имела больший наклон во входной области светимостей HDR 4500-5000 нит, что приводило бы к большему поддиапазону RS светимостей SDR для человека-тени, делая его и его детали, например, галстук, который он носит, более заметными в тумане даже на SDR-изображении. Можно понять, что существует гораздо больше ситуаций, в которых может быть выгодно обладать также некоторой возможностью дополнительного управления повторной градуировкой, а не только функцией F_C грубого отображения.
Возвращаясь к ФИГ.4, после определения соответствующих (равномерному визуальному представлению) яркостей SDR блок 406 линеаризации преобразует их в (нормализованные) яркости Ls SDR. По этой причине, он применяет инверсию к приведенному выше уравнению 1, но, поскольку на этот раз должна быть получена светимость SDR, используется RHO, соответствующее PB_C_S = 100 нит (которая вводится в блок 406), а не 5000 нит, которые использовались для перцепционной униформизации в начале последовательности обработки светимости.
Цвета, конечно же, являются не одномерными (если только речь не идет об ахроматических изображениях с оттенками серого), что значительно усложняет преобразование и кодирование динамического диапазона, но в любом случае для этого требуется канал параллельной обработки для цветностей Cb и Cr пикселей, чтобы получить более подходящие соответствующие цветности SDR или фактически, как показано на ФИГ. 4, в конечном итоге подходящие цвета RGB SDR в качестве выходных цветовых компонентов Rs, Gs и Bs.
Канал 450 хроматической обработки ETSI2 выполняет следующую обработку (которая вкратце снова поясняется в той степени, в которой это необходимо). Входные цветности Cb и Cr пикселей аналогичным образом умножаются на значение F_C [Y] умножителем 452, получая в результате выходные цветности Cb*, Cr*. Проблема состоит в том, чтобы всегда получать подходящие выходные цветности с учетом существующего множества трудностей: цветовая гамма неправильной формы для реализуемых цветов (см. пояснение на ФИГ. 5), нелинейность математической модели и, в других случаях, зрительной системы человека и т.д. Кроме того, как будет показано ниже в вариантах осуществления настоящего изобретения, на рынке появляется все больше желаний, что ведет к еще более сложным системам обработки HDR.
ETSI2 использует определитель 451 обработки насыщенности, который может загружать, например, LUT, определяющую выходные значения, которые должны быть отправлены в умножитель, в зависимости от того, какое значение Y яркости имел входной пиксель. И вновь, создатель контента может по своему усмотрению определять/оптимизировать форму этой функции определения множителя насыщенности в зависимости от яркости - по меньшей мере, до необходимой степени, потому что, как будет видно далее, иногда требуется изобретательная математическая цветовая модель для определения этой LUT F_C[Y].
Блок 453 применения матрицы просто преобразует цветовые характеристики Cb, Cr в соответствующее нормализованное представление RGB (математическая модель этой операции не интересна в рамках настоящей заявки, и заинтересованный читатель сможет найти ее в ETSI2 в сочетании с ETSI1).
Можно определить реальный триплет RGB, умножив нормализованные значения R/Lh и другие значения «без светимости HDR» на нормализованное значение Ls, вычисленное в канале 401 обработки светимости. Следует отметить, что результирующие значения RN, GN и BN фактически являются по-прежнему нормализованными светимостями, а не абсолютными светимостями SDR (Rs и т.д.), при этом они являются «SDR-правильными» нормализованными светимостями, потому что теперь учитывают то, какую светимость получили цвета SDR (Ls).
Чтобы читатель быстрее разобрался с этой возможно изначально немного сложной концепцией для того, кто не является специалистом в области колориметрии, ФИГ. 5 поясняет, что происходит в нормализованной (универсальной, т.е. гаммы SDR и HDR хорошо перекрываются при нормализации, как описано выше, но, конечно же, необходимо сместить цвета HDR с тем, чтобы они стали подходящими цветами SDR, даже если преобразование не было очень разумным и оптимизированным для потребностей текущего изображения HDR-сцены, а состояло просто в приравнивании абсолютной светимости SDR ко входной абсолютной светимости HDR) цветовой гамме YCbCr.
Чистое преобразование светимости будет происходить в вертикальном направлении, поэтому обычно светимость HDR или ее соответствующую яркость Y (т.е. ColHDR) перемещают вверх в оптимальное новое положение (ColSDR), потому что для отображения светимости HDR в светимость SDR кривая F_L на графике нормализованных осей всегда будет оказываться выше диагонали (т.е. входные нормализованные светимости или яркости HDR с конкретной координатой x также имеют в качестве координаты y высоту диагонали в положении координаты x, и нормализованная выходная светимость SDR функции, которая всегда лежит выше этой диагонали, поэтому, всегда будет давать более высокое нормализованное выходное значение). То, какая фактическая (абсолютная) светимость SDR соответствует этому нормализованному значению Y яркости, определяется первым применением EOTF к нормализованной светимости (что выполнялось блоком 406, потому что обрабатываемые яркости от Y'HP вплоть до Y'GL были определены путем применения соответствующей EOTF в уравнении 1), и эти нормализованные светимости просто умножаются на 100 множителем 455 (например, 0,7*100 = 70 нит). Т.е. теперь читатель видит, что, используя эти принципы, можно определить все необходимое: от входного цвета HDR-изображения, в частности, его яркости Y, заданной PQ (например, сохраненной на диске Blu-ray HDR), вплоть до абсолютной светимости SDR соответствующего пикселя, который должен отображаться на SDR-дисплее, чтобы показать оптимальное соответствующее SDR-изображение для входного HDR-изображения (и результирующее декодирование SDR-изображения из принятого HDR-изображения).
Исходя из вышесказанного, читатель теперь понимает базовую отправную точку HDR-кодирования, по меньшей мере, в соответствии с философией кодирования заявителя, стандартизированной в ETSI. Для большинства потребитель выбор ETSI1 или ETSI2 (и затем всего того, что происходит технически) будет достаточным для их целей, т.е. снабжения их рынка красивыми HDR-изображениями (конечно же, им все равно нужно будет создавать эти красивые HDR-изображения на основе определения хорошей формы, по меньшей мере, функции F_C и, предпочтительно, также функции F_L_CU, или, по меньшей мере, когда эти функции не оптимизируются вручную, в соответствии с их собственными художественными пожеланиями, приобретать и использовать автоматическое средство заявителя, которое автоматически генерирует довольно красивый вид для каждого типа HDR-изображения, а также последующие формы функций кодека). Например, потребители, которые пойдут на полную модернизацию с целью получения перспективного высококачественного универсального HDR, могут развернуть ETSI2-систему, а участники рынка, которые больше ценят либо свои SDR-изображения, либо потребители SDR могут развернуть свою HDR-систему как ETSI1-систему (это может также подлежать различным обсуждениям в зависимости от того, кто задействован в последовательности обработки HDR-видео, например, создатель контента или оператор системы кабельного телевидения, и может быть задействовано транскодирование и т.д.).
Однако существует еще одна потребность на рынке или предложение на рынке для потребителей, которые не хотят развертывать ETSI1 или ETSI2 в точном соответствии со стандартом. Было бы разумно, чтобы в случае, если бы кто-то решил передавать HDR-изображения в качестве единственных изображений, представляющих собой весь спектр изображений, необходимых для всех различных дисплеев с PB_D, этот кто-то передавал сами основные HDR-изображения (например, с PB_C 5000 нит) не только потому, что эти изображения уже доступны, но и также в силу наилучшего качества представления изображений HDR-сцены (на самом деле они являются «сокровищем» создателя контента, т.е. изображениями, которые он специально создал и утвердил, а также часто являются отправной точкой фильма с творческим видением; или же тем единственным, что он активно создавал, в случае, когда остальная часть повторной градуировки работает автоматически согласно выбранной технологии). Однако особенно в ближайшие годы, на рынке будет складываться ситуация, при которой может пригодиться другой дополнительный подход. К сожалению, не все доступные на рынке телевизоры (или в общем устройства для декодирования или обработки видео), которые не являются примитивными унаследованными SDR-дисплеями (т.е. неспособными выполнять все математические вычисления, связанные с HDR-декодированием, адаптацией дисплея и т.д.), всегда будут автоматически являться телевизорами с функциональными возможностями ETSI2 (или ETSI1). На рынке существует ряд телевизоров, которые применяют совершенно другой подход к кодированию и отображению HDR, например, в соответствии с недавно стандартизированным подходом гибридной логарифмической гаммы. Или, например, некоторые телевизоры могут декодировать только HDR-изображения, кодированные с использованием яркостей PQ, но ничего больше. Возможно, некоторые телевизоры могут использовать только этот подход, поэтому, вероятно, лучшее, что они могут сделать, - это вообще не обрабатывать входящее HDR-видео ETSI2. Точно так же на рынке могут быть некоторые телевизоры, которые не следуют какой-либо стандартной философии, по меньшей мере, в отношении адаптации дисплея, т.е. повторной градуировки, например, принятого изображения с 2000 нит, например, в изображение с 900 нит для дисплея с PB_D 900 нит. Такому телевизору потребовалась бы способность декодирования, чтобы понять, какие цвета пикселей и, в частности, светимости содержатся в принятом изображении, но он мог бы использовать свой собственный эвристический алгоритм (для отображения тонов), чтобы определить, как создать изображение с 900 нит. Недостатком, по меньшей мере с точки зрения создателя контента, который хотел бы, чтобы каждый потребитель мог смотреть его фильм в таком же хорошем качестве, в как он изначально создал его, является то, что такая вариативность создаст высокую степень неопределенности в отношении того, что телевизор конкретной марки сделает с любым принятым HDR-изображением. Например, простое переосмысление отображения HDR-изображений, произошедшее в недавнем прошлом, привело к абсолютному воспроизведению светимостей HDR-изображений. Оно означает, что все светимости HDR-изображения вплоть до 900 нит отображаются с точно такой же светимостью, что и закодирована в изображении, но все более высокие светимости ограничиваются максимально возможным белым цветом дисплея (т.е. PB_D). Для примера изображения, такого как космическая станция по ФИГ. 7, это могло бы означать, что некоторые части Земли отсечены до неприглядного белого пятна (там, где Солнце затмевает Землю справа). Несмотря на, что этот телевизор в какой-то степени по-прежнему будет отличным HDR-телевизором, потому что он будет показывать в хорошем качестве яркие синие цвета большей части Земли, видимые через верхний смотровой портал космической станции, прекрасно контрастирующий с темным интерьером, по меньшей мере одна часть изображения будет выглядеть некрасиво (а некоторые другие сцены могут иметь гораздо более серьезные дефекты, по меньшей мере, на некоторых телевизорах, например, отсечение каждой детали изображения за пределами пещеры по ФИГ. 1 или базара и т.д.). Использование другого упрощенного переосмысления отображения тонов, например, линейного сжатия светимостей наподобие стратегии «белого на белом», может привести к нескольким другим проблемам. В чатснотси, хотя такая система могла бы функционировать и создавать какое-то HDR-изображение для конечного зрителя (например, в нашей ETSI2-системе такой телевизор мог бы использовать только функцию PQ блока 401, но игнорировать все другие метаданные функции отображения светимости и последующие последовательные отображения 402, 403 светимости и т.д., которые в ESTI2 реализуют функциональную возможность адаптации дисплея), результаты не будут ни лучшего визуального качества, ни - что, вероятно, хуже - предсказуемыми.
Это привело к новой топологии кодирования, основанной на втором типе HDR-изображения в дополнение к основному HDR-изображению, а именно так называемому изображению с промежуточным динамическим диапазоном (IDR), которое впервые было описано в WO2016020189. Преимущество состоит в том, что можно задать такое вторичное HDR-изображение (кодированное IDR-изображение, которое будет передаваться приемникам вместо основного HDR-изображения в классической философии ETSI2-кодека) с PB_C, которая находится в диапазоне многих действующих телевизоров (например, 1000 нит или 750 нит; хотя можно также использовать 500 нит с той же методикой, или, может быть, даже PB_IDR с 400 нит). Но все равно можно сделать любой желаемый основной HDR с PB_MHDR, соответствующий художественным предпочтениям или на самом деле техническим ограничениям (например, доступный монитор для градуировки). Идея состоит в том, что какая бы методика переосмысления отображения (включая отображение тонов) ни использовалась в телевизоре, она должна быть плавной в том смысле, что обработка не должна слишком сильно отклоняться от принятого изображения, если PB_D близка к PB_IDR, т.е. пиковой яркости принятого IDR-изображения. Например, даже телевизор, который настолько примитивен, что просто отсекает все светимости пикселей выше PB_D, не должен отсекать слишком сильно (например, не всю Землю или Солнце за пределами пещеры на изображении). И создатель контента возвращает назад некоторый контроль, потому что даже если, с одной стороны, он желает создавать красивые сверхъяркие области изображения, например, со средним значением приблизительно 4000 нит, на основном изображении с PB_C_H 5000 нит, он может управлять способом, которым он повторно градуирует эти области на IDR-изображении, чтобы они оказывались, например, достаточно ниже 1000 нит, так что даже примитивный телевизор на 800 нит должен отсекать только самые яркие и визуально наименее деструктивные пиксели, например, только солнечные лучи в примере с космической станцией по ФИГ. 7. Таким образом, для обеспечения этого нового подхода необходима некоторая новая технология.
На ФИГ. 7 показано, как философия кодека из WO 2016020189 обеспечивает подход к адаптации канала (поскольку передаваемое по каналу изображение является IDR-изображением, то можно сказать, что конкретный канал связи выполнен с возможностью отправки, например, изображений с PB_CH 1000 нит). Пример снова выбран так, чтобы он был интересен для пояснения некоторых основных концепций. Следует понимать одну вещь: хотя может быть полезно, если все изображения с разной PB_C в диапазоне являются именно тем или, по меньшей мере, очень близки к тому, что сделал бы создатель контента, если бы он градуировал каждое из них по отдельности и без ограничений в любой технической системе, это не обязательно всегда так, особенно для IDR-изображения. Здесь может быть предусмотрено некоторое послабление (с другой стороны, также могут возникать споры относительно того, когда и почему конкретная градуировка изображения категории X HDR-сцены по сравнению с категорией Y является оптимальной, и какое отклонение кажется достаточным отклонением; например, можно представить себе, что светимость пикселей уличного фонаря менее критична, чем светимость пикселей лица, особенно если предполагается, что оно наполовину скрыто в темноте, и также уже потому, что в реальной жизни любой уличный фонарь вполне может быть все равно немного ярче или менее ярким).
WO 2016020189 раскрывает средство для определения функций (разных функций), используя IDR-изображение в качестве некоторой средней точки, т.е. вверх по направлению к основному HDR-изображению, которое должно быть восстановлено из IDR-изображения, принятого приемниками, и вниз, чтобы выполнить адаптацию дисплея для любого MDR-дисплея с PB_D<PB_IDR. С такой технологией основной диапазон HDR можно было бы выбирать всегда фиксированным как диапазон PB_C 10000 нит, который является диапазоном, связанным с функцией PQ.
Видно, что могут быть снова использованы разные соображения о том, как преобразовывать различные возможные светимости, которые могут значительно отличаться на левой и правой сторонах от выбранного IDR-изображения. Это вызвано тем, что на самом деле концептуально может выполняться что-то иное. Слева формируется вторичное («меньшее») HDR-изображение из основного HDR-изображения. Таким образом, одно из соображений может заключаться в том, что это IDR-изображение должно быть «таким же хорошим» (несмотря на более низкую PB_IDR), как и основное HDR-изображение (и как тогда элегантно разрешить это кажущееся противоречие?). Справа происходит сжимание в сторону еще меньшей PB_MDR (что может быть значительным для некоторой высокой степени сложности, подразумевая, среди прочего, наличие множества критических объектов, распределенных по всему диапазону светимостей, и изображений с высокой PB_C_H), т.е., по-видимому, имеется другая задача формирования адаптированного для дисплея изображения. Таким образом, можно представить себе, что это могло бы привести к (совершенно) другой технической обработке, в частности, к функциям отображения светимости с разными формами/конфигурациями с учетом нашего представления об отображении «изображение + светимость».
В этом примере светимости темной космической станции могут быть отображены на любом приемлемом телевизоре (по меньшей мере, теоретически), поскольку они темнее 60 нит. Но сначала более яркие пиксели должны быть весьма аккуратно сжаты до IDR-изображения, и тогда, чем меньшее сжатие было выполнено в первой части, тем большее сжатие нужно выполнить в отношении SDR-изображения. И снова могли бы быть разные критерии для примерных двух ярких объектов: ярко-голубой Земли по сравнению с гораздо более ярким, но почти бесцветным Солнцем и его лучами. Как показывают поддиапазоны светимостей, соответственно, в основном диапазоне (BE) светимостей HDR-изображения и диапазоне (Be2) светимостей IDR для яркого земного объекта, в идеале этот создатель контента может пожелать, чтобы максимальная яркость Земли никогда не превышала, например, 750 нит, независимо от характеристики PB_C любого изображения или дисплея (потому что в противном случае Земля может начать слишком сильно светиться и выглядеть нереалистично). Однако то, как должны выглядеть светимости Солнца, зависит от нескольких факторов, не только художественных предпочтений, но и количества светимостей, оставшейся для кодирования солнечного объекта выше 750 нит на выбранном IDR-изображении (с PB_IDR 800 нит) (конечно, в некоторых ситуациях отправитель контента может выбрать другое более высокое значение PB_IDR, но в данном случае было предположено, что любое устройство, подключенное на принимающей стороне к каналу связи, всегда ожидает PB_IDR 800 нит для любого видеоконтента, будь то голливудский фильм или новостная программа). Окончательно выбранная функция F_H2h отображения светимости для создания светимостей IDR-изображения из светимостей основного HDR-изображения для всех этих самых ярких пикселей в виде поднабора показана двумя стрелками: было принято решение определить общее действие сжатия для двух объектов вместе, что также несколько снижает светимости наименее ярких земных объектов. Это пример ситуации, когда идеальная желательная повторная градуировка создателя контента не выполняется безупречно на 100% (потому что, возможно, это связано с некоторыми другими техническими трудностями), но IDR-изображение в достаточной степени подходит большинству людей. На самом деле это не имеет особого значения, если пиксели Земли на IDR-изображении лишь немного темнее, и, возможно, этого можно было бы ожидать даже для HDR-изображения более низкого качества. Но важным моментом является то, что это IDR-изображение может по-прежнему соответствовать всем требованиям исходной философии ETSI2 (и в то же время с помощью этого дополнительного этапа кодека также выполняется требование, чтобы примитивные дисплеи с PB_D приблизительно 800 нит не могли слишком сильно ухудшать принятое IDR-изображение перед его отображением): все MDR-изображения вплоть до основного SDR-изображения по желанию создателя контента могут по-прежнему формироваться приемниками с использованием функций преобразования светимости на правой стороне, и (даже с затемненными яркими пикселями земного объекта) основное HDR-изображение с PB_C 2000 нит или PB_C 10000 нит можно восстановить путем инвертирования функции F_H2h (которая сама по себе также может быть оптимизирована для каждого изображения или набора последовательных изображений, кодирующих конкретный кадр фильма, в соответствии с его техническими и/или художественными потребностями).
Двумя документами, заслуживающими обсуждения в силу их неактуальности (потому что разные технические аспекты не следует путать), а не их важности (но из-за потенциальной путаницы они заслуживают обсуждения), являются следующие: US 20160307602 и EP2689392 (также опубликованный как WO 2012127401), которые оба относятся к так называемой «оптимизации дисплея», а не к структуре парадигмы кодирования видеоизображений. Это основное отличие для специалистов в данной области техники поясняется с помощью ФИГ. 23, на которой показан типичный пример всей последовательности обработки видео. Предполагается, что на стороне 2301 создания контента осуществляется захват HDR-сцены с помощью камеры 2302 в режиме реального времени (или ранее записанной HDR-сцены). Человек-специалист по градуировке (или колорист) определяет, например, среди прочего, основную градуировку захваченной HDR-сцены (т.е. относительное положение светимостей пикселей различных объектов изображения в динамическом диапазоне светимостей для основного HDR-изображения, который заканчивается максимально представимым значением, например, PB_C_H50 = 5000 нит, и начинается с некоторого небольшого значение черного, например, MB_C_H50 = 0,001 нит, которое в данном обсуждении можно считать приравненным к нулю: например, для космической станции он изменяет путем обработки изображения захваченные исходной камерой данные так, чтобы пиксели Солнца имели 4500 нит, ярко-синий цвет Земли соответствовал, например, 200 нит и т.д.). Во-вторых, специалист по градуировке в нашем подходе обычно хочет указывать по меньшей мере одну функцию отображения светимости (на практике такая функция отображения светимости может иметь разную форму для последовательных изображений HDR-видео, и в наших стандартах ETSI даже было пояснено, как это может быть технически достаточно удобным для задания нескольких функций даже для одного моментального видеоизображения, но эти дополнительные сложности не требуются для разъяснения нынешнего изобретательского вклада в данную область техники), которая, как правило, будет функцией, определяющей то, как нормализованные до PB_C_H50 5000 нит светимости основного HDR должны быть повторно градуированы в нормализованные до 100 нит светимости LDR, т.е. FL_50t1.
Третьим важным аспектом тогда является методика кодирования для кодирования основного HDR-изображения, которое должно быть передано одному или более приемникам (с помощью по меньшей мере одной методики кодирования). В начале исследования HDR-видео и, соответственно, в более простых версиях, стандартизированных заявителем, это было бы относительно простое кодирование, такое как, например, LDR-изображение с 100 нит, которое затем имеет отличную обратную совместимость, чтобы его можно было показывать непосредственно в хорошим общем виде на старых LDR-телевизорах, которые не имеют возможности или не сконфигурированы для обработки HDR. Подход к кодированию, раскрытый в WO2016020189, и принципы настоящего изобретения являются примером более продвинутого подхода второго поколения, который является более сложным, но может удовлетворить дополнительные пожелания в некоторых конкретных технических экосистемах для передачи и обработки HDR-видео. Градуировка, выполняемая, например, человеком-специалистом 2304 по градуировке (в случае, если она не автоматизирована, как зачастую бывает в реальных вещательных программах) осуществляется на устройстве 2303 для градуировки (которое обычно содержит несколько инструментов для изменения светимостей пикселей, однако в целях настоящего пояснения можно предположить, что оно состоит из элементов предоставления пользовательского интерфейса для задания формы FL_50t1 и передачи такой формы функции (например, в виде метаданных, содержащих несколько параметров, определяющих форму функции)).
Хотя кодер 2305 видео (который будет выполнять, без каких-либо ограничений предполагая, что его входное основное HDR-изображение представляет собой набор светимостей для всех пикселей, все методики реализации фактического кодирования основного HDR-изображения, т.е., например, получать 8-битовую, 10-битовую или 12-битовую пиксельную матрицу типичных цветовых триплетов пикселей YCbCr вместе с метаданными, описывающими всю дополнительную информацию, такую как функции отображения светимости, заданные в зависимости от того, какая методика кодирования была выбрана), в принципе, может входить в состав устройства 2303 для градуировки, он был показан как подключаемое дополнительное устройство. Это представляет собой упрощение для читателя, достаточное для разъяснения настоящего изобретения, в котором обобщены различные практические варианты, например, захват (и, возможно, градуировка) происходит на внешней передвижной телевизионной станции, а кодирование, возможно, происходит на какой-то промежуточной ретрансляционной станции связи, например, после того, как в сигнал были внедрены местные рекламные ролики и т.д. (в этой связи также может быть задействована гармонизация различного контента изображения, но детали этого не требуются подробно объяснять). Важно понимать то, что происходит на стороне создания (см., например, разницу между доставкой и распространением), что можно определить как формальное завершение, когда окончательно закодированный видеосигнал передается некоторому потребителю, например, с помощью спутниковой антенны 2306 и спутника 2340 связи (или любого эквивалентного канала передачи видео, например, через Интернет и т.д.).
На принимающей стороне обычно имеются потребительские устройства в доме конечного потребителя, такие как, например, спутниковая телевизионная приставка или любое эквивалентное устройство 2352 декодирования и окончательной обработки, подключенное на входной стороне к местной спутниковой тарелке 2351, а на выходной стороне - к HDR-дисплею 2353, который может иметь различные возможности отображения, например, с PB_D 1000 ни или 700 нит, или 2500 нит. Хотя может оказаться, что телевизионной приставке достаточно выполнить только декодирование снова для получения подлежащих отображению значений светимости с помощью декодера 2381, который затем выполняет операции, обратные операциям кодера, как правило, это будет полезно только в ограниченном числе ситуаций. Обычно оптимизатор 2382 дисплея выполняет процесс оптимизации дисплея, который заключается в очередном изменении абсолютного соответствующим образом нормализованного распределения светимости (либо, например, принятого LDR-изображения, либо декодированного основного HDR-изображения, например, с 5000 нит), поскольку основное изображение могло быть закодировано, например, для PB_C_H50 5000 нит, т.е. потенциально содержать пиксели со светимостью 2000 нит, хотя HDR-дисплей конкретного потребителя может, например, отображать только вплоть до 700 нит (свой самый белый отображаемый цвет).
Таким образом, с одной стороны, существуют значительные технические различия между оборудованием (и философией его технологического проектирования и т.д.) с обеих сторон, например, заключающиеся в том, что создающая/кодирующая/передающая сторона будет иметь только кодер 2370 видео для кодирования основного HDR-видео (MsterHDR) в качестве некоторого полученного канальным кодированием IDR-изображения с промежуточным динамическим диапазоном, в то время как принимающая сторона может также отображать и оптимизировать восстановленное HDR-изображение (RecHDR) с 5000 нит на оптимизированном дисплее, например, изображение ImDA с PB_C 700 нит, оптимально подходящее для подключенного дисплея с PB_D 700 нит. Техническую разницу между ними можно увидеть в том, что оптимизацию дисплея можно выполнять как (необязательную) постобработку, тогда как кодирование/декодирование представляет собой исключительно технологию восстановления изображения, обычно не требующую каких-либо инструкций по оптимизации отображения. Устройствами (и процессами управления и т.д.) на обеих сторонах обычно также занимаются совершенно разные квалифицированные специалисты. Устройства для создания контента могут разрабатываться производителями профессионального видеооборудования и управляться инженерами вещания и т.д. Телевизионные приставки и телевизоры обычно производятся производителями бытовой электроники, например, азиатского происхождения.
US 20160307602 представляет собой первый патентный документ заявителя, посвященный оптимизации отображения. Вкратце, идея заключается в том, что создатель контента может предлагать основные правила и алгоритмы для способа реализации повторной градуировки для различных (по меньшей мере двух) режимов, которые могут существовать на изображении (причем режим представляет собой концепцию, которая одновременно является набором пикселей на изображении и необходимым способом реализации повторной градуировки для этих пикселей при наличии различных дисплеев с различным динамическим диапазоном). Хотя это поначалу позволило установить связь между пожеланиями создателей контента и фактическим отображением в месте конечного потребления, в действительности именно в этом месте конечного потребления должен происходить контролируемый способ реализации адаптации дисплея. И в идеале производитель телевизионной приставки или телевизора, если, по меньшей мере, адаптация дисплея происходит на этом телевизоре, в значительной степени будет следовать тому, что создатель контента определил как хороший способ реализации для различных объектов режима на видеоизображениях (например, кто-то, выходящий из темной области, не становится ни слишком видимым, ни слишком невидимым на дисплеях с любыми возможностями, даже на LDR-дисплеях с PB_D 100 нит), потому что это именно то, что требуется для этого контента, а не слепо делать что-либо самостоятельно. Но это несомненно ОКОНЧАТЕЛЬНЫЙ способ реализации, который должен быть выполнен на стороне потребления, и он полностью не зависит от того, как поставщик технологии передачи видео хочет разработать или, соответственно, любой разработчик хочет развернуть любую конкретную философию видеокодеков. Также не следует путать его с какой-либо ситуативной технологией отображения тонов хотя бы уже потому, что такое отображение обычно не будет обратимым - свойство, которым должно обладать кодирование посредством IDR-изображения с более узким динамическим диапазоном.
WO 2012127401 также описывает раннюю технологию эпохи HDR для определения способа реализации оптимизации отображения, которая может быть осуществлена с помощью различных вариантов осуществления структуры DATGRAD, которая определяет, как различный контент изображения должен быть повторно градуирован для разных возможностей динамического диапазона светимостей. Эта структура DATGRAD будет использоваться для формирования любого необходимого изображения со средним динамическим диапазоном (MDR) для PB_D MDR-дисплея между кодируемой пиковой яркостью PB_C основного HDR (т.е. PB_C_H50 в текущей системе обозначений) и PB_C LDR 100 нит согласно спецификации минимально необходимой повторной градуировки (см. стр. 16 в WO2012127401). Получение MDR-изображения оптимально выполняется не только с использованием требований повторной градуировки изображения, закодированных в структуре данных DATGRAD, но и также с использованием конкретных аспектов просмотра со стороны дисплея, таких как, например, яркость среды просмотра или окончательные настройки предпочтений зрителя (см. стр. 5 в WO2012127401).
Должно быть ясно, что, изначально основываясь на таких идеях, но при этом не используя никакие дополнительные довольно специфические значения, специалист в данной области техники не преуспеет в перепроектировании кодеков.
Помимо различий в создании конкретных функций по сравнению с тем, что уже существует в уровне техники, но, что более важно, самой инновационной структуры/парадигмы кодека, также необходимо упомянуть, что фактическая передача второго значения PB_C (самого высокого значения основного контента наряду с нижнем из фактически передаваемого IDR-изображения) также отличается от (необязательной) характеризации типа, которая может использоваться согласно WO2016020189. Помимо того факта, что эти два понятия не являются в буквальном смысле одним и тем же, нумерованный объект может иметь разную роль, особенно если смотреть на детали этой парадигмы в сравнении с идеями настоящего изобретения. Такая характеризация в WO2016020189 может быть полезна в случае, например, когда имеются две функции отображения светимости для повторной градуировки вверх. Тогда может быть полезно выбрать, какая из них должна получать что-то похожее на точную реконструкцию основного HDR-изображения на стороне создания контента. Но такая информация не является ни строго необходимой, ни обязательной для применения в уровне техники. Можно использовать функцию повышающей градуировки, извлекаемую из основного HDR-изображения, чтобы получать вместо восстановленного изображения с 5000 нит восстановленное изображение с 4000 или 6000 нит. Поскольку промежуточное изображение имеет две стороны, функция понижающей градуировки обычно представляет собой ту, что содержит существенный контент изображения (в особенности контент, который должен отображаться достаточно ярко и достоверно на всех дисплеях с PB_D), но при этом функция повышающей градуировки будет особенно отличаться таким образом, чтобы она определяла характер повторной градуировки для очень ярких объектов (например, автомобильных фар, солнечных зайчиков и т.д.). Это типичные объекты/эффекты воздействия HDR, которые, однако, в любом случае не воспроизводятся правильно, поскольку именно в верхней области диапазона светимостей дисплеи с различными функциональными возможностями различаются больше всего. Следовательно, создание восстановленного изображения с PB_C 4000 нит из, например, IDR-изображения с 600 нит может приводить к тому, что некоторые автомобильные фары будут незначительно темными по сравнению с их идеальным значением светимости (даже если такое значение могло бы быть представлено в диапазоне светимостей 4000 нит), но оно все равно будет довольно красивым HDR-изображением, если просто применить, например, полилинейную нормализованную функцию повторной градуировки в системе осей [0-1]/[0-1], где горизонтальная ось представляет собой нормализованные до PB_C светимости IDR-изображения, а вертикальная ось соответствует тому, что выбрано в качестве вычисленной PB_C восстановленного HDR-изображения, которая не так уж сильно далека от (возможно, неизвестной, а лишь предполагаемой) PB_C основного HDR. В нашей настоящей технологии активно передается, по существу, значение светимости PB_C_H50, потому что оно также используется в алгоритме декодера.
Изобретатели настоящей патентной заявки хотели ограничить общий IDR-подход рядом способов, в частности, вокруг уже разработанных сегодня философии и систем (интегральных схем, телевизоров, телевизионных приставок) ETSI2-кодирования.
РАСКРЫТИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
Изобретатели уделили внимание ряду технических особенностей. С одной стороны, они хотели бы, чтобы их система была совместима с уже развернутыми ETSI2-декодерами. Следовательно, если, например, было передано IDR-изображение с 1500 нит (причем ETSI2-декодер ничего не знает о принципах построения IDR, вследствие чего он предполагает, что это было просто исходное основное HDR-изображение HDR-сцены), тогда вместе с ним должна передаваться функция F_L_IDR отображения светимости (и вся другая информация об отображении цвета в соответствии с ETSI2), которая является функцией F_I2s по ФИГ. 7 и которая выполняет правильную адаптацию дисплея. Следовательно, независимо от того, использовалась ли дополнительная IDR-технология или нет, ETSI2-декодер, также известный как SLHDR2, должен быть способен нормально создавать все MDR-изображения вплоть до SDR-изображения, и они должны (в идеале) выглядеть так, как того желал создатель контента. В идеале любой новый декодер согласно настоящим принципам, который будем называть декодером SLHDR2PLUS, должен также точно или, по меньшей мере, приблизительно обеспечивать одинаковый внешний вид для всех изображений от IDR до SDR (т.е. по меньшей мере одно из IDR- и SDR-изображений предпочтительно не должно отклоняться слишком сильно от MDR-изображения, которое могло бы быть тем результатом, который специалист по градуировке или, говоря в общем, создатель контента хотел бы или, по меньшей мере, согласился бы увидеть). С другой стороны, очень важным критерием является то, что основной HDR может быть почти идеально восстановлен (хотя, возможно, с несколькими незначительными ошибками округления, которые набегают, например, при применении дискретного косинусного преобразования (DCT) в отношении IDR-изображения в фазе сжатия MPEG с целью передачи, что будет приводить к очень незначительным приемлемым ошибкам восстановления основного HDR на принимающей стороне). Конечно, могут использоваться некоторые системы с некоторым послаблением в отношении качества восстановления основного HDR (некоторые поставщики контента могут рассматривать IDR-изображение как более важное, по меньшей мере, в случае применения какого-либо временного аспекта, например, при широковещательной передаче или даже при однократной трансляции ограниченной аудитории, а не, например, с целью хранения, например, на дисках Blu-ray), но в целом, по меньшей мере, одна основная сторона, участвующая в последовательности обработки видео, сочтет важным возможность идеального восстановления основного HDR-изображения (которая отличается от попыток создания вслепую вида с немного более расширенным динамическим диапазоном, начиная с IDR).
Наконец, хотя видно, что для осуществления обслуживания без необходимости перепроектирования и повторного развертывания ETSI2-декодеров необходимо совместно передавать функцию F_I2s (т.е. предпочтительно повторно использовать схему (де)кодирования системы SLHDR2 по максимуму, но при этом, по меньшей мере, видеосигналы, включая их функции отображения светимости и цвета, должны все еще соответствовать стандартизированному определению, чтобы, помимо прочего, унаследованные системы SLHDR2 знали, что они получают, за исключением некоторых метаданных, которые им не требуются и могут быть проигнорированы), желание специалиста по градуировке контента обычно может заключаться в определении своих функций отображения светимости (и цвета) между созданным им основным HDR и некоторой соответствующей ему версией SDR (т.е. PB_C 100 нит) (которую он, например, мог создать с помощью системы, показанной на ФИГ. 4). Таким образом, функция F_Mt1 (см. ФИГ. 10) не является ни функцией F_H2h, ни функцией F_I2s по ФИГ. 7, а скорее функцией, которая охватывает все усилия по повторной градуировке между основным HDR и основным SDR (т.е. эта F_Mt1 определяет потребности повторной градуировки изображения HDR-сцены между самыми разными представлениями динамического диапазона указанной HDR-сцены). Таким образом, необходима методика элегантного соотнесения этих двух ситуаций, в частности, в рамках философии парадигмы ETSI2 или вокруг нее (например, способ SLHDR2PLUS декодирования дает в результате такие же виды MDR-изображения, как и дисплей ETSI2-приемника, адаптирующийся к принимаемым IDR-изображениям и функциям D_I2s; для каждого момента времени одна или более функций частично выполняет повторную градуировку между входным изображением динамического диапазона для этого момента времени и желаемым выходным изображением динамического диапазона для этого момента времени).
Как будет показано ниже, это можно реализовать несколькими способами в соответствии с разными взглядами различных изобретателей, в зависимости от того, какой именно тип системы желателен, а также какое желательное условие ограничения следует ослабить больше, а какое - меньше (также учитывая специфические практические технические факторы, например, какое количество циклов или транзисторов потребовалось бы для различных вариантов выбора, что может сделать некоторые варианты более желательными, чем другие, но нам не нужно углубляться в эти детали в рамках настоящей патентной заявки).
Однако есть некоторые базовые основополагающие принципы, которые используются во всех подходах. По меньшей мере, два способа принятия решения можно резюмировать с помощью ФИГ. 8. Приемники принимают IDR-изображение (которое должно быть каким-то образом восстановлено в HDR-изображение Mster, в этом примере с PB_C = 4000 нит), и они также обладают функцией F_I2s. Но они должны для каждой светимости IDR как-то найти функцию F_ ?? для вычисления необходимой соответствующей нормализованной и, следовательно, абсолютной основной светимости HDR (которая будет точно восстанавливать этот основной HDR в том виде, в котором он был изначально, но изображение (изображения) которого никогда не передавалось (передавались)). Можно либо создать новую систему цветового преобразования декодера SLHDR2PLUS, которая может определять необходимую функцию (но которая, по меньшей мере, согласно ее обрабатывающим интегральным схемам (ИС) или программным ядром, остается такой же, как показана на ФИГ. 4, с наличием канала обработки светимости со своими особенностями (по меньшей мере, используются некоторые из подблоков) и каналом хроматической обработки), или можно также попытаться применить всю находчивость в отношении кодера так, чтобы можно было использовать стандартный подход к цветовому преобразованию при ETSI2-кодировании в исходном виде (если не считать того, что его новизна будет заключаться в его новом программном обеспечении для восстановления исходного HDR с 4000 нит посредством приема метаданных этой второй, желаемой пиковой яркости PB_C_H50, что обычно включает в себя загрузку соответствующих LUT полной или частичной обработки светимости и цветности), независимо от того, настроена ли она для экстраполяции, а не для адаптации отображения изображений с меньшим значением PB_D, чем значение PB_IDR. Оба подхода и их варианты осуществления потребуют некоторых общих новых технических компонентов и подпадают под общую новую философию кодирования SLHDR2PLUS.
Исходя из показанной на ФИГ. 9 базовой конструкции кодера 900 SLHDR2PLUS (которая будет объяснена подробнее ниже), являющегося разновидностью общего IDR-кодера, можно увидеть разницу с обычным HDR-кодированием, в частности, ETSI2-кодированием HDR-видео: теперь в метаданных совместно закодированы две пиковые яркости, а именно, во-первых, «нормальная» пиковая яркость (которая должна называться пиковой яркостью PB_CH канала, т.е. пиковой яркостью принятого IDR-изображения, какая бы технология не использовалась для него, т.е. каким бы не был уровень пиковой яркости, который выглядит оптимальным для создателя, владельца или транскодера контента, и какой бы математический технический метод не использовался для вычисления светимостей IDR-пикселей), указывающая, какова максимальная кодируемая светимость переданного и позже принятого видео, т.е. IDR-изображения (IDR-изображений) [это то, что увидел бы обычный ETSI2-декодер, игнорируя все другие новые подходы]. Но, во-вторых, теперь также есть пиковая яркость исходного основного HDR-изображения (HDR-изображений), а именно, пиковая яркость PB_C_H50 контента (например, 5000 нит). Вторая PB_C_H50 могла бы быть определена в некоторых вариантах осуществления за много месяцев до создания IDR-изображения, когда были созданы основные HDR-изображения (например, на основе съемки действий камерой, в компьютере и т.д.), а PB_CH может быть задана в качестве внешнего входного сигнала в кодер 900 с помощью множества разных возможных средств во время канального кодирования (например, оператор кабельного телевидения может иметь фиксированное значение, заданное в памяти, которое может обновляться ежегодно, чтобы отражать текущее среднее состояние HDR-дисплеев его клиента, или оптимизированная PB_CH может быть вычислена с учетом также некоторой светимости или других характеристик изображения для по меньшей мере одного изображения видео или связанных с ним метаданных, даже теоретически метаданных, специально предусмотренных для управления последующим IDR-перекодированием и т.д.). Совместная передача (единственной) пиковой яркости полезна для HDR-кодирования, по меньшей мере, в отношении ETSI2-системы (в которой имелось только то, что в свое время считалось единственно необходимым, а именно пиковая яркость принятых изображений), но с учетом полной прозрачности использования для унаследованных ETSI2-декодеров, которые, как сказано, должны иметь PB_CH (в противном случае они не смогут выполнять свои обычные вычисления с целью адаптации дисплея). PB_C_H50, с другой стороны, необходима для того, чтобы вообще можно было вычислить функцию F_ ?? по ФИГ. 8 и в итоге, используя эту функцию, желаемое основное восстановленное HDR-изображение из принятого IDR-изображения.
Таким образом, это сразу показывает отличие потока данных унаследованного ETSI2-кодирования видео, и унаследованные ETSI2-декодеры не будут знать эти дополнительные метаданные и просто проигнорируют их, потому что ETSI2-декодерам не требуется определять какие-либо изображения с PB_C выше, чем PB_C_H, которую они принимают в метаданных, указывающих максимально возможную светимость в принятом ими изображении (поскольку в соответствии с подлинной философией ETSI2 принятое изображение всегда является изображением наилучшего качества; на самом деле им было бы основное HDR-изображение высочайшего качества, созданное создателем контента). Но, как показано на ФИГ. 11, общий декодер SLHDR2PLUS не только принимает и считывает значение PB_C_H50, но и также использует его для восстановления изображения REC_M_HDR, которое является почти идеальной реконструкцией основного HDR-изображения, созданного создателем контента (в действительности такой декодер будет использовать значение PB_C_H50 для вычисления необходимой функции (функций) F_ ?? из принятой функции (функций) F_I2sCI). Этот декодер может также с успехом выводить изображения с более низкой PB_C, например, изображение MDR_300 с PB_C 400 нит, но можно выбрать использование стандартного вычислительного ядра ETSI2 для таких изображений с более низкой PB_C, чем PB_CH, или можно выполнить вычисление в варианте осуществления нового вычислительного ядра SLHDR2PLUS (но для точного восстановления изображений с более высокой PB, а не PB_CH, определенно необходимы новые наработки, поскольку это не может быть выполнено легко с помощью технологии ETSI2).
Таким образом, задачи, которые должны быть решены с помощью новой технологии, реализуются кодером (900) видео с расширенным динамическим диапазоном, выполненным с возможностью приема через вход (920) для изображения входного изображения (MsterHDR) с расширенным динамическим диапазоном, которое имеет первую максимальную светимость (PB_C_H50) пикселей, для которой кодер имеет первый вход (922) для метаданных, и выполненным с возможностью приема через второй вход (921) для метаданных основной функции (FL_50t1) отображения яркости, причем функция отображения яркости определяет взаимосвязь между нормализованными яркостями входного изображения с расширенным динамическим диапазоном и нормализованными яркостями соответствующего изображения (Im_LDR) с узким динамическим диапазоном, имеющего максимальную светимость пикселей LDR, предпочтительно равную 100 нит, отличающимся тем, что дополнительно содержит третий вход (923) для метаданных для приема второй максимальной светимости (PB_CH) пикселей, при этом кодер дополнительно отличается тем, что содержит:
- блок (901) генерирования HDR-функции, выполненный с возможностью применения стандартизированного алгоритма для преобразования основной функции (FL_50t1) отображения яркости в адаптированную функцию (F_H2hCI) отображения яркости, которая связывает нормализованные яркости входного изображения с расширенным динамическим диапазоном с нормализованными светимостями изображения (IDR) с промежуточным динамическим диапазоном, которое отличается максимально возможной светимостью, равной второй максимальной светимости (PB_CH) пикселей;
- блок (902) вычисления IDR-изображения, выполненный с возможностью применения адаптированной функции (F_H2hCI) отображения яркости к яркостям пикселей входного изображения (MsterHDR) с расширенным динамическим диапазоном для получения яркостей пикселей изображения (IDR) с промежуточным динамическим диапазоном, которое выводится этим блоком; и
- генератор (903) функции отображения IDR, выполненный с возможностью получения на основе основной функции (FL_50t1) отображения яркости и адаптированной функции (F_H2hCI) отображения яркости функции (F_I2sCI) отображения яркости канала, которая задает в качестве выходных данных соответствующие нормализованные яркости изображения (Im_LDR) с узким динамическим диапазоном, когда в качестве входных данных заданы соответствующие нормализованные яркости изображения (IDR) с промежуточным динамическим диапазоном, которые, в свою очередь, соответствуют соответствующим яркостям входного изображения (MsterHDR) с расширенным динамическим диапазоном; при этом кодер дополнительно отличается тем, что содержит:
- выход (930) для изображения для вывода изображения (IDR) с промежуточным динамическим диапазоном;
- первый выход (932) для метаданных для вывода второй максимальной светимости (PB_CH) пикселей;
- второй выход (931) для метаданных для вывода функции (F_I2sCI) отображения яркости канала и
- третий выход (933) для метаданных для вывода первой максимальной светимости (PB_C_H50) пикселей.
Во-первых, следует обратить внимание на то, что, хотя чисто теоретически показано, что имеется отдельный вход для каждого необходимого элемента данных настоящего кодера, специалисту будет понятно, что на практике один или более из этих входов (и аналогично для выходов) могут быть одинаковыми, в зависимости от того, какая технология видеовхода может рассматриваться (например, некоторые более ранние HDMI-входы для изображений не могут обрабатывать динамически изменяющиеся - т.е. потенциально разные для каждого видеоизображения во временной последовательности - основные функции (FL_50t1) отображения яркости, и в этом случае эти данные могут передаваться синхронно, например, через соединение по технологии Wi-Fi и т.д.). То, как вводятся различные входные данные, также может зависеть от того, где они генерируются, т.е. в какой или к какой другой системе подсоединен кодер (что может зависеть от того, требуется ли кодирование в реальном времени одновременно с захватом события камерой, или более позднее кодирование для некоторой системы передачи видео, такой, например, как система кабельного телевидения, которая в любое время принимает все данные от создателя исходного контента, чтобы оптимально распространять их с учетом ограничений или задач этой конкретной кабельной системы и т.д.).
Можно без задуманных ограничений предположить, что изображение MsterHDR незадолго до этого было градуировано человеком-специалистом по цветовой градуировке с использованием программного обеспечения для цветовой градуировки на компьютере, и что он задал функции FL_50t1, которые определяют соответствующее изображение с более узким динамическим диапазоном, обычно SDR-изображение с 100 нит (хотя в настоящее время нижний предел спектра повторно градуированных изображений, согласно типовому соглашению, соответствует изображению с PB_C 100 нит, поэтому маловероятно, что оно изменится; такое самое нижнее из трех изображений, т.е. LDR-изображение, может иметь максимальную светимость LDR в будущих вариантах осуществления, которая не соответствуют точно 100 нит, а, возможно, составляет число k, умноженное на 100 нит, например, предпочтительно, чтобы k было вплоть до 3х, т.е. максимальная яркость LDR в этом варианте осуществления настоящей системы составляет 300 нит), что соответствует изображению MsterHDR (причем SDR-изображение предпочтительно выглядит как можно более похоже на изображение MsterHDR с учетом значительно более низкого динамического диапазона светимостей), которое обычно, по меньшей мере, приемлемо передает желаемые виды для визуального и оптимального воспроизведения, например, необходимой киноистории (также разные применения видео могут иметь разные задачи, такие как разные цветовые критерии, возможно, предусматривающие разные технические ограничения в отношении функций FL_50t1).
Значение PB_CH несколько отличается от других метаданных тем, что фактически является установкой для кодирования промежуточного динамического диапазона. Так что оно может или не может исходить от специалиста по градуировке. Оно может, например, быть фиксированным значением для конкретной системы кодирования видео (например, системы спутникового вещания), которое может, например, извлекаться из постоянной памяти, подключенной к кодеру или входящей в его состав. При доставке через Интернет возможно и то, что это значение PB_CH может передаваться как нечто желательное конечному потребителю, для которого создаются IDR-изображения. Например, потребитель с мобильным дисплеем плохого качества может запрашивать просто изображение с PB_IDR 500 нит, которое должно быть вычислено сервером на другой стороне Интернета, например, сервером компании «видео по запросу», тогда как другой потребитель может запросить версию с PB_IDR 1000 нит, и в таком случае запрошенное значение PB_CH = PB_IDR будет введено в кодер.
Таким образом, хотя на стороне кодирования было изображение MsterHDR самого высокого качества (фактически с самой высокой PB_C), они будет соответствовать не тому изображению, которое принимают приемники (дополняющие декодеры), а, скорее, IDR-изображению (и им нужно будет точно восстанавливать изображение MsterHDR посредством вычисления изображения REC_M_HDR). Технологии лучше всего реализовать, формулируя все как нормализованное до яркостей 0,0-1,0. В действительности, когда речь идет о функции отображения яркости, это фактически также эквивалентно функцию отображения светимости (вследствие взаимосвязи между яркостями и их соответствующими светимостями, например, обычно светимостями, которые должны отображаться), но, строго говоря, с технической точки зрения наши вычисления предпочтительно касаются функций отображения яркости, предпочтительно учитывая униформизированное с психо-визуальной точки зрения определение яркости, задаваемое с помощью предложенной Philips v-функции (см. уравнения 1 в сочетании с уравнением 2).
Как объяснялось выше, наш подход к обработке HDR-видео, в частности, кодирование не просто одного или двух по-разному повторно градуированных изображений с разным динамическим диапазоном и конкретной пиковой яркостью, а всего спектра соответствующих разных повторных градуировок DR, заключается в установлении соотношения между различными возможными нормализованными яркостями, которые могут иметь пиксели таких по меньшей мере двух связанных изображений, например, 0,2 на изображении_1, что соответствует 0,4 на изображении_2 и т.д. Это то, что определяют функции отображения яркости между одной ситуацией, т.е. повторной градуировкой одной разновидности, и любой другой выбранной ситуацией.
Под стандартизованным алгоритмом подразумевается то, что должен быть какой-то фиксированный способ соотнесения первого набора возможных функций (которые могут иметь много разных форм и определений) со вторым набором соответствующих функций. Другими словами, это просто означает, что в некоторых технологиях связи (или даже во всех из них) разработчик кодера и декодера задал способ, который однозначно определяет, как преобразовывать форму (обычно по осям, которые нормализованы до 1,0) любой входной функции в форму выходной функции. Таких алгоритмов может быть множество, вследствие чего в принципе разработчик кодека может решить, что ему может потребоваться передавать порядковый номер любого такого алгоритма - например, согласованный номер 3 алгоритма - в декодер и т.д., но обычно в такой сложности нет необходимости, так как наш способ будет работать идеально и максимально просто за счет лишь предварительного согласования одного фиксированного стандартизированного алгоритма преобразования функции, например, того, что описан далее во вспомогательной математической модели.
Для быстрого понимания читателем ниже приведен простой пример такого алгоритма. Предположим, что входные функции являются степенными функциями: power(x_in; P), тогда алгоритм может получить соответствующие функции power(x_in; P-1). Путем инверсии исходные функции также могут быть повторно выведены при приеме соответствующих функций (с помощью алгоритма +1).
выходные
Не следует заблуждаться насчет того, что сам стандартизованный алгоритм обычно не передается приемникам, а передаются только итоговые соответствующие  функции. Именно поэтому он является стандартизированным или предварительно согласованным, т.е. должен быть задан так, чтобы декодер мог знать, что произошло на стороне кодирования. То, как это было согласовано, не так важно для понимания патентуемой технологии. Например, может быть 5 разных заданных алгоритмов, и оператор кабельного телевидения может выбирать кодирование с помощью алгоритма 3 и предоставлять своим клиентам телевизионные приставки, соответствующим образом настроенные на декодирование с помощью заданного алгоритма 3 (даже если STB может быть перенастроена в некоторых случаях для другой видеосвязи, например, с помощью алгоритма 4; но изменения алгоритма, как правило, не потребуются, хотя могут представлять интерес изменения PB_CH, например, для разных кабельных каналов).
Следует также уделить пристальное внимание тому факту, что обычно приемникам передается не соответствующая адаптированная функция F_H2hCI отображения яркости, а передается еще одна, затем дополнительно извлекаемая функция (F_I2sCI) отображения яркости канала, при этом декодеру также необходимо каким-то образом пересмотреть это двойное извлечение. Фактически полное отображение повторной градуировки разделено на две части, поэтому, если первая часть стандартизирована, вторая часть также определена, вследствие чего инверсия этого IDR-кодирования декодерами может быть (хотя это и сложно) рассматриваться как вероятно возможная (что делает возможными структуру и правильное функционирование нового кодека SLHDR2PLUS).
Разъясним эту концепцию стандартизированного алгоритма изменения функции, зависящей от кодируемой пиковой яркости, немного подробнее с помощью ФИГ. 24. Итак, слева показано, что могут быть различные события появления функции FL_50t1, разработанной специалистом по градуировке или автоматическим средством определения функции повторной градуировки на стороне создания контента. Например, FL_50t1_1 могла быть определена для HDR-сцены, в которой есть довольно глубокие черные цвета с происходящими важными действиями, которым необходимо придать значительную яркость, чтобы они были в достаточной степени видны на дисплеях с более узким динамическим диапазоном, но самые яркие части не так существенны - такие, например, как уличные фонари, - и могут быть представлены с одной почти максимальной белой светимостью на любом дисплее (или на изображении, рассчитанным для этого, т.е. содержащим именно те абсолютные светимости, которые должны воспроизводиться на этом дисплее, или, точнее, обычно коды яркостей, в которых закодированы эти светимости). В отличие от этого, FL_50t1_2 была создана для изображения или снимка из последовательных изображений, который содержит другой тип HDR-сцены, в которой есть как важный объект (или, точнее говоря, режим) с меньшей яркостью, так и объект с более высокой яркостью, что привело к специально настроенным формам кривой повторной градуировки по обе стороны от «середины». FL_50t1_3 представляет собой еще одну возможную входную функцию в стандартизованном алгоритме, применяемом блоком 901 генерирования HDR-функции, которая может, например, появляться в случае дневной сцены с очень ярким контентом (и не слишком высокой основной PB_C) и некоторыми локальными более темными областями, такими, например, как вход в храм на уличной сцене в Индии.
Для любой из этих трех ситуаций и бесчисленного множества других ситуаций блок 901 будет определять выходную функцию. Свойство этого алгоритма состоит в том, что эта функция будет иметь аналогичную форму, но будет ближе к диагональной (потому что, если исходная функция представляет собой повторную градуировку, например, между изображением с PB_C Х нит и соответствующим - достаточно похожим, насколько позволяют возможности, - изображением с PB_C2 Y нит, скажем, изображением с 100 нит, то повторная градуировка с X на изображение с PB_C Z нит, где Z, например, лежит посередине между X и Y, потребует аналогичной повторной градуировки, но в меньшей степени; если бы было необходимо отобразить X на X, то потребовалось бы тождественное преобразование, соответствующее диагонали).
Существует ряд способов, с помощью которых можно задать такой стандартизованный алгоритм для однозначного получения выходных функций F_H2hCI_1, F_H2hCI_2 и F_H2hCI_3 отображения светимости, соответствующих соответствующим входным функциям, и детали этого на самом деле не являются существенным элементом настоящего изобретения, за исключением того факта, что необходимо иметь некоторый стандартизированный алгоритм, который ведет себя соответственно. Например, обычно можно задавать некоторую метрику (количественную оценку зависимости PB_C_CH от выбранной кодируемой максимальной светимости PB_C_CH IDR-изображения), которую можно использовать для смещения точек y(x) входной функции для любой нормализованной входной светимости по направлению к диагонали каким-то образом (например, в основном равномерно или неравномерно и т.д.). Хотя можно также смещать по вертикали, довольно хорошо работающий предпочтительный вариант осуществления, как подробно описано ниже, предполагает смещение таких функциональных точек по траекториям, ортогональным к диагонали от [0,0] до [1,1].
Согласно предпочтительному варианту осуществления, кодер (900) видео с расширенным динамическим диапазоном отличается тем, что стандартизованный алгоритм блока (901) генерирования HDR-функции применяет сжатие к диагонали основной функции (FL_50t1) отображения яркости для получения адаптированной функции (F_H2hCI) отображения яркости, причем сжатие включает в себя масштабирование всех выходных значений яркости функции с использованием коэффициента масштабирования, который зависит от первой максимальной светимости (PB_C_H50) пикселей и второй максимальной светимости (PB_CH) пикселей.
Могут быть по-разному определенные функции F_L50t1 (определение функции para, приведенное ниже, является одним из примеров), и они могут масштабироваться различными способами с помощью стандартизованного алгоритма, но обычно будет задействовано масштабирование, зависящее от начальной PB_C_H50 и целевого значения PB_CH = PB_IDR. Это можно выполнить с помощью разных метрик, но со временем заявитель обнаружил, что удобно задавать коэффициент масштабирования на основе унифицированных с психо-визуальной точки зрения значений и соотношений пиковых яркостей, отправляя их через v-функцию, т.е. задавая коэффициент масштабирования на основе на выходных значений яркости v-функции, соответствующих двум пиковым яркостям (и, возможно, третьей PB_C SDR-изображения).
Согласно предпочтительному варианту осуществления, кодер (900) видео с расширенным динамическим диапазоном содержит ограничитель (1804), выполненный с возможностью повторного определения наклона функции (F_I2sCI) отображения яркости канала для поддиапазона нормализованных яркостей, содержащих самую яркую нормализованную яркость, равную 1,0. Это не требуется для многих вариантов осуществления, но, в частности, представляет собой полезный способ обработки конкретного выбора кодирования HG_COD усилений бликов в функциях para, который был стандартизован в ETSI2, в связи с чем этот конкретный вариант осуществления полезен для обеспечения полной совместимости со всем этим.
Соответствующая зеркальная технология для кодера, фактически отменяющая всю обработку кодирования за счет возможности повторного извлечения всей необходимой информации (даже если такая информация фактически не была передана), представляет собой декодер (1100) видео с расширенным динамическим диапазоном, имеющий вход (1110) для изображения для приема изображения (IDR) с промежуточным динамическим диапазоном, которое имеет вторую максимальную светимость (PB_CH) пикселей, которая ниже на мультипликативный коэффициент, предпочтительно равный 0,8 или меньше, чем первая максимальная светимость (PB_C_H50) пикселей основного изображения (MsterHDR) с расширенным динамическим диапазоном, причем вторая максимальная светимость (PB_CH) пикселей принимается через второй вход (1112) для метаданных, при этом декодер имеет первый вход (1111) для метаданных для приема функции (F_I2sCI) отображения яркости, которая задает преобразование всех возможных нормализованных яркостей изображения (IDR) с промежуточным динамическим диапазоном в соответствующие нормализованные яркости изображения (Im_LDR) с узким динамическим диапазоном и с максимальной светимостью пикселей LDR, причем декодер отличается тем, что имеет третий вход (1113) для метаданных для приема первой максимальной светимости (PB_C_H50) пикселей, и декодер содержит:
- блок (1104) определения функции светимости, выполненный с возможностью применения стандартизированного алгоритма для преобразования функции (F_I2sCI) отображения яркости в декодирующую функцию (F_ENCINV_H2I) отображения яркости, которая определяет, в качестве выходных данных для любой возможной входной нормализованной яркости пикселя изображения (IDR) с промежуточным динамическим диапазоном, соответствующую нормализованную яркость HDR основного изображения (MsterHDR) с расширенным динамическим диапазоном, причем стандартизованный алгоритм использует значения первой максимальной светимости (PB_C_H50) пикселей и второй максимальной светимости (PB_CH) пикселей; и
- преобразователь (1102) цвета, выполненный с возможностью последовательного применения к введенным нормализованным яркостям изображения (IDR) с промежуточным динамическим диапазоном декодирующей функции (F_ENCINV_H2I) отображения яркости для получения нормализованных восстановленных яркостей (L_RHDR) пикселей восстановленного основного HDR-изображения (REC_M_HDR); при этом декодер дополнительно имеет выход (1120) для изображения для вывода восстановленного основного HDR-изображения (REC_M_HDR). Максимальная светимость LDR снова предпочтительно является стандартизированной светимостью SDR 100 нит, хотя можно мысленно разработать аналогично функционирующие дополнительные варианты, в которых изображение с узким (т.е. самым узким) динамическим диапазоном (т.е. с максимальной светимостью) в передаваемом спектре повторно градуированных изображений является, например, изображением с 200 нит.
Таким образом, изображение MsterHDR на самом деле не принимается как изображение, а все же оно однозначно определяется принятыми данными (поэтому, хотя формально это изображение MsterHDR является соответствующим основным изображением, которое существовало в соответствующем месте расположения согласованного кодера, и декодер только восстанавливает почти идентично изображение REC_M_HDR из принятого IDR-изображения, различные функции действительно определяют свойства изображения MsterHDR даже в любом месте выполнения декодирования). Разные потребители могут выбирать различные значения как PB_C_H50, так и PB_IDR. Первое может быть выбрано создателем контента по различным причинам, например, потому что он приобрел градуирующий монитор на 4000 нит, или потому что ему нравится придавать своему основному контенту конкретное лучшее качество (например, создавать/задавать все с PB_C не менее 10000 нит), или потому что конкретные виды изображений требуют определенного качества, например, PB_C_H50, по меньшей мере, по мнению создателя (например, зрелищное шоу фейерверков, световое шоу или поп-концерт может заслуживать более высокую PB_C_H50, чем, например, достаточно равномерно освещенный теннисный матч или режим чтения новостей).
Значение PB_IDR может быть выбрано на основе разных технических соображений, например, оценки типичного клиента компании, занимающейся предоставлением видеосвязи, и, как уже было сказано, компания предоставления связи зачастую может не совпадать с компанией-создателем контента.
Как правило, не имеет большого смысла создавать повторно градуированный IDR-контент, который отличается менее чем на 20% по PB_C (т.е. на коэффициент 0,8, хотя в принципе значения PB_C могут быть и ближе друг к другу, например, с коэффициентом 0,9), но зачастую в большинстве случаев между значениями PB_C будет множитель 2 или более (например, основной материал с 2000 нит, отправленный при некоторой PB_CH ниже 1000 нит, например, 800, 700 или 600 нит, но обычно выше 500 нит). PB_C_H50 в месте выполнения декодирования обычно аналогично другим метаданным и, в частности, значению PB_CH, поэтому обычно оно принимается как метаданные, связанные с видеоданными, например, как неограничивающие сообщения SEI или специальные пакеты в протоколе видеосвязи и т.д. (будь то одна логическая структура данных или несколько структур, в зависимости от того, что лучше всего подходит для каждого стандартизованного или нестандартного протокола видеосвязи; это является незначительной деталью представленной новой технологии). Поскольку декодер использовал стандартизованный алгоритм, чтобы в конечном итоге получить IDR-изображение и его совместимые с ETSI2 метаданные, для декодера и непосредственно в нем может быть разработан соответствующий стандартизированный алгоритм, который в конечном итоге определяет необходимую функцию F_ENCINV_H2I отображения яркости для восстановления яркостей пикселей изображения REC_M_HDR (независимо от того, что затем делается с этим изображением; причем его отображение является типичным применением, а, например, сохранение на записывающем устройстве с жестким диском является другим применением).
Согласно интересному варианту осуществления, декодер (1100) видео с расширенным динамическим диапазоном отличается тем, что стандартизованный алгоритм блока (1104) определения функции светимости вычисляет коэффициент масштабирования, который зависит от первой максимальной светимости (PB_C_H50) пикселей и второй максимальной светимости (PB_CH) пикселей. Как уже упоминалось, это надлежащим образом может быть выполнено различными способами, но унифицированные с психо-визуальной точки зрения коэффициенты масштабирования на основе v-функции весьма удобны на практике для хорошо контролируемой обработки HDR-изображений и удовлетворения различных даже критических художественных потребностей, при этом также сохраняя контроль над технологической сложностью.
Согласно полезному варианту осуществления, декодер (1100) видео с расширенным динамическим диапазоном имеет функцию (F_I2sCI) отображения яркости, определяемую отображением яркости, которое состоит из первого линейного отрезка, имеющего первый наклон (SG_gr) для диапазона нормализованных низких яркостей, второго линейного отрезка, имеющего второй наклон (HG_gr) для диапазона нормализованных высоких яркостей, и параболического отрезка для яркостей между указанными двумя диапазонами. Соответствующая математическая модель включает в себя, среди прочего, решение уравнения второго порядка для получения необходимого адаптированного для канала усиления бликов с целью выполнения восстановления. Это полезный подход к повторной градуировки HDR первого порядка, который подходит для рынков с не самыми высокими потребностями в управлении цветами пикселей, таких как, например, телевизионное вещание в режиме реального времени (в отличие, например, от полного управления цветом, которое иногда используется, например, в фильмах-блокбастерах). Как упомянуто ниже, в некоторых дополнительных разделенных вариантах осуществления это может выполняться либо единственным компонентом, полностью задающим функцию F_L50t1 и все извлекаемые функции (например, передаваемые функции вместе с IDR-изображением: F_I2S), либо это также может быть частичным определением этой функции повторной градуировки, например, определением общей повторной градуировки вместе с настраиваемой функцией, как показано на ФИГ. 4.
Согласно полезному варианту осуществления, декодер (1100) видео с расширенным динамическим диапазоном имеет преобразователь (1102) цвета, выполненный с возможностью вычисления яркостей пикселей изображения (MDR_300) со средним динамическим диапазоном, обладающего максимальной светимостью (PB_MDR) пикселей, которая не равна значениям 100 нит, первой максимальной светимости (PB_C_H50) пикселей и второй максимальной светимости (PB_CH) пикселей, причем декодер имеет выход (1122) для изображения для вывода изображения (MDR_300) со средним динамическим диапазоном. Хотя восстановление изображения REC_M_HDR может быть всем, что требуется для некоторых устройств на некоторых субрынках (причем, возможно, к восстановленному изображению применяются все виды других преобразований), предпочтительно, если в некоторых вариантах осуществления наш декодер SLHDR2PLUS мог бы помимо простого восстановления основного HDR-изображения также вычислять соответствующие изображения с другой PB_C, например, MDR-изображение, непосредственно отображаемое на каком-либо дисплее с любой PB_D. При этом также будут использоваться математические принципы настоящего изобретения, например, как пояснено с помощью ФИГ. 16, или любым эквивалентным способом.
Согласно другому полезному варианту осуществления, декодер (1100) видео с расширенным динамическим диапазоном имеет выход (1121) для метаданных для вывода функции (F_L_subsq) отображения яркости, которая определяет для всех нормализованных яркостей восстановленного основного HDR-изображения (REC_M_HDR) или, альтернативно, изображения (MDR_300) со средним динамическим диапазоном соответствующие яркости изображения, имеющего другую максимальную светимость пикселей, причем эта другая максимальная светимость пикселей предпочтительно составляет 100 нит или равна значению выше или ниже, чем максимальное значение светимости, соответственно, восстановленного основного HDR-изображения (REC_M_HDR) или, альтернативно, изображения (MDR_300) со средним динамическим диапазоном. Может получиться так, что принятое IDR-изображение восстановлено в виде изображения REC_M_HDR не для прямого отображения на примитивном контрольном дисплее, а для отправки в некоторую систему, выполняющую дальнейшие колориметрические вычисления. Тогда полезно, чтобы декодер по этому варианту осуществления также мог выводить подходящую функцию отображения яркости, а именно обычно функцию отображения яркости, которая связана с выводимым изображением, например, изображением REC_M_HDR (как правило, связанным с тем, что входные нормализованные яркости этой заданной функции являются нормализованными яркостями изображения, которое выводится совместно, а выходные значения функции являются нормализованными яркостями некоторого основного изображения, которое обычно является SDR-изображением, поскольку оно стандартизовано, чтобы иметь PB_C = 100 нит, что обычно является самым низким качеством, которое можно было бы пожелать в эпоху HDR; причем это не исключает того, что кто-то может захотеть применить идеи настоящего изобретения с PB_C для выходной ординаты, определяющей совместно передаваемую функцию, например, 80 или 50 нит).
Все, что сформулировано выше для устройств (или частей или комплексов устройств), может быть эквивалентно сформулировано в виде сигналов, изделий памяти, содержащих изображения, таких как диски Blu-ray, способов и т.д., например:
- в виде способа кодирования видео с расширенным динамическим диапазоном для принятого входного изображения (MsterHDR) с расширенным динамическим диапазоном, которое имеет первую максимальную светимость (PB_C_H50) пикселей, при этом способ включает прием основной функции (FL_50t1) отображения яркости, причем функция отображения яркости определяет взаимосвязь между нормализованными яркости входного изображения с расширенным динамическим диапазоном и нормализованными яркостями соответствующего изображения (Im_LDR) с узким динамическим диапазоном, имеющего максимальную светимость пикселей LDR, предпочтительно представляющую собой значение, равное 100 нит, при этом способ отличается тем, что кодирование дополнительно включает прием второй максимальной светимости (PB_CH) пикселей, причем кодирование включает:
- применение стандартизированного алгоритма для преобразования основной функции (FL_50t1) отображения яркости в адаптированную функцию (F_H2hCI) отображения яркости, которая связывает нормализованные яркости входного изображения с расширенным динамическим диапазоном с нормализованными светимостями изображения (IDR) с промежуточным динамическим диапазоном, которое отличается максимально возможной светимостью, равной второй максимальной светимости (PB_CH) пикселей;
- применение адаптированной функции (F_H2hCI) отображения яркости к яркостям пикселей входного изображения (MsterHDR) с расширенным динамическим диапазоном для получения яркостей пикселей изображения (IDR) с промежуточным динамическим диапазоном;
- получение на основе основной функции (FL_50t1) отображения яркости и адаптированной функции (F_H2hCI) отображения яркости функции (F_I2sCI) отображения яркости канала, которая определяет в качестве выходных данных соответствующие нормализованные яркости изображения (Im_LDR) с узким динамическим диапазоном, когда в качестве входных данных используются соответствующие нормализованные яркости изображения (IDR) с промежуточным динамическим диапазоном, которые, в свою очередь, соответствуют соответствующим яркостям входного изображения (MsterHDR) с расширенным динамическим диапазоном;
- вывод изображения (IDR) с промежуточным динамическим диапазоном и
- вывод второй максимальной светимости (PB_CH) пикселей, функции (F_I2sCI) отображения яркости канала и первой максимальной светимости (PB_C_H50) пикселей.
- или в виде способа декодирования видео с расширенным динамическим диапазоном для принятого изображения (IDR) с промежуточным динамическим диапазоном, при этом изображение имеет вторую максимальную светимость (PB_CH) пикселей, которая ниже на мультипликативный коэффициент, предпочтительно 0,8 или меньше, чем первая максимальная светимость (PB_C_H50) пикселей основного изображения (MsterHDR) с расширенным динамическим диапазоном, причем вторая максимальная светимость (PB_CH) пикселей принимается в виде метаданных изображения с промежуточным динамическим диапазоном, при этом способ декодирования также включает прием в метаданных функции (F_I2sCI) отображения яркости, которая определяет преобразование всех возможных нормализованных яркостей изображения (IDR) с промежуточным динамическим диапазоном в соответствующие нормализованные яркости изображения (Im_LDR) с узким динамическим диапазоном и с максимальной светимостью LDR пикселей, причем способ декодирования отличается тем, что принимается первая максимальная светимость (PB_C_H50) пикселей, а также тем, что включает:
- применение стандартизированного алгоритма для преобразования функции (F_I2sCI) отображения яркости в декодирующую функцию (F_ENCINV_H2I) отображения яркости, которая определяет в качестве выходных данных для любой возможной входной нормализованной яркости пикселя изображения (IDR) с промежуточным динамическим диапазоном соответствующую нормализованную яркость HDR основного изображения (MsterHDR) с расширенным динамическим диапазоном, причем стандартизованный алгоритм использует значения первой максимальной светимости (PB_C_H50) пикселей и второй максимальной светимости (PB_CH) пикселей;
- применение к нормализованным яркостям изображения (IDR) с промежуточным динамическим диапазоном декодирующей функции (F_ENCINV_H2I) отображения яркости для получения нормализованных восстановленных яркостей (L_RHDR) пикселей восстановленного основного HDR-изображения (REC_M_HDR) и
- вывод восстановленного основного HDR-изображения (REC_M_HDR).
На ФИГ. 25 хорошо показаны настоящий закодированный сигнал (2501) SLHDR2PLUS HDR-изображения, т.е., например, матрица цветов 2502 пикселей размером 4kx2k (YCbCr или любое цветовое представление, которое может быть преобразовано в необходимое представление YCbCr с помощью известных колориметрических уравнений препроцессором [не показан]), и необходимые метаданные: функция F_I2sCI отображения светимости и два значения PB_C. В случае, если этот сигнал HDR-изображения передается и принимается стандартным декодером 2510 SLHDR2, поскольку F_I2sCI является нормальной функцией, этот декодер предполагал бы выполнение повторной градуировки из своей пиковой яркости принятого изображения (PB_CH, в данном примере, равной 800 нит) в любую более низкую пиковую яркость, и он может оптимизировать отображение, например, для подключенного дисплея со средним динамическим диапазоном на 350 нит, вычисляя Im350 путем оптимизации дисплея (что, как уже говорилось, не является ключевым аспектом этой заявки, и это возможно только как один из начальных критериев проектирования при переходе к новой парадигме кодеков, и для оптимизации отображения можно использовать, например, способ, раскрытый в US 20160307602, или аналогичный способ). Но теперь также стало возможным то, что любой, у кого есть декодер 2520 SLHDR2PLUS, например, недавно развернутый оператором кабельного телевидения, решившим внедрить эту услугу и т.п., может создавать другие изображения с PB_C выше значения PB_CH, например, выполнять восстановление примерного основного HDR-изображения с 5000 нит (т.е. выходного изображения Im5000) или любого адаптированного для дисплея изображения с яркостью между PB_C_H50 и PB_CH, или потенциально даже выше PB_C_H50, наподобие адаптированного для дисплея изображения Im1250 и т.д.
Интересными вариантами осуществления декодеров, касающимися обработки цветности, среди прочих, являются следующие:
- декодер (1100) видео с расширенным динамическим диапазоном, в котором блок (1104) определения функции светимости выполнен с дополнительной возможностью определения исходной характеристической кривой (2801) усиления насыщенности в зависимости от характеристической кривой (2804) усиления насыщенности канала и функции (F_I2sCI) отображения яркости канала.
- декодер (1100) видео с расширенным динамическим диапазоном, в котором исходная характеристическая кривая (2804) усиления насыщенности дополнительно зависит от функции (FSNL) корректировки положения насыщенности, которая соответствует уравнению, включающему в себя степенную функцию для значения нормализованных яркостей. Нормализованными яркостями, которые лучше всего использовать для этого, являются нормализованные яркости, заданные, например, делением на пиковую яркость PB_C_MHDR основного HDR-изображения, например, 5000 нит.
То же самое соответствует на стороне кодера, среди прочего, кодеру (900) видео с расширенным динамическим диапазоном, в котором блок (901) генерирования HDR-функции выполнен с возможностью определения характеристической кривой усиления насыщенности в зависимости от исходной характеристической кривой (2801) усиления насыщенности и адаптированной функции (F_H2hCI) отображения яркости. Точно так же способы обработки цвета выполняются в любом техническом устройстве, например, интегральной схеме декодирования в абонентской телевизионной приставке и т.п., или на мобильном телефоне, или интегральной схеме кодера в производственном устройстве во внешнем канале вещания, или окончательном кодере или транскодере в помещении оператора кабельного телевидения, или выполняются на сервере поставщика видеоконтента через Интернет или поставщика контента в кинотеатры и т.д.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Эти и другие аспекты способа и устройства согласно настоящему изобретению будут очевидны из реализаций и вариантов осуществления, описанных ниже, и объяснены со ссылкой на них, а также со ссылкой на сопроводительные чертежи, которые служат просто в качестве неограничительных конкретных иллюстраций, поясняющих более общие концепции, и на которых пунктирные линии используются для обозначения того, что компонент является необязательным, причем компоненты, показанные без пунктирных линий, не обязательно являются существенными. Пунктирные линии также могут использоваться для обозначения тех элементов, которые считаются существенными, но скрыты внутри объекта, или для обозначения нематериальных вещей, таких, например, как выборы объектов/областей (и обозначения того, как они могут отображаться на дисплее).
На чертежах:
На ФИГ. 1 схематично показан ряд типичных цветовых преобразований, которые происходят, когда изображение с расширенным динамическим диапазоном оптимально отображается в соответствующее оптимально подвергнутое цветовой градуировке и похоже выглядящее (настолько похоже, насколько желательно и возможно, с учетом различий в первом и втором динамических диапазонах DR_1 и DR_2, соответственно) изображение с более узким динамическим диапазоном, например, изображение со стандартным динамическим диапазоном и с максимальной яркостью 100 нит, которое в случае обратимости (режим 2) также бы соответствовало отображению SDR-изображения, принимаемого приемниками (декодерами), причем SDR-изображение фактически кодирует HDR-сцену;
На ФИГ. 2 показано, как может выглядеть система захвата HDR-изображений;
На ФИГ.3 поясняется возможный способ передачи HDR-изображений в виде некоторых изображений с конкретной (разной) пиковой яркостью и совместно передаваемых в метаданных функций отображения светимости, обычно определяемых как функции отображения яркости, например, в виде унаследованных SDR-изображений Im_LDR, например, согласно предпочтительному подходу заявителя, на высоком концептуальном уровне, чтобы предоставить вступительные пояснения читателям, плохо знакомым с технологией;
На ФИГ. 4 показаны различные дополнительные особенности кодирования HDR-изображений в соответствии с конкретным подходом заявителя, стандартизованным в ETSI2, аспекты которого необходимы для понимания различных особенностей различных идей нового подхода к кодеку SLHDR2PLUS, изложенного ниже;
На ФИГ. 5 поясняется, как цветовые преобразования и, в частности, преобразования яркости при повторной градуировке работают в цветовой гамме YCbCr;
На ФИГ. 6 более подробно пояснена наша концепция настраиваемой кривой, с объяснением ее полезного применения;
На ФИГ. 7 поясняется базовое представление о кодировании с промежуточным динамическим диапазоном (IDR) и передаче исходного основного HDR-изображения, а также о концепции, которая не должна сбивать с толку и которая используется для изображений со средним динамическим диапазоном (MDR), которые обычно вычисляются из любого принятого изображения, чтобы оптимизировать его для отображения на любом доступном конкретном дисплее с пиковой яркостью PB_D дисплея, например, на конкретном HDR-телевизоре, который был куплен любым конечным потребителем, намеревающимся просматривать принимаемое HDR-видео;
На ФИГ. 8 дополнительно поясняется, как следует подойти к рассмотрению проблемы IDR, в частности, к ее решению конкретным автоматически выполняемым в декодерах способом, и в частности, если хотя бы некоторые из декодеров, потенциально принимающих контент, являются уже присутствующими на рынке декодерами, совместимыми с ETSI2 и, возможно, нелегко обновляемыми с помощью новой технологии SLHDR2PLUS (например, потому что владелец телевизора или STB не обновляет его);
На ФИГ. 9 показана общая конструкция технических частей, которые обычно необходимы для нового кодера SLHDR2PLUS, раскрытого в настоящей заявке;
На ФИГ. 10 поясняются некоторые базовые технические аспекты, связанные с последовательным получением кодером различных соответствующих функций отображения яркости, которые, в частности, поясняются на примере функции para отображения яркости;
На ФИГ. 11 показана возможная типичная высокоуровневая конструкция нового декодера SLHDR2PLUS, который следует некоторым идеям вариантов осуществления для описанных ниже различных возможностей реализации передачи видео SLHDR2PLUS;
На ФИГ. 12 дополнительно поясняются некоторые аспекты смещения черного и белого, когда оно выбирается создателем контента в его основных функциях отображения яркости, определяющих потребности в повторной градуировке для его видеоконтента в соответствии с его представлением;
На ФИГ. 13 описаны технические принципы предпочтительного подхода к фиксированному алгоритму получения адаптированной для канала версии функции para в соответствии с принципом диагонального масштабирования;
На ФИГ. 14 пояснены некоторые аспекты обратной кривой для функции para, так называемой функции abcara;
На ФИГ. 15 подробно описаны некоторые аспекты декодера SLHDR2PLUS;
На ФИГ. 16 пояснен полезный способ реализации адаптации дисплея с целью вычисления MDR-изображения для любого конкретного дисплея с PB_D в сочетании с новыми техническими принципами кодирования SLHDR2PLUS, раскрытыми в настоящей заявке;
На ФИГ. 17 пояснены некоторые дополнительные аспекты канальной адаптации смещений черного и белого (BLO и WLO) для дополнения и упрощения приведенной ниже математической модели, а также обеспечения общего физико-технического обоснования;
На ФИГ. 18 показан другой вариант осуществления кодирования SLHDR2PLUS (или на самом деле несколько идей для различных комбинаций вариантов осуществления, поясняемых одной фигурой), который, в частности, полезен, поскольку закодированные изображения могут быть напрямую декодированы стандартными уже развернутыми ETSI2-декодерами;
На ФИГ. 19 поясняется, как определять соответствующие версии исходной основной настраиваемой кривой для различных зависимых представлений изображения с пиковой яркостью (будь то входное или выходное изображение), например, IDR-изображения с совместной спецификацией настраиваемой кривой для точной настройки грубо отображенных яркостей IDR с целью получения точных окончательных яркостей SDR, например, как хотелось бы специалисту по градуировке для создателя фильма;
На ФИГ. 20 показаны основополагающие технические принципы подхода по ФИГ. 18 в отношении спектра повторно градуированных изображений;
На ФИГ. 21 поясняется экстраполяция адаптации функции отображения яркости (например, функции para) за пределы самого высокого значения начального изображения (соответствующего единичному преобразованию или диагонали на графике), а также взаимосвязь между конкретной выбранной формой функции para и соответствующей функцией abcara;
На ФИГ. 22 схематично поясняется, как конкретный вариант осуществления ограничения усиления бликов для функции para работает с повторной градуировкой светимости между входными и выходными нормализованными яркостями;
На ФИГ. 23 схематично показана вся последовательность передачи и обработки HDR с целью четко указать на разницу между кодированием видео и оптимизацией отображения (причем кодирование относится к самому определению изображений как таковых, а оптимизация отображения - просто к оптимизации отображения на любом конкретном дисплее с конкретными функциональными возможностями динамического диапазона, которая является все еще свободно настраиваемой, предпочтительно принимая во внимание потребности в повторной градуировке различных, возможно, совершенно разных и довольно сложных изображений HDR-сцены);
На ФИГ. 24 дополнительно поясняется, как будет работать стандартизованный алгоритм изменения функции, который будет принимать любую форму входной функции, полученную, например, специалистом по градуировке для создателя контента, чтобы указывать, как нормализованная светимость динамического диапазона с первой пиковой яркостью должна быть отображена в нормализованные светимости представления изображения со второй пиковой яркостью, и как из этой входной функции может быть однозначно вычислена функция для отображения между другим представлением, в частности, с нижней третьей пиковой яркостью, и вторым представлением для любой заданной входной функции;
На ФИГ. 25 схематично показано, как описываемый в настоящей заявке механизм кодирования видео SLHDR2PLUS и сигнал хорошо совместимы с унаследованными декодерами SLHDR2, но при этом предложены дополнительные возможности для развернутых декодеров SLHDR2PLUS;
На ФИГ. 26 схематически обобщена в виде блоков вся приведенная ниже математическая модель декодирования для восстановления всех необходимых функций отображения светимости с целью выполнения всей необходимой обработки по декодированию светимости, чтобы получить требуемое изображение из принятого IDR-изображения;
На ФИГ. 27 схематично поясняется прекрасный прагматический подход к численному получению специально настроенной версии настраиваемой кривой, если таковая имеется; и
На ФИГ. 28 поясняется удобный на практике подход к обработке пиксельных цветностей в подходе SLHDR2PLUS.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
На ФИГ. 9 в общих чертах показан новый кодер 900 SLHDR2PLUS. На входе он получает основное HDR-изображение (например, изображение MsterHDR с PB_C 5000 нит), которое читатель, не теряя общности, может рассматривать как созданное во время или приблизительно во время кодирования человеком-специалистом по цветовой градуировке с использованием программного обеспечения для цветовой градуировки, например, начиная с захваченного камерой HDR-изображения в формате RAW (причем изображение MsterHDR оптимизируется, например, для типичной вечерней темной среды просмотра телевидения, т.е. в отношении его средней окружающей светимости и т.д.; настоящие технологии также могут работать с другими или переменными средами, но это скорее вопрос адаптации дисплея, а не новые способы создания или кодирования HDR-изображений). Специалист по градуировке также создал по меньшей мере одну хорошую функцию FL_50t1 понижающей градуировки светимости, чтобы преобразовать основное HDR-изображение с 5000 нит в соответствующее хорошо выглядящее SDR-изображение (т.е. с обычной PB_C 100 нит), и он сделал это посредством подмены некоторых частичных аспектов повторной градуировки в блоках 403, 404 и 405, а также посредством некоторой хорошей цветовой коррекции F_C[Y] в соответствии с блоком 451 хроматической обработки, которую он проверил на своем эталонном SDR-мониторе (другие способы, например, при широковещательной передаче реальных событий, могут предусматривать вычисление применимых форм функции «на лету», и тогда может быть какой-то директор, который смотрит на результат в целом или даже не делает этого, но принцип заключается в том, что возникает хорошая функция FL_50t1 либо только из одного из частичных блоков, либо вследствие общего функционирования всех блоков и т.д.).
Эта функция FL_50t1 также должна быть введена в качестве начальной информации для нового кодера 900. Статические метаданные PB_C_H50 пиковой яркости (для всего фильма или всей широковещательной передачи) также вводятся, поскольку они будут использоваться, но при этом также выводятся кодером в виде итогового сигнала кодирования IDR-видео (IDR+F_I2sCI+PB_CH+PB_C_H50, при этом изображение обычно сжато или не сжато в соответствии с некоторым подходящим стандартом видеосвязи, например, HEVC, и другие метаданные могут передаваться в соответствии с любым доступным или конфигурируемым механизмом передачи метаданных, начиная от сообщений MPEG SEI и заканчивая выделенными Интернет-пакетами и т.д.).
Блок 901 генерирования HDR-функции будет вычислять функцию F_H2hCI отображения светимости из HDR в IDR, которая необходима для вычисления IDR-изображения из изображения MsterHDR, и ему потребуется выбирать PB_CH IDR, которую, как предполагается, он получает из некоторого другого входа (например, она могла быть выбрана оператором кабельного телевидения и содержаться где-нибудь в памяти для загрузки с помощью конфигурационного программного обеспечения); предположим, что PB_CH равна 1000 нит (исключительно в целях пояснения; обычно это значение будет в пару раз выше, чем PB_C SDR, например, в 4 раза выше, при этом технические аспекты немного различаются по особенностям вариантов осуществления в зависимости от того, какое значение выбрано).
На ФИГ. 10 показано, как может функционировать этот блок 901 генерирования HDR-функции.
Предположим, специалист по градуировке задал некоторую функцию (здесь, в поясняющем примере, линейно-параболически-линейную функцию - или вкратце функцию para - которую заявитель использует в соответствии со стандартизированной философией ETSI-кодеков, чтобы выполнить первую и без того в значительной степени хорошую повторную балансировку яркостей преобладающих областей изображения (например, это придает достаточную видимость темным участкам на SDR-изображении за счет совместно контролируемого сжатия областей с наиболее высокими светимостями).
Такая функция соотносит входные яркости (в психо-визуальном уравновешенном представлении путем преобразования светимостей пикселей в соответствии с приведенными выше уравнениями 1 и 2) самого низкого поддиапазона яркостей (L<Ld) с необходимыми выходными светимостями посредством линейной взаимосвязи с контролируемым наклоном SG_gr, оптимально выбранным для этого HDR-изображения специалистом по градуировке:
Ln_XDR = SG_gr*Ln_Mster_HDR, если (Ln_Mster_HDR<Ld)     [Ур. 4]
(где Ln_Mstr_HDR и Ln_XDR, соответственно, являются яркостями - т.е. униформизированными с психо-визуальной точки зрения представлениями соответствующих светимостей пикселей - входного основного HDR-изображения, предварительно градуированного как оптимальное начальное изображение специалистом по градуировке, а Ln_XDR является обобщением нескольких выходных яркостей изображений с разным динамическим диапазоном и, в частности, пиковой яркости PB_C, которые все показаны на одной нормализованной вертикальной оси в целях пояснения концепций, лежащих в основе настоящего изобретения и его вариантов осуществления). В частности, когда специалист по градуировке начинает повторно градуировать соответствующее оптимальное SDR-изображение для своего уже оптимально градуированного изображения Mster_HDR, XDR будет разновидностью SDR, а соответствующая форма функции отображения светимости показана как F_Mt1 [здесь используется сокращенное обозначение xty, чтобы указать, функция отображает яркости от некоторого начального значения x PB_C до некоторого конечного значения y PB_C, причем x и y могут либо в общем обозначать PB_C изображения, как «M» для «Master», либо численно указывать примерное значение, у которого затем отбрасываются два нуля, т.е., например, «50» означает «5000», а «1» означает «100» нит].
Точно так же для входных яркостей Ln_Mster_HDR выше, чем Lb, снова существует управляемая линейная взаимосвязь:
Ln_SDR = HG_gr*Ln_Mster_HDR+(1-HG_gr), если (Ln_Mster_HDR>Lb)            [Ур. 5]
Параболическая часть функции para между Ld = mx-WP и Lb = mx+WP имеет функциональное определение L_XDR = a*x^2+b*x+c, из которого можно вычислить коэффициенты a, b и c путем вычисления точки, где пересекаются линейные касательные к кривой, идущие из ее экстремальных значений, а затем ее абсциссы mx (как определено в стандарте ETSI1; mx = (1-HG)/(SG-HG)).
Общая мысль, лежащая в основе изобретения, заключается в следующем (и ее можно объяснить в мультипликативном представлении). Любую основную светимость HDR можно преобразовать в саму себя, применив тождественное преобразование (диагональ). Если в конце спектра повторно градуированных изображений, т.е. для создания соответствующей светимости SDR (XDR = SDR), необходимо получить выходную светимость L_SDR = F_Mt1(Ln_M), где Ln_M является некоторым конкретным значением светимостей Ln_Mstr_HDR, тогда это можно рассматривать как мультипликативное усиление входной светимости L_SDR = b_SDR(Ln_M)*Ln_M. Если теперь можно определить некоторую промежуточную функцию F_Mt1_ca, то окончательная обработка представляет собой последовательное применение двух функций F_IDRt1(F_Mt1_ca(Ln_Mster_HDR)), при этом F_IDRt1 выполняет окончательное отображение светимости в светимость SDR любого пикселя (или объекта), начиная с уже вычисленной светимости пикселей IDR (полученной из основной светимости HDR). Используя мультипликативные члены, можно сказать, что L_SDR = b_IDR*b_ca*Ln_M, где два усиления соответствуют промежуточной функции (или функции адаптации канала), а оставшаяся функция повторной градуировки (которая оказывается функцией, которая передается вместе с IDR-изображением для выполнения кодирования HDR-видео, совместимого со стандартом ETSI2). Следует отметить, что эти коэффициенты усиления сами по себе являются функциями Ln_Mster_HDR (или фактически любой связанной с ними промежуточной яркости).
В таком случае было удобно, если бы отсутствовала необходимость передачи каких-либо дополнительных функций (которые, например, могут быть потеряны, если управление метаданными является несовершенным и т.д.).
Поэтому, может быть полезно, если философия SLHDR2PLUS использует заранее согласованный фиксированный способ преобразования функции F_Mt1 специалиста по градуировке (т.е. механизм для любой формы функции, которую он желает использовать) в адаптированную для канала функцию, соответствующую PB_IDR (т.е. значению, которое также обычно передается приемникам в виде PB_CH в соответствии с подходом к ETSI2-кодированию). Можно показать, что тогда нет необходимости в совместной передачи в метаданных, связанных с IDR-изображениями, функции F_H2h повышающей градуировки, потому что она фиксирована и известна декодерам, поэтому обратная F_ ??, вероятно, может быть вычислена из принятой функции F_I2s, как будет фактически показано далее (если PB_C_H50 также передается приемникам). Новизна декодера заключается в новом подходе к получению изображений с PB_C>PB_IDR. В принципе может подойти любой фиксированный подход к получению функции F_Mt1_ca из основной F_Mt1 при условии, что он является математически обратимым или, по меньшей мере, декодируемым в соответствии с требованиями, но желательно выбирать подход видового класса, в котором повторная градуировка из HDR в IDR выполняется (т.е. форма F_Mt1_ca получается) так, чтобы ее дальнейшая деформация для получения MDR-изображений была совместима с тем, что получается на основе стандарта ETSI2 (в принципе ETSI2-изображения стандартизированы только между PB_C и 100 нит, поэтому можно начать с требования приблизительного равенства видов изображений, т.е. все светимости и цвета пикселей, для всех изображений динамического диапазона между PB_IDR и 100 нит, но можно также попытаться наложить на решение, которое должно быть получено, технические ограничения, состоящие в том, что изображения, получаемые повышающей градуировкой из принятого IDR-изображения в основное HDR-изображение, т.е. с помощью F_ ??, которая должна быть вычислена декодером SLHDR2PLUS, должны иметь тот же вид, который был бы получен адаптацией ETSI2-дисплея, который должен был принимать, например, изображения Mster_HDR с PB_C 5000 нит, и общую функцию F_Mt1 повторного отображения светимости.
Сначала будет пояснено, как может быть спроектирована такая предпочтительная адаптация канала (т.е. вычисление F_Mt1_ca или F_H2hCI, показанное на ФИГ. 9; и соответствующее IDR-изображение (IDR-изображения)), которая полезна для нескольких подходов/вариантов осуществления SLHDR2PLUS.
На ФИГ. 12a показано смещение WLO_gr уровня белого, оптимально выбранное специалистом по градуировке (или автоматическим средством), а также, если имеется, смещение (BLO_gr) уровня черного, которые соответствуют блоку 403 по ФИГ. 4.
Пока можно предположить, что это единственная настройка динамического диапазона, т.е. операция отображения светимости для получения SDR-изображения из начального изображения Mster_HDR (это отображение «белое на белом» и «черное на черном» является довольно примитивным преобразованием динамического диапазона, которое дает низкокачественные LDR-изображения, которые уже не имеют правильной средней яркости или средней визуальной контрастности, не говоря уже о дескрипторах более высокого качества результирующего изображения, которые являются желательными; но это хороший этап, если рассматривать его как первый этап в последовательности повторной градуировки в соответствии с подходом заявителя, и сначала нужно пояснить этот этап и саму адаптацию канала). Идея состоит в том, что, если (несмотря на возможность кодирования яркостей вплоть до PB_HDR = 5000 нит) в действительности нет светимостей пикселей выше значения MXH на в настоящий момент подлежащем отображению изображении (или кадре изображений в видео той же сцены, в случае, если кто-то решит отображать ту же самую функцию для всех этих последовательных во времени изображений), тогда имеет смысл отображать это наивысшее значение MXH в максимальный код яркости в SDR (т.е., например, 1024, что соответствует светимости 100 нит). Любой другой подход к отображению (например, отображение «белого в HDR на белое в SDR») сделает все фактически представленные светимости еще ниже, и это не оптимально, учитывая, что диапазон светимостей SDR и так достаточно мал, при этом он должен оптимально содержать соответствующую эмуляцию большого диапазона светимостей HDR.
Тогда возникает вопрос, следует ли регулировать это значение WLO для IDR-изображения (как видно на ФИГ. 12b, самая высокая яркость на промежуточных изображениях может уже приближаться к PB_IDR, при этом все еще есть окончательный переход к отображению на 1,0 для подвергнутого повторной градуировки SDR-изображения; это отображение также может быть эквивалентно показано в нормализованном диапазоне светимостей HDR-изображения с 5000 нит, что обозначено посредством «ON»). При первом подходе в этом нет необходимости (поскольку есть некоторая свобода в том, как разработать алгоритм вычисления функции F_Mt1_ca), но в случае ее масштабирования можно использовать следующий подход.
Чтобы иметь возможность масштабировать функцию отображения светимости, необходимо определить коэффициент масштабирования для такого горизонтального масштабирования, которым в данном случае являются ее параметры WLO_ca и, аналогично, масштабированный BLO_gr (обозначен как «BLO_ca»). Если нужно, чтобы этот параметр масштабировался линейно с PB_IDR, тогда ограничения должны заключаться в том, что действие выполняется полностью, т.е. смещение имеет его максимальную величину BLO_gr, когда PB_IDR = PB_SDR. С другой стороны, для HDR-изображения BLO или WLO должно быть равно нулю, так как ничего не требуется корректировать, поскольку у нас есть тождественное преобразование для отображения Mster_HDR с 5000 нит в Mster_HDR с 5000 нит.
Следовательно, можно сформулировать такое определение параметров:
WLO_ca = scaleHor*WLO_gr (0 <= ScaleHor <= 1)
BLO_ca = scaleHor*BLO_gr                                                    [Ур. 6]
Тогда возникает вопрос, как определить ScaleHor.
На ФИГ. 12b показан спектр изображений с разным динамическим диапазоном, точнее говоря, с разной PB_C, которые скомпонованы по горизонтальной оси. Они расположены вдоль воспринимаемых положений пиковой яркости PB_C каждого изображения. Таким образом, мы помещаем их в положение с абсциссой v(PB_C), где v является функцией из уравнения 1, причем значение PB_C используется для параметра L_in, и значение RHO из уравнения 2 вычисляется для максимальной яркости изображения Mster_HDR, которое было подвергнуто градуировке (т.е., например, RHO составляет 25 для изображения Mster_HDR с PB_C 5000 нит). Если также на оси ординат отложены яркости L, параметризованные в соответствии с функцией v (на вертикальной оси) с тем же RHO = 25, тогда значения PB_C точно следуют прямой линии, и определения и вычисления могут быть выполнены в этой парадигме. Например, можно спроецировать яркости для пиковых яркостей PB_C любого промежуточного изображения на основную (5000 нит) ось яркости. Использовано обозначение «P_I1oI2», означающее значение яркости, соответствующее применению v-функции с пиковой яркостью (которая является нормальной светимостью) изображения I1, когда оно представлено в диапазоне яркостей изображения I2. Так, например, P_IoH является яркостью для пиковой яркости выбранного IDR-изображения в диапазоне яркостей Mster_HDR, а P_SoH является яркостью 100 нит (следует отметить, что 1,0 в этом диапазоне соответствует PB_C изображения Mster_HDR, так что положение, например, 100 нит, например, 0,5, будет варьироваться в зависимости от выбранного представления изображения Mster_HDR, в связи с чем уравнения 1 и 2 представляют собой семейство кривых, параметризованных посредством RHO).
Тогда подходящей функцией для ScaleHor будет та, что начинается с 1-P_IoH. Эта функция действительно будет увеличиваться по мере уменьшения PB_IDR, т.е. чем правее мы выбираем наше представление IDR-изображения для изображения MsterHDR. И она будет давать 0 в случае, если P_IoH = 1, что происходит, когда выбрано IDR-изображение с 5000 нит (чисто для теоретического объяснения уравнения scaleHor, потому что это не имеет смысла с технической точки зрения). Однако это уравнение не равно 1,0, когда IDR = SDR, поэтому требуется масштабировать его с коэффициентом k.
Можно проверить, что нормализация верна, если k = 1-P_SoH (что находится в противоречии со значением переменной P_IoH, соответствующим различным положениям IDR фиксированного значения), в связи с чем:
ScaleHor = (1-P_IoH)/(1-P_SoH)                                            [Ур. 7]
Определение правильной функции para (см. ФИГ. 4, блок 404) для преобразования канала является более сложным и поясняется с помощью ФИГ. 13.
В этом случае изобретатели решили выполнить преобразование функции в диагональном направлении, ортогональном диагонали ([0,0]-[1,1]) единичной матрицы. Она должна быть преобразована с эквивалентным выбором параметров в нормальном представлении системы координат Mster_HDR/XDR для всех функциональных повторных градуировок.
Базовое масштабирование задается в системе осей, повернутой на 45 градусов, которая изменяет диагональ на горизонтальную ось (см. ФИГ. 13a). Можно видеть функцию Fx, которая, например, является повернутой функцией para. Имеет смысл масштабировать любое значение dY для точки на повернутой диагонали, т.е. на новой оси x (на которой dX соответствует некоторой абсциссе, т.е. яркости L_Mster_HDR в исходной системе осей), с помощью коэффициента La/K, где K является полным действием функции, т.е. полным значением dY, и значение dY_ca масштабирования будет соответствовать (La/K)*dY в этой повернутой системе.
Зададим sc_r = La/K, где La = 1/P_IoH и K = 1/P_SoH (следует отметить, что значение яркости I2 на оси I1 может быть переформулировано как значение яркости I1 на оси I2, в частности, например, 1/P_IoH = P_HoI; например, если P_IoH = 0,7, это означает, что PB_Mstr_HDR будет придерживаться 1/0,7 выше PB_IDR).
Теперь нужно вычислить эквивалентное вертикальное масштабирование sc* в отношении диагонали sc_r.
Это можно сделать, применив математическую модель обратного вращения (фактически, сначала задав K и La для 1,0 вместо 1,4), перенеся представление по ФИГ. 13a на диагональ по ФИГ. 13b. Это приводит в результате использования матрицы поворота (любых x_r, y_r в диагональной системе, например, 1, dY, повернутых к основному представлению) к следующему:
[x1, y1] = [cos(pi/4) -sin(pi/4); sin(pi/4) cos(pi/4)]*[1, P_HoI = 1/La]
[x2, y2] = [cos(pi/4) -sin (pi/4); sin(pi/4) cos(pi/4)]*[1, P_HoS = 1/K]              [Ур. 8]
Следует отметить, что из-за диагонального масштабирования координаты x и y изменятся, но SG и HG, а также любое другое изменение масштабируемой точки в любом случае задаются как наклоны, а не углы.
Поворот, начинающийся с линии от (0,0) на ФИГ. 13b до квадрата, представляющего собой диагонально масштабированную точку функции отображения яркости, к линии от (0,0) до круга, являющегося исходной точкой функции отображения светимости, или наоборот, можно найти, разделив наклоны по любому фиксированному значению абсциссы, например (изменению угла соответствует вертикальное изменение нормализованного коэффициента sc* масштабирования):
sc* = (y2/x2)/(y1/x1) = [(1+1/K)/(1-1/K)]/[(1+1/La)/(1-1/La)] = [(K+1)/(K-1)]/[(La+1)/(La-1)] = [(La-1)*(K+1)]/[(La+1)*(K-1)]                              [Ур. 8]
Затем необходимо вычислить фактическое расстояние n по оси ординат, соответствующее полному вертикальному масштабированию (sc* = 1), и это можно выполнить, осознав, что из-за угла 45 градусов, задействованного в диагональном масштабировании, mip является средней точкой, имеющей расстояние Fd под ней до диагонали и над ней до точки (mx, my) пересечения двух линейных отрезков функции para. Отсюда, n = Fd равно половине дифференциальной крутизны SG-1 при mx, т.е. mx*(SG-1)/2.
После этого необходимо вычислить смещенную точку (mxca, myca) пересечения, которая выглядит следующим образом:
mxca = mx+d = mx+[mx*(SG-1)/2]*(1-sc*)
myca = my-d = SG*mx-(mxca-mx) = -mxca+mx*(SG+1)  [Ур. 9]
Определив местоположение новой точки, можно, наконец, вычислить адаптированное для канала усиление (SG_ca, см. ФИГ. 10) тени и адаптированное для канала усиление HG_ca бликов:
SG_ca = myca/mxca
HG_ca = (myca-1)/(mxca-1)            [Ур. 10]
Наконец, для параболического среднего отрезка есть несколько подходов/вариантов осуществления.
В одном подходе, который на практике дает неплохие визуальные результаты, берется WP_ca = WP_gr, где WP_gr является исходной шириной параболического отрезка, оптимизированной специалистом по градуировке или автоматическим средством создателя контента, определяющим взаимосвязь между основным HDR-изображением и основным SDR-изображением, а WP_ca является шириной для адаптированной для канала функции para. Другой подход состоит в том, чтобы задавать WP_ca = v(abs(sc*), 100)*WP_gr, причем v-функция снова задается посредством приведенных выше уравнений 1 и 2.
При наличии эту доступную технологию можно использовать для формулирования подходящего определения IDR для SLHDR2PLUS.
Возвращаясь к ФИГ. 10, приведенные выше уравнения определяют, как можно однозначно задать функцию F_Mt1_ca, например, для выбранной PB_IDR 1000 нит, начиная, например, с основного HDR-изображение с 5000 нит. Если эта функция определяется блоком 901 генерирования HDR-функции, она может быть выведена как F_H2hCI и отправлена в качестве входных данных для блока 902 вычисления IDR-изображения. Этот блок будет применять эту функцию ко всем светимостям пикселей изображения MsterHDR, которое он принимает как входное изображение [L_IDR = F_H2hCI(L_MsterHDR) = F_Mt1_ca(L_MsterHDR)], чтобы получать соответствующие светимости пикселей IDR-изображения, и он будет выводить IDR-изображение.
Теперь все еще остается вопрос, какую функцию отображения светимости следует добавить в метаданных к IDR-изображению, чтобы оно выглядело так, как если бы это было обычное ETSI2-изображение (т.е. чтобы любой унаследованный ETSI2-декодер мог нормально его декодировать, выводя SDR-изображение или любое MDR-изображение так, как оно должно выглядеть).
Эта вторичная функция F_I2sCI отображения светимости IDR, которая также будет функцией para, может быть задана следующим образом (и она будет вычисляться генератором 903 функции отображения IDR). Усиление тени для IDR-изображения SG_IDR можно рассматривать как остаточное умножение (или наклон) после перехода от Mster_HDR к IDR-изображению (т.е. оставшееся относительное увеличение яркости для получения SDR-изображения, начиная с IDR-изображения):
Y_out(x_in) = SG_gr*x_in; = F_I2sCI(L_IDR = SG_ca*x_in)
Также известно, что такое же отображение линейных отрезков функции para для самых темных пикселей применяется к новым входным значениям яркости IDR:
Y_out = SG_IDR*L_IDR
Отсюда:
SG_gr = SG_IDR*SG_ca             [Ур. 11]
(например, если взять входное значение x_in = L_Mster_HDR = 0,2, то оно отображается по диагонали в L_IDR = 0,3 = (0,3/0,2)*x_in, которое, наконец, отображается в Y_out = 0,4 = k*0,3, где k = 0,4/0,3; Y_out = SG_gr*0,2 = (0,4)*0,2 = (0,4/0,3)*(0,3/0,2)*0,2).
Таким образом, из уравнения 11 следует следующий способ вычисления необходимой SG_IDR (при условии, что был использован фиксированный подход к определению SG_ca, как описано выше):
SG_IDR = SG_gr/SG_ca             [Ур. 12]
По аналогии:
HG_IDR = HG_gr/HG_ca             [Ур. 13]
При этом HG_gr снова является оптимальным усилением бликов, определяемым создателем контента, определяющим взаимосвязь между видом основного SDR-изображения и видом основного HDR-изображения (т.е. его распределение яркостей), а HG_ca является адаптированным для канала усилением бликов, соответствующим исходному усилению HG_gr бликов.
Следует отметить, что базовая регулировка усиления тени может быть определена относительно ожидаемого простого усиления тени, исходя из разницы в пиковой яркости между SDR-изображением и IDR-изображением, следующим образом: ShadBst = SG_IDR/P_IoS. Как сказано, P_IoS является максимальной кодируемой светимостью IDR-изображения, когда она представлена на нормализованной оси яркости SDR-изображения, т.е., например, 7,0.
Следует отметить, что существуют некоторые практические варианты осуществления, в которых усиление бликов не может быть больше заранее определенного числа (таким способом, каким стандарт ETSI кодирует усиления бликов), и в этом случае требуется дальнейшее повторное вычисления усиления бликов, см. ниже, но это не обязательно для всех вариантов осуществления. Это можно реализовать, например, следующим образом:
Если HG_IDR>KLIM, то HG_IDR_adj = KLIM,         [Ур. 14]
причем KLIM предпочтительно равно 0,5.
В самом деле, если допустить, что специалист по градуировке сделал HG_gr близким к максимальному значению 0,5, а соответствующее HG_ca (которое в качестве более мягкого отображения должно иметь HG_ca ближе к диагонали, т.е. быть больше, чем HG_gr), например, равным 0,75, тогда можно обнаружить, что результат деления составляет 0,67, что выше максимального значения, которое может передаваться в соответствии со стандартизованным чистым видеосигналом HDR ETSI2. Решение, например, состоит в том, чтобы заново определить меньшее HG_gr так, чтобы HG_IDR не было выше 0,5, т.е. стандартизованного максимума. Это снова потребует значительных вычислений, учитывая все аспекты повторной градуировки, как будет показано ниже. Другой вариант, например, заключается в том, чтобы сделать сигнал «метаданные + IDR» совместимым посредством ограничения HG_IDR значением 0,5, при этом передавая в качестве дополнительных метаданных точное неограниченное HG_IDR. HG_gr обычно будет зависеть не только от PB_C изображения Mster_HDR, но и также и от того, какой тип объектов изображения находится на изображении (например, яркие цветные объекты, которые достаточно важны, чтобы не выполнять слишком сильное сжатие их светимостей, причем крайним примером является изображение яркой планеты рядом с мощным солнцем, которое градуируется с помощью множества очень высоких значений яркости L_Mster_HDR и нескольких низких яркостей). HG_ca обычно будет зависеть, среди прочего, от того, насколько близко выбранная PB_IDR к PB_Mster_HDR.
Кроме того, предположим, что WP_IDR = WP_gr         [Ур. 15]
Как было сказано, возможны и другие варианты осуществления, но с целью упрощения пояснения принципов будет использовано вышеприведенное предположение.
С помощью уравнений 6 были вычислены соответствующие адаптированные для канала значения смещения уровня черного и смещения уровня белого (при условии, что такие смещения были определены создателем контента). Теперь остается вычислить (кодером видео IDR) соответствующие значения BLO_IDR и WLO_IDR.
Сначала в предпочтительном способе кодирования вычисляется значение glim:
glim = {log[1+(rhoSDR-1)*power((0,1/100); 1/2,4)]/log(rhoSDR)}/{log[1+(rhoHDR-1)*power(1/PB_Mster_HDR; 1/2,4)]/log(rhoHDR)}            [Ур. 16]
где rhoSDR = 1+32*power(100/10000; 1/2,4), и
rhoHDR = 1+32*power(PB_Mster_HDR/10000; 1/2,4).
Это позволит упростить адаптацию BLO, поскольку на самом деле в стандартном подходе ETSI1 и ETSI2 к HDR-кодированию имеется параллель с последовательностью обработки светимости (т.е. между блоками 402-406 по ФИГ. 4 и блоками 1502-1506 по ФИГ. 15), причем на фигурах для простоты понимания поясняются только частичные последовательные этапы повторной градуировки в подходе заявителя, а также линейный ограничитель усиления, применяющий линейную кривую с углом glim к перцептивной Y'HP и выполняющий сравнение со значением Y'GL, вычисленным с помощью поясненных блоков, и выбирающий максимальное из двух значений, вычисленных параллельно (это, в частности, важно для обратимости ETSI1, чтобы можно было восстанавливать самые низкие яркости HDR).
Теперь можно показать, что благодаря действию этого ограничителя значения BLO можно легко адаптировать для канала с помощью следующего уравнения:
BLO_IDR = BLO_gr*glim                                                      [Ур. 17]
glim, как показано выше, зависит от конкретного выбора PB_Mster_HDR и может, например, быть равным 0,6.
Это проиллюстрировано на ФИГ. 17. На ФИГ. 17b показано увеличение самых низких яркостей при отображении яркости полного диапазона, показанном на ФИГ. 17а. Различные функции снова показаны на нормализованном графике, которые соответствуют различным входным PB_C и выходным PB_C.
FL_gr представляет собой функцию, созданную создателем контента для отображения, например, Mster_HDR с 4000 нит в SDR с 4000 нит. Пунктирная кривая FL_ca представляет собой адаптацию канала для получения, например, IDR с 500 нит из Mster_HDR. Пунктирная кривая FL_IDR представляет собой кривую для отображения яркостей IDR в яркости SDR. На увеличенном графике на ФИГ. 17b видно, что кривая FL_gr имеет резкий перегиб при входном значении около 0,03, где срабатывает параллельный ограничитель усиления (т.е. его линейное выходное значение y = glim*Y'HP выбирается в качестве выходного значения функции для низких входных значений яркости вместо значения Y'GL, получаемого в результате функционирования всех блоков в последовательности, как показано на ФИГ. 4 (полное описание схемы см. на ФИГ. 4, относящейся к стандарту ETSI1)).
Значение BLO любой кривой представляет собой пересечение с горизонтальной осью, которое произошло бы, если бы не было ограничения усиления, т.е., например, BLO_gr, показанного посредством продления локального наклона выше значения 0,3 кривой FL_gr, как показано пунктирной линией.
В рамках настоящей заявки достаточно знать, что можно также продлевать кривую FL_IDR для получения значения BLO_IDR (следует отметить, что есть значение glim_IDR, которое будет использоваться в стандарте ETSI2 и которое отличается от glim_gr), и что это более низкое значение BLO_IDR можно найти как glim*BLO_gr (следует отметить, что единственное значение glim, вычисление которого необходимо для SLHDR2PLUS, это то, которое показано на ФИГ. 17b как glim_gr).
Затем для получения WLO_IDR выполняются следующие вычисления.
На ФИГ. 17a также показано, что существует три разных WLO, а именно WLO_gr, изначально созданное специалистом по градуировке в качестве его основной стратегии отображения из HDR в SDR (также показано как «ON» на ФИГ. 12b), WLO_ca, адаптированного для канала, при котором кривая FL_ca пересекает верхнюю горизонтальную линию и которое является отображением яркости WLO_gr на ось яркости IDR (что можно представить с помощью представлений, подобных показанным на ФИГ. 12, где MXH проецируется на MXI), и, наконец, есть также WLO_IDR, которое является WLO, остающимся для преобразования яркостей IDR в SDR (которое не совпадает с масштабированным WLO_ca, потому что определение нормализованной оси абсцисс для яркости изменяется, начиная со связанной PB_C = 5000 для WLO_gr и WLO_ca, поскольку входное изображение для повторной градуировки с помощью этих функций представляет собой Mster_HDR с 5000 нит, и заканчивая PB_C = 1000 нит для связанных с IDR определений при потребностях в повторной градуировке в силу того, что в этом совместимом с ETSI2 представлении начальное изображение для получения других изображений из того, что принято, является, например, IDR-изображением с PB_C 1000 нит).
На ФИГ. 17c увеличен масштаб этого верхнего угла (около [1,1]) графика функции. Значение WLO_IDR следует из использования значения WLO_gr в качестве входного значения для кривой FL_ca, как показано круговой проекцией из (нормализованной) позиции на оси ординат в позицию на оси абсцисс. На ФИГ. 12b видно, что позиция MXI действительно является нормализованной позицией на оси яркости IDR, которая отображается в яркость SDR, равную 1,0, вследствие чего она соответствует по определению WLO_IDR.
На первый взгляд можно подумать, что если кривая отображения, через которую значение WLO впоследствии поступает на сторону кодирования, является функцией para (см. на Фиг.4 отображение посредством блока 404 после блока 403), то обычно будет задействован именно верхний линейный отрезок функции para.
Однако в зависимости от того, как задана функция para, любая ее часть может быть задействована (существуют даже настройки, при которых просто специальное значение SG функции para задает очень высокую точку пересечения, теоретически перемещающуюся выше 1,0, вследствие чего поведение функции в этом случае вплоть до самых высоких яркостей определяется только наклоном усиления тени, что приводит к линейной кривой, которая полезна для повторной градуировки в SDR HDR-изображения, содержащего в основном очень высокие яркости, как, например, планета-пустыня, освещенная 5 солнцами в научно-фантастическом фильме). Следовательно, требуется довольно сложное вычисление в случае, когда необходимо проверить, какой из трех отрезков функции para является применимым, при этом предпочтительная математическая реализация выглядит следующим образом:
WLO_co = 255*WLO_ca/510
BLO_co = 255*BLO_ca/2040
Xh = (1-HG_ca)/(SG_ca-HG_ca)+WP_ca
WW = (1-WLO_gr*255/510-BLO_co)/(1-WLO_co-BLO-co)
IF WW>= Xh, ТО WLO_IDR = HG_ca*(1-WW)*510/255 [верхний линейный отрезок]
ELSE {
Xs = (1-HG_ca)/(SG_ca-HG_ca)-WP_ca
IF WW>Xs
{[входное значение, т.е. WLO_gr, должно отображаться через параболическую подчасть функции para, адаптированной для канала]
A = -0,5*(SG_ca-HG_ca/(2*WP_ca))
B = (1-HG_ca)/(2*WP_ca)+(SG_ca+HG_ca)/2
C = -[(SG_ca-HG_ca)*(2*WP_ca)-2*(1-HG_ca)]^2 / (8*(SG_ca-HG_ca)*2*WP_ca)
WLO_IDR = (1-(A*WW*WW+B*WW+C))*510/255
}
ELSE [в особых случаях, когда применяется подчасть функции para для усиления тени]
WLO_IDR = (1-SG_ca*WW)*510/255
}
Эти параметры SG_IDR, HG_IDR, WP_IDR, BLO_IDR, WLO_IDR (и при необходимости аналогичные дополнительные параметры для настраиваемой кривой) являются параметрами, которые характеризуют и, следовательно, выводятся как функция F_I2sCI (то, действительно ли выводятся эти параметры, характеризующие форму этой необходимой кривой с целью выполнения адаптации дисплея, или выводится LUT, характеризующая функцию, зависит только от выбора варианта осуществления; главное, чтобы правильная форма функции F_I2sCI отображения светимости в нормализованной до 1,0 системе осей передавалась совместно с IDR-изображением (IDR-изображениями) в виде метаданных).
Кодер теперь характеризуется в соответствии с новым подходом SLHDR2PLUS. Тогда возникает вопрос, как должен быть спроектирован декодер. Надо понимать, что этот декодер теперь получит только функцию F_I2sCI, поэтому он должен каким-то образом вычислять функцию F_ ??, необходимую для восстановления исходного изображения Mster_HDR из принятого IDR-изображения. В этом подходе SLHDR2PLUS к кодированию это была бы функция, обратная функции F_H2hCI, используемой в кодере для генерирования яркостей IDR, но такая функция все равно должна подаваться вычислению.
В показанном на ФИГ. 11 в общем виде декодере 1100 видео SLHDR2PLUS блок 1104 определения функции светимости должен вычислять F_ ?? функцию на основе только информации, которую он принимает, т.е. F_I2sCI, а также двух пиковых яркостей PB_CH и PB_C_H50. Как только эта функция определена, ее можно применять для восстановления исходных светимостей Mster_HDR, применяя ее (в преобразователе 1102 цвета) к принятым яркостям IDR: L_REC_M_HDR = F_??(L_IDR), из которых могут быть вычислены соответствующие светимости HDR посредством применения уравнений, которые обратны уравнениям 1 и 2, к этим яркостям L_REC_M_HDR. Наконец, восстановленное основное HDR-изображение (REC_M_HDR) может быть выведено преобразователем 1102 цвета в любом желаемом формате, например, в цветовом представлении YCbCr на основе PQ и т.д. Декодер 1100 может в предпочтительных вариантах осуществления также быть выполнен с возможностью вычисления любого адаптированного для дисплея изображения, например, MDR_300 в случае, если подключенный дисплей с PB_D 300 нит должен снабжаться лучшим эквивалентом принимаемого HDR-изображения, и это может быть выполнено либо с помощью математической модели SLHDR2PLUS, либо просто с помощью обычного ETSI2-декодирования, поскольку соответствующее изображение (IDR) и функция (F_I2sCI) отображения светимости уже доступны в качестве входных данных в преобразователе 1102 цвета).
На ФИГ. 14 показано, что именно в функции para используется для восстановления изображения REC_M_HDR из принятого IDR-изображения (аналогичные вычисления будут выполнены для WLO и BLO, а также для настраиваемых точек формы кривой, где это применимо (следует отметить, что, как обсуждается ниже, некоторые варианты осуществления не будут применять философию настраиваемой кривой между Mster_HDR и IDR, а только технологию понижающей градуировки SDR, т.е. между IDR и SDR).
Теперь необходимо вычислить новое усиление тени (SG_REC) и новое усиление (HG_REC) бликов для восстановления основного HDR, а также вычислить обратное параболическое уравнение для параболического отрезка, чтобы найти необходимую форму F_L_RHDR функции para для отображения светимости при восстановлении (следует отметить, что просто в целях иллюстрации обратная функция отображения светимости из SDR в Mster_HDR также показана на этом нормализованном графике пунктирной линией; следует отметить, что из-за свойства обратной функции отображения SDR в HDR, усиление тени этой кривой SG_RM равно 1/SG_gr и т.д.).
На ФИГ. 15 сначала поясняются некоторые аспекты типичной топологии базовых вычислений декодера 1502. Как можно видеть, это примерно та же структура, что и у кодера, несмотря на то, что он выполняет повторную градуировку в противоположном направлении (восстановление REC_M_HDR из IDR), что удобно, поскольку при необходимости можно легко переконфигурировать такую топологию вычислений. Если блок 1501 отображения светимости получает полную LUT (всех частичных последовательных действий по повторной градуировке), он действительно будет функционировать таким же образом, как и кодер.
Конечно, необходимо сформировать некоторые отличия, чтобы декодер выполнял правильную повторную градуировку при восстановлении HDR. Во-первых, L_in теперь будет нормализованной светимостью IDR, а выходная светимость Lh будет нормализованной светимостью, которая корректно масштабируется, например, для воспроизведения на дисплее с PB_D 5000 нит. Также ясно, что последний множитель, который дает цвета (Rs, Gs, Bs) пикселей изображения REC_M_HDR, теперь умножается на значение PB_C_H50, принятое в метаданных. Фактически, внешний цикл вычисления перцептуализации, выполняемый блоком 1502 перцептуализации и блоком 1506 линеаризации, применяет значения PB_CH и PB_C_H50, соответственно, в уравнениях 1, 2 и обратных им уравнениях. Также следует отметить, что теперь порядок различных частичных повторных градуировок в той степени, в которой они присутствуют, является обратным: сначала воспринимаемая яркость Y'IP IDR точно градуируется обратной настраиваемой кривой в блоке 1503 точной градуировки, давая в результате повторно градуированные яркости Y'IPG IDR. После этого первое отображение на ось яркости HDR (т.е. в соответствующие перераспределенные яркости для соответствующего правильного вида HDR, фактически, вид Mster_HDR с PB_C_H50 5000 нит) выполняется блоком 1504 грубого отображения светимости, который применяет обратную функцию para по ФИГ. 14, которую все еще необходимо правильно вычислить, и он даст в результате исходные яркости Y'HC HDR. Наконец, блок 1505 обратного смещения черного и белого будет создавать правильные нормализованные яркости (Y’HR) REC_M_HDR, которые должны использоваться в дальнейших вычислениях с использованием цветностей, чтобы получать полный трехмерный цвет для каждого пикселя. Как было пояснено, блок 1504 будет обычно получать вычисленное SG_REC и т.д. (или LUT-версию функции отображения яркости, которая должна применяться в соответствии с этими тремя значениями). Следует отметить, что если различные значения PW оставались идентичными, тогда WP_REC снова будет WP_gr. Блок 1505 аналогичным образом будет получать смещение черного и белого для восстановления Mster_HDR (WLO_REC, BLO_REC). Нижняя часть основного блока, выполняющего хроматическую обработку (процессор 1550 цветности), будет аналогична топологии кодера по ФИГ. 4, за исключением загрузки правильной C_LUT F_C [Y] в блок 1551 определения хроматической обработки (см. поясняющие это вычисление ниже).
Теперь вопрос заключается в том, можно ли и каким образом вычислить параметры функций, которые должны применяться в декодере, запрограммированном для восстановления Mster_HDR из IDR (такая ситуация не возникала раньше при декодировании HDR-видео).
Например, можно понять подход к усилению тени.
Перед вычислением SG_REC можно поинтересоваться, может ли быть определено общее усиление SG_RM тени от SDR до Mster_HDR, и на основании этого можно тогда с помощью деления в уравнении 12 определить SG_REC.
Итак, SG_IDR = SG_gr/SG_ca.
Также можно показать, что SG_ca = (mx/mxca)*(SG_gr+1)-1.
Это можно заметить, исходя из того, что myca = SG_ca*mxca (по определению нижнего линейного отрезка адаптированной для канала функции para), а также myca = my-d = mx*SG_gr+(mx-mxca).
Второе соотношение mxca/mx получается путем деления верхнего из уравнений 9 на mx.
Поскольку, подставив первое соотношение во второе (удалив часть mx/mxca), можно записать SG_ca через SG_gr, теперь между SG_IDR и SG_gr формируется окончательная взаимосвязь:
SG_ca = (SG_gr+1)/[(SG_gr-1)*(1-sc*)/2+1]-1.
Откуда:
SG_IDR = SG_gr/{(SG_gr+1)/[(SG_gr-1)*(1-sc*)/2+1]-1}    [Ур. 18]
Это уравнение теперь может быть решено для неизвестного SG_gr, учитывая известное (принятое) SG_IDR (а sc* было вычислено только из пиковых яркостей, которые также известны, поскольку принимаются как PB_CH, т.е. PB_IDR, так и PB_C_H50, и PB_SDR обычно составляет 100 нит, но иначе оно также может быть помещено в метаданные сигнала).
Используя SG_IDR = y и SG_gr = x для упрощенной записи, получим тогда, что:
y = [(x-1)*(1-sc*)*x/2+x]/[x-(x-1)*(1-sc*)/2].
Следовательно: x^2+x*(y-1)*[(sc*+1)/(sc*-1)]-y = 0        [Ур. 19]
[эти коэффициенты (называемые ниже A’, B’, C’), являющиеся функциями y и sc*, будут использоваться ниже для решения квадратного уравнения в общей системе уравнений для восстановления светимостей изображения Mster_HDR].
Для определения всех параметров, задающих форму реконструирующей функции отображения светимости, следующие уравнения обычно могут быть использованы в одном из вариантов осуществления (это восстанавливает функцию, обратную той, которая использовалась для формирования IDR-изображения на стороне кодера). Сначала определяется правильная функция para, из которой впоследствии вычисляются смещения черного и белого.
rhoSDR снова вычисляется, как указано выше, а rhoCH вычисляется как:
rhoCH = 1+32*power(PB_CH/10000; 1/2,4)
mu = log[1+(rhoSDR-1)*power(PB_CH/PB_SDR; 1/2,4)]/log(rhoSDR)
K, La и sc* вычисляются, как указано выше, с K = P_HoS и La = P_HoI.
A’= 1
B ’= (SG_IDR-1)*(sc*+1)/(sc*-1)
C ’= -SG_IDR
Как только на стороне декодера удалось определить необходимые параметры всех требуемых функций (т.е. из других принятых доступных параметров SG_IDR и т.д.), остальная часть декодирования выполняется на основе того, что возможность обратимости, заключающаяся в простом применении обратной (обратных) кривой (кривых) кодирования, например, функции para, подобной той, что показана на ФИГ. 14 (которой придана подходящая форма путем вычисления соответствующих определяющих параметров 1/SG_REC и т.д.), будет отменять действие функции para IDR-кодирования, как показано на ФИГ. 10, т.е. определять повторное IDR-декодирование в отношении яркостей Mster_HDR и т.д.).
Отсюда следует, что:
SG_gr = [-B’+SQRT(B’^2-4*A’*C’)]/2*A’,
где ^2 означает квадратную степень.
SG_REC = SG_gr/SG_IDR                                                     [Ур. 20]
Таким образом, обратное усиление (1/SG_REC) тени для адаптации канала уже известно.
Аналогичным образом можно вычислить необходимое усиление бликов.
A’’ = (SG_REC*HG_IDR-SG_gr)*(SG_gr+1)/(SG_REC+1)
B’’ = SG_gr-HG_IDR-(SG_REC*HG_IDR-1)*(SG_gr+1)/(SG_REC+1)
C’’ = HG_IDR-1
MxRec = [-B’’+SQRT(B’’^2-4*A’’*C’’)]/2*A’’
IF MxRec = 1, ТО HG_REC = 0
ELSE = HG_REC = max[0, (MxRec*SG_gr-1)/(MxRec-1)]
Поскольку функция para определяется из ее параметров, после их вычисления определяется необходимая функция para.
Для получения BLO_REC и WLO_REC используются следующие уравнения:
mx = (1-HG_gr)/(SG_gr-HG_gr)
mxca = mx*(SG_gr-1)*(1-sc*)/2+mx
myca = mx*(SG_gr+1)-mxca
SG_ca = myca/mxca
IF mxca = 1, ТО HG_ca = 0, ELSE HG_ca = max[0, (myca-1)/(mxca-1)]
ScaleHor = (1-1/La)/(1-1/K)
RHO = 1+32*power(PB_C_H50/10000; 1/2,4)
glim = {log[1+(rhoSDR-1)*(0,1/100)^(1/2,4)]/log(rhoSDR)}/{log[1+(RHO-1)*(1/PB_C_H50)^(1/2,4)]/log(RHO)}; [как и прежде, то же glim, которое используется кодером, потому что в подходе ETSI это фиксированный параллельный обходной путь в механизме Im_PB_C_1 <> Im_PB_C_2, причем эти два изображения определены как повторно градуированные, начиная с одной и той же PB_C_1, и в этом конкретном подходе SLHDR2PLUS являются, соответственно, изображениями Mster_HDR и IDR]
BLO_gr = BLO_IDR/glim [уравнение, обратное уравнению 17, поэтому его относительно легко определить, не прибегая к уравнениям более высокого порядка, и впоследствии нужно только применять фиксированный механизм адаптации канала для получения необходимого WLO_REC, который равен WLO_ca, используемому при кодировании, но теперь будет инвертирован, причем сложение становится вычитанием]
BLO_REC = BLO_ca = BLO_REC*ScaleHor
После этого WLO_REC вычисляется путем проецирования его через функцию para, как это было выполнено в принципе кодирования, для последующего инвертирования.
IF HG_ca = 0 WLO_REC = 0
ELSE
{
BLO_co = 255*BLO_ca/2040
Xh = (1-HG_REC)/(SG_REC-HG_REC)+WP_REC
Xh_REC = HG_REC*Xh+1-HG_REC
WW_REC = 1-WLO_IDR*255/510
IF WW_REC>=Xh_REC, ТО WCA = 1-(1-WW_REC)/HG_REC
ELSE
Xs = (1-HG_REC)/(SG_REC-HG_REC)-WP_REC
Xsca = SG_REC*Xs
IF WW_REC>Xsca
{
A’’’= -0,5*(SG_REC-HG_REC)/(2*WP_REC)
B’’’= (1-HG_REC)/(2*WP_REC)+(SG_REC+HG_REC)/2
C’’’= -[(SG_REC-HG_REC)*(2*WP_REC)-2*(1-HG_REC)]^2/[8*(SG_REC-HG_REC)*(2*WP_RE)]
WCA = (-B’’’+SQRT(B’’’^2-4*A’’’*{C’’’-WW_REC})/(2*A’’’)
WCA = min(WCA, 1)
}
ELSE WCA = WW_REC/SG_REC
WLO_REC = (1-WCA)*(1-BLO_co)/[(1-WCA*ScaleHor)*(510/255)]
Следует отметить, что в то время как BLO действительно является чисто аддитивным вкладом с точки зрения отображения, WLO преобразуется в мультипликативное масштабирование до максимума (например, на ФИГ. 4):
Y’HPS = (Y’HP-BLO)/(1-BLO-WLO)            [Ур. 21]
Вся эта информация обычно может быть содержаться в одной LUT обработки светимости, которая относится, например, к перцепционной области от Y’IP до Y’HR (или, еще лучше, в общей LUT, которая определяет Lh для каждого значения L_in). Это восстановит изображение REC_M_HDR.
Как упоминалось выше, также полезно, если декодер может напрямую выводить адаптированное для дисплея изображение, например, MDR_300.
Для этого может использоваться следующая технология, поясненная на ФИГ. 16 (где используются два частичных LUT, на практике наиболее полезно просто загрузить одну LUT, называемую P_LUT, поскольку верхний канал вычисления светимости проходит через предпочтительные основные блоки вычисления, например, процессор цвета на каждый пиксель в специализированной ИС декодирования, обычно воплощенной просто как LUT. Значения яркости Y_IDR вводятся (например, обычно кодируются с помощью YCbCr на основе PQ), и они преобразуются блоком 1601 линеаризации в нормализованные светимости L_in. Блок 1602 перцептуализации функционирует, как пояснено выше (см. уравнения 1 и 2), и использует значение RHO для пиковой яркости PB_IDR IDR, например, 1000 нит. Это дает в результате перцептуализированные яркости Y’IP IDR. Блок 1603 отображения светимости восстанавливает основное HDR-изображение, как пояснено выше, т.е. он получает все вычисленные параметры, определяющие реконструирующую функцию F_L_REC отображения светимости из IDR в MsterHDR, или обычно LUT формы этой функции. Это дает в результате восстановленные яркости Y’HPR Mster_HDR. Это изображение является хорошей основой для вычисления изображений с более узким динамическим диапазоном/низкой пиковой яркостью PB_C. В основном это работает как механизм ETSI2 при условии, что применяются правильные функции. Эти функции могут быть масштабированы из F_L_IDR, совместно передаваемой как метаданные, или вычислены из восстановленной функции F_50t1, которая является реконструкцией того, что создатель контента определил на своей стороне как оптимальную функцию вычисления основного SDR-изображения из изображения Mster_HDR. Затем эта функция F_50t1 может быть преобразована в соответствующую функцию F_L_DA адаптации дисплея, например, для PB_D 300 нит, в соответствии с принципами, определенными в стандарте ETSI2 (читатель отсылается к этому стандарту для получения подробностей). Она загружается в блок 1604 отображения светимости из HDR в MDR, если таковой имеется. На практике единственную P_LUT будет содержать полное действие F_L_REC, а затем F_L_DA.
Наконец, полученные относительные светимости MDR отправляются в первый умножитель 454 по ФИГ.4, чтобы выполнить ту же самую обработку (также с использованием правильной сопровождающей функции F_C [Y]).
Наконец, необходимо вычислить соответствующую C_LUT (F_C [Y] на ФИГ. 4 или ФИГ. 15, соответственно), которая придает повторно градуированным выходным цветам светимости их соответствующие цветности (чтобы иметь как можно более близкий вид к изображению Mster_HDR, т.е. цветности пикселей выходного изображения и изображения Mster_HDR должны быть, насколько это возможно, примерно идентичными с учетом отличного меньшего динамического диапазона).
C_LUT для восстановления Mster_HDR выглядит следующим образом (другие вычисления C-LUT при повторной градуировке выполняются согласно аналогичным принципам, например, принимая во внимание принципы ETSI2).
Сначала вычисляется CP-LUT, которая является обратным вышеупомянутой P_LUT, которая была применена в кодере для отображения изображения Mster_HDR в IDR-изображение (поэтому в декодере эта обратная коррекция цветности будет использоваться для обратного преобразования из принятых цветностей Cb и Cr IDR-изображения в восстановленные цветности Mster_HDR).
Затем C_LUT для восстановления Mster-HDR может быть вычислена как:
XH = v(PB_M_HDR; 10000)
XS = v(PB_SDR = 100; 10000)
XD = v(PB_D; 10000)
XC = v(PB_CH; 10000)
При этом v снова является функцией v(x, RHO), задаваемой вышеприведенными уравнениями 1 и 2.
CfactCH = 1-(XC-XS)/(XH-XS)
CfactCA = 1-(XD-XS)/(XH-XS)
C_LUT[Y} = [1+CfactCA*power(CP_LUT [Y]; 2,4)]/[Y*{1+CfactCH*power(CP_LUT[Y]; 2,4)}]          [Ур. 22]
Целевая PB_D дисплея может быть задана равной PB_Mster_HDR для восстановления, и в этом случае только разделитель остается в качестве определителя C_LUT. В практическом варианте осуществления степень 2,4 также может быть включена в LUT как, например, CPP_LUT = power(CP_LUT [Y]; 2,4), которая может упростить некоторые вычисления в некоторых вариантах осуществления.
Выше было сказано, что в некоторых практических вариантах осуществления (для текущей совместимости определения метаданных ETSI2) кодера SLHDR2PLUS повторно вычисляет HG_gr для совместимых значений HG_IDR. Это можно сделать следующим образом.
Например, метаданные могли зарезервировать 8-битовое кодовое слово для HG функции para, т.е. в этом случае, поскольку IDR-изображение + его метаданные должны быть сигналом, совместимым с ETSI2, вопрос состоит в том, подойдет ли необходимый HG_IDR в выделенном коде. Стандарт обычно использует функцию распределения кода для преобразования физически необходимого HG_IDR в некоторый HG_COD: HG_COD в [0,255] = F_COD[HG_IDR]. Например, FCOD может составлять 128*(4*HG_IDR), что означает, что максимум 255 соответствует максимуму HG_IDR 0,5.
Необходимо убедиться, что IDR-изображение сформировано таким образом, что HG_IDR просто «вписывается» в диапазон кода, т.е. в прагматическом варианте осуществления это можно реализовать, отчасти адаптируя HG_gr специалиста по градуировке (так чтобы избежать переполнения с использованием фиксированной адаптации канала и основанного на ней определения метаданных IDR).
Расчеты для этого (необязательного) варианта осуществления могут, например, быть такими:
Установите HG_IDR = (254*2)/(255*4);
Экспозиция = тень/4+0,5 [при этом тень является кодификацией ETSI2 для усиления SG_gr тени]
SG_gr = K*экспозиция
A = SG_gr*(HG_IDR-1)-0,5*(SG_gr-1)*(1-sc*)*(HG_IDR+SG_gr)
B = SG_gr-HG_IDR+1+0,5*(SG_gr-1)*(1-sc*)*(HG_IDR+1)
C = HG_IDR-1
MxLM = [-B+sqrt(B*B-4*A*C)]/(2*A)
IF MxLM = 1, ТО HG_gr_LM = 0
ELSE HG_gr_LM = max[0, (MxLM*SG_gr-1)/(MxLM-1)]
Где HG_gr_LM представляет собой скорректированное значение HG_gr. Остальная часть алгоритма будет работать, как описано выше, как если бы специалист по градуировке выбрал оптимальное значение HG_gr_LM с самого начала.
Здесь подробно описан один метод решения проблемы разработки нового кодека SLHDR2PLUS. Существуют альтернативные способы в зависимости от сделанного технического выбора, в частности, от того, какие аспекты считаются ключевыми, в отношении каких других аспектов можно сделать послабление.
Вышеприведенная математическая модель определяет совершенно новый способ реализации HDR-декодера, вне зависимости от того, поддерживает ли он, по меньшей мере, базовый подход к вычислениям, совместимый с подходами ETSI1 и ETSI2: в частности, хотя функции P-LUT и C_LUT разной формы будут вычисляться, как показано выше (несмотря на то, что на ФИГ. 4 и ФИГ. 15 подробно описана физико-техническая философия, лежащая в основе того, как работает наш подход к кодированию HDR, а также почему на практике вся обработка яркости, которая эквивалентна обработке светимости [в одномерном цветовом аспекте обе они связаны через нелинейное зависимое от изображения функциональное преобразование] в канале 401 обработки яркости, соответственно 1501, выполняется путем загрузки правильной общей формы функции отображения яркости P_LUT, и аналогично для C-LUT, называемой F_C [Y], в блоках 451 и 1551, соответственно), топология вычислений является повторно используемой, что является очень полезным свойством для потребителей (они должны купить ИС, например, STB, один раз, и ее можно переконфигурировать для различных новых философий кодирования, перепрограммировав обработку метаданных, но при этом сохранив механизм попиксельного цветового преобразования).
Можно также разработать технологию кодирования IDR, которая повторно использует ту же самую математическую модель ETSI2-декодирования во всех подробностях (т.е. последовательность частичных повторных градуировок 1503-1505), просто указав ETSI2-декодеру соответствующую экстраполяцию вместо его обычной задачи по снижающей градуировке принятого изображения, причем дисплей адаптирует его к отображению с PB_D<PB_IDR. Следует подчеркнуть, что это не «слепая» экстраполяция, которая дает «просто любой» вид изображения с более расширенным динамическим диапазоном, соответствующий виду (т.е., в частности, статистическому распределению относительных яркостей или абсолютных светимостей пикселей IDR) IDR-изображения, а на самом деле создает «автоматически» с помощью этого способа кодирования выходное HDR-изображение, которое выглядит как можно ближе к исходному изображению Mster_HDR на стороне создания контента (которое также в таких вариантах осуществления все еще фактически не принимается, равно как и не принимаются его метаданные, например, SG_gr). Это, конечно, по умолчанию не так просто и требует правильного подхода на стороне кодирования контента. Для декодера в вариантах осуществления этой философии принятая вторичная пиковая яркость PB_C_H50 используется при программировании основного попиксельного декодера так же, как если бы это была желаемая яркость PB_D дисплея (которая тогда, например, в 5 раз выше, чем PB_IDR).
На ФИГ. 18 поясняется этот подход (блок-схема того, как математическая модель кодера работает концептуально). Кроме того, для простоты предположим (хотя эти варианты выбора не обязательно связаны с этим примером), что свобода выбора фиксированного алгоритма адаптации канала была определена так, чтобы выполнять только преобразование функции para, связывающее Mster_HDR и IDR, при этом оставляя любые BLO и WLO (если это еще уместно для текущего изображения или кадра изображений) и настраиваемую кривую для вторичного преобразования, т.е. повторной градуировки из IDR в SDR, и передавая метаданные, принадлежащие совместимому с ETSI2 IDR-сигналу, приемникам (будь то унаследованные ETSI2-приемники или приемники декодирования SLHDR2PLUS).
Для начала нам понадобятся несколько вводных определений:
Обратной для кривой para, показанной на ФИГ. 10, т.е. кривой, у которой форма определяется согласно стандарту ETSI так, как сформулировано в вышеприведенных уравнениях 4 и 5, и параболическая средняя часть задается как a*x^2+b*x+c, является кривая, которую в этом документе для краткости назовем abcara. Согласно разделу 7 ETSI1 (восстановление HDR-сигнала), она определяется как:
L_out = 1/SG*L_in (если 0<=L_in<=xS)
L_out = -b/2a+sqrt(b^2-4*a*(c-L_in))/2a (если xS<L_in<xH)
L_out = 1/HG*(L_in-1)+1 (если xH<=L_in)                           [Ур. 23]
При этом xS и xH являются точками, в которых линейные отрезки переходят в параболический средний отрезок, в соответствии с тем, как функция para была определена для кодирования (или любого другого использования).
Основной принцип того, на что нацелен вариант осуществления кодера видео по ФИГ. 18, показан на ФИГ. 20 (в этом примере для пояснения была выбрана примерная PB_C 500 нит IDR, но без намерения указать, что этот способ каким-то образом ограничивается или лучше подходит для более низкой PB_IDR).
Если у нас есть фиксированный механизм (в декодере, совместимом с ETSI2, или унаследованном ETSI2-декодере) для экстраполяции от IDR к более высоким PB_C, чем PB_IDR (с использованием такой настройки PB_C, как если бы это была пиковая яркость дисплея), то также можно было бы разработать кодер, который инвертирует этот процесс, т.е. создает IDR-изображение, используя инверсию F_ENCINV_H2I подходящим образом адаптированной экстраполирующей функции F_E_I2S отображения светимости (адаптированной из функции F_I2S, которая соответствует спецификации ETSI2, принятой приемниками IDR-сигнала, т.е. IDR-изображение + метаданные, включая функцию F_I2S), а затем добавляет правильные метаданные, которые, как сказано, представляли бы собой F_I2S, и которые должны быть получены из общей функции F_H2S отображения светимости (например, F_50t1), созданной создателем контента, например, специалистом по градуировке, или автоматическим средством в любом промежуточном процессе кодирования в реальном времени и т.д.
Соотношения также можно сформулировать в мультипликативном представлении:
L_SDR = m_F_I2S*m_F_ENCINV_H2I*L_HDR = m_F_I2S*L_IDR
L_HDR = m_F_E_I2S*L_IDR
При этом m_F_I2S или, скорее, m_F_I2S(L_HDR) является соответствующим множителем, необходимым для реализации повторной градуировки светимости для любого выбранного значения L_HDR, соответствующего форме функции отображения светимости F_I2S, и аналогично для других множителей.
Таким образом, необходимо объяснить, что функция, обратная функции para, действующей от HDR к IDR, т.е. функция abcara, действующая от IDR к HDR, имеет тот же эффект, что и некоторые функции para, экстраполированные до PB_HDR (начиная с любой L_IDR).
Чтобы понять это несколько лучше, используем ФИГ. 21. В обычном режиме интерполяции из более высокого входного значения PB_C изображения (т.е. при работе с любыми нормализованными входными светимостями L_in_X, которые соответствуют фактическим светимостям через PB_Ch, которая выше, чем PB_D нормализованных выходных светимостей изображения) в более низкое значение PB_D исходная функция para F_H2S специалиста по градуировке (принятая в метаданных посредством стандартной последовательности видеосвязи с кодированием ESTI2) масштабировалась бы по диагонали, следуя стрелке по направлению к диагонали [0,0]-[1,1], давая в результате F_ENCIV_H2I (которая теперь соответствует визуально унифицированному отношению псевдологарифмического расстояния PB_IDR/PB_HDR к PB_SDR/PB_HDR, т.е., например, v(100/5000)/v(500; 5000) = 0,54/0,72 [где v(x; y) является функцией из уравнения 1 с абсциссой x и RHO, соответствующим y через уравнение 2]). Можно представить себе, что продолжение подобной повторной градуировки, от ситуации с любой более высокой PB_D к ситуации с любой более низкой PB_D, используя отображение тождественной обработки PB_HDR в PB_HDR, привело бы к тому, что кривые стали бы круто спадающими, фактически для кривых отображения светимости типа функции para они стали бы с математической точки зрения функциями abcara. Действительно, необходимая функция F_E_I2S для экстраполяции любого принятого IDR-изображения (на основе начальной функции F_H2S отображения светимости, принятой в метаданных, с использованием механизма адаптации дисплея из главы 7.3 ETSI2) была бы зеркальной функцией, полученной путем зеркального отображения по диагонали F_ENCINV_H2I (и наоборот).
Следовательно, учитывая, что кто-то хочет повторно использовать стандартные механизмы вычислений ETSI2 для реализации функциональности SLHDR2PLUS, остается только определить соответствующий кодер, как пояснено на ФИГ. 18.
Например, SG для F_ENCINV_H2I соответствует определению функции abcara: 1/SG*L_in_X.
Исход из SG_COD (т.е. задаваемой ETSI кодификации вышеупомянутого физико-математического усиления SG тени), получаем (SG_COD = SGC*255/2 с учетом ETSI1 ур. C23 экспозиция = SGC/4+0,5 с учетом C24 expgain = v(PB_HDR = 5000/PB_target = 500; PB_target) с учетом ур. C27 SG = expgain*экспозиция):
1 / [(SGC/4+0,5)*v(5000/500; 500)] = (X/4+0,5)*v(500/5000; 500)                                 [Ур. 24]
Вышеприведенное уравнение подлежит решению для нахождения неизвестного параметра X управления усилением тени функции para (т.е. X является SG для F_ENCINV_H2I).
Т.е. декодер определяет для любого выбора F_H2S специалистом по градуировке, на что будет похожа форма F_E_I2S (с использованием алгоритма ETSI2 7.3), но нам нужно интерпретировать это как функцию abcara ETSI1, чтобы можно было связать эту функцию abcara с соответствующей необходимой обратной функцией para F_ENCINV_H2I с тем, чтобы, в конечном итоге, использовать в новом кодере SLHDR2PLUS соответствующую функцию para для вычисления светимостей IDR-изображения (в первом предпочтительном варианте осуществления этого подхода к конкретной разновидности общего подхода SLHDR2PLUS, т.е. производные вычисления функций отображения светимости с использованием второй пиковой яркости; смещения белого и черного будут игнорироваться в этой разновидности, по меньшей мере, в поддиапазоне HDR<>IDR, потому что они будут применимы к поддиапазону HDR<>SDR другого спектра изображений с PB_C, как показано на ФИГ. 7).
На практике кодер функционирует в другом порядке (но с соблюдением тех же соотношений, чтобы система оставалась совместимой с ETSI2). Блок 1801 адаптации канала вычисляет (на основе принятой формы функции F50t1) функцию para, необходимую для преобразования яркостей L_HDR в, например, яркости PB_C L_IDR 500 нит (можно использовать математическую модель адаптации канала вышеописанного предыдущего варианта осуществления, но при этом игнорировать адаптацию WLO и BLO, т.е. функция para просто действует между двумя представлениями яркости 0-1,0 без каких-либо смещений, а просто за счет применяя только функции para). Блок 1802 инверсии вычисляет соответствующую функцию abcara, используя инверсию уравнения 24 (т.е. когда 1/X слева вычисляется с учетом известного SGC в правой части уравнения). Это именно то отображение, которое будет восстанавливать яркости пикселей L_HDR из принятых яркостей L_IDR. Допуская, например, что WP остается постоянным в последовательности определения кодека, блок 1802 инверсии, следовательно, будет вычислять усиление SG_abc тени и усиление HG_abc бликов для функции abcara. Нижний канал, выполняющий управление метаданными, в конечном итоге должен будет вычислять F_L_IDR (= F_I2S), поэтому блок 1803 адаптации определяет необходимую функцию F_I2S отображения (в частности, ее SG_IDR и HG_IDR), применяя в обратном направлении алгоритм ETSI2 7.3 (реализуя оставшееся преобразование F_I2S из полного преобразования F_H2S, если частичная повторная градуировка светимости уже была выполнена для яркостей IDR-изображения с помощью F_ENCINV_H2I).
Как уже упоминалось выше, в некоторых сценариях может случиться так, что значение HG_IDR оказываться выше того, что может быть закодировано в соответствии с ETSI2 как HG_COD. Что можно сделать в таком сценарии, так это ограничить указанное значение HG_IDR до его максимума и вернуться по последовательности к тому, что это означает, в частности, какой другой исходной функции F_H2S специалиста по градуировке это бы соответствовало. Затем все вычисления могут быть перезапущены из этой ситуации, и это именно то, что необязательные блоки, показанные пунктирными линиями, выполняют в одной линии последовательной обработки.
На ФИГ. 22 поясняется, что ограничитель 1804 используется для изменения формы кривой отображения светимости. Пунктирной линией показана начальная F_H2S и то, как из нее с помощью фиксированного алгоритма адаптации канала может быть получена функция F_ENCINV_H2I, а также как может быть получена (исходная) оставшаяся функция F_I2S_or частичной повторной градуировки (исходная F_IDR в случае, если не было никаких дополнительных конкретных ограничений в ETSI2, которые, как в настоящее время сформулировано, требуют более подробного подхода к конкретному варианту осуществления, как поясняется сейчас). HG_IDR_or этой функции, учитывая, что это совершенно новый подход к кодированию видео HDR, может не соответствовать определению HG_COD, т.е. требовать значение выше его 8-битового максимума 255, который может передаваться в кодированном видеосигнале HDR, совместимом с ETSI2. Следовательно, HG_IDR_or должен быть понижен максимум до ограниченного все еще кодируемого значения HG_IDR_LIM (которое в текущих вариантах осуществления ETSI2 равно 2,0, но это не является фундаментальным ограничением подхода). Это создает функцию para, которая имеет линейный отрезок для бликов несколько ближе к верхней горизонтальной границе (L_out_X = 1,0), что соответствует несколько более ярким IDR-изображениям, но это не является фундаментальной проблемой (как было упомянуто выше, существует некоторая возможность послабления в системе для проектирования различных вариантов). Это будет означать, что области с наивысшей светимостью на изображении HDR-сцены получат менее контрастное IDR-представление (хотя исходный основной HDR является полностью восстанавливаемым, и вид SDR и все повторные градуировки MDR также будут выглядеть хорошо), но это не является реальной проблемой, так как градуировка выполняется из более высоких основных PB_C HDR, и это соответствует тому, что, например, находится в диапазоне 3000-5000 нит, который обычно имеют лампы и т.п., которые могут иметь небольшое ухудшение (поскольку в любом случае всегда требуется некоторое ухудшающее отображение, и это отчасти ожидается для таких сверхъярких областей). Второй блок 1805 адаптации канала затем снова применит всю вышеупомянутую математическую модель, но теперь учитывая ситуацию с ограниченной HG_IDR (так что сначала может быть вычислена эквивалентная F_H2S, что, как сказано в этой категории вариантов осуществления, может быть выполнено путем экстраполяции ограниченной F_I2S_LIM до PB_D = PB_Mster_HDR, после чего можно снова применить адаптацию канала).
Эта результирующая F_H2I_LIM (т.е. отображение яркостей L_HDR в яркости L_IDR) теперь может быть применена блоком 1806 отображения светимости пикселей изображения, чтобы пиксель за пикселем определять все яркости IDR (или фактически все цвета YCbCr IDR, используя также хроматическую обработку ETSI2, т.е. заданная в ней C_LUT, соответствующая форме функции отображения яркости F_H2I_LIM). Наконец, блок 1807 определения метаданных IDR вычисляет полный набор метаданных для реализации повторной градуировки на основе метаданных, совместимых с ETSI2, в отношении изображений с более низкой PB_C (для любой PB_D дисплея), т.е. ниже, чем PB_IDR (или путем экстраполяции выше, чем PB_IDR). Итак, снова SG_IDR, HG_IDR и WP_IDR определяются согласно любой из возможных комбинаций, образующих вариант осуществления, как объяснено выше. Теперь также определяются BLO_IDR и WLO_IDR (как объяснено выше, конкретная яркость на оси яркости Mster_HDR может быть отображена в 1,0 на оси яркости SDR, и это может быть переформулировано как отображение подходящим образом масштабированной яркости IDR, т.е. определение WLO_IDR, и аналогично для BLO_IDR).
Наконец, настраиваемая кривая может быть оптимизирована для новой ситуации метаданных IDR с помощью настраиваемого блок 1808 оптимизации кривой (в случае использования настраиваемых кривых, потому что в некоторых вариантах осуществления доступной на субрынках технологии кодеков, такой, например, как широковещательная передача в реальном времени, возможно, было решено никогда не использовать настраиваемые кривые, и тогда применяется предыдущая математическая модель «функция para + смещения»).
На ФИГ. 19 поясняется, как работает адаптация настраиваемой кривой. Она всегда состоит из двух концептуальных компонентов (применяемых напрямую только в одном направлении или в обратном направлении). Первый компонент можно понять, сосредоточив внимание на объекте: предположим на мгновение, что одна из контрольных точек настраиваемой кривой с множеством линейных отрезков соответствует паре брюк (так что конкретная нормализованная яркость xo1I L_in_S является, например, средней яркостью всех пикселей брюк). Преобразование используется, например, для осветления этих пикселей брюк (вокруг конкретной одной из контрольных точек и в ней), чтобы вывести нормализованные яркости, которые, по мнению специалиста по градуировке (или автоматического программного обеспечения), лучше яркостей для этих брюк. Также на ФИГ. 4 видно, что в подходе ETSI это происходит как последний (необязательный) этап кодирования с точной градуировкой в кодере (блоке 405) и, соответственно, первый этап в декодере. Так что, фактически, это преобразование яркости в действительности определяется в области яркости SDR (после грубого преобразования яркости из HDR в SDR в отношении функции пара + смещения, если таковое имеется).
Таким образом, можно предположить, что для любой яркости требуется преобразование (для этого объекта!), которое можно записать в мультипликативном представлении как L_out = m(L_in_SDR)*L_in_SDR.
Необходимое мультипликативное изменение яркости (в процентах) может быть другим для любого другого изображения, например, IDR-изображения, но на что можно положиться, так это на то, что коррекция точной градуировки соответствует конкретному «объекту», для которого необходима повторная оценка (даже если настраиваемая кривая используется по причине другого одного из ее преимуществ в дополнение к конкретной точной градуировке объекта, например, улучшения формы кривой отображения светимости при грубой градуировке, это физически все еще можно интерпретировать как такое объектно-ориентированное улучшение, будь то путем определения набора виртуальных объектов, соответствующих некоторому поддиапазону яркости). Таким образом, если отслеживать объекты в другом диапазоне яркости DR, нормализованное значение абсциссы может измениться, но не основная сущность объекта (например, у человека на мотоцикле нормализованная яркость в HDR, а именно 5/5000, отличается от той, что в SDR, а именно 5/100). Таким образом, мы должны повторно вычислить функцию для этого нового нормализованного распределения позиций яркости (это можно сделать для любого количества промежуточных функций отображения светимости при частичной повторной градуировке, даже вверх и вниз по различным частичным каналам, как бы сложно ни хотелось спроектировать вариант осуществления кодирования видео HDR). Таким образом, на ФИГ. 19a это показано в общем виде: исходная яркость xo1I объекта SDR (например, конечная точка линейного отрезка настраиваемой кривой) перемещается в xo1N (это могло произойти, например, путем применения функции abcara, являющейся инверсией F_I2S по ФИГ. 20). То же самое происходит с другими точками, например, с точкой отрезка пятиугольника (обычно можно предположить, что имеется достаточно хорошо разбросанных точек отрезка, например, 16, из которых, например, 10 могут быть автоматически установлены программным обеспечением для градуировки, если специалист по градуировке, например, применяет грубую линейную настраиваемую повторную градуировку в отношении относительно большого поддиапазона более низких яркостей). Таким образом, сместив все эти точки, теперь можно на основе исходной кривой CC_gr блока градуировки метаданных основного контента (F_H2S с CC в диапазоне яркости SDR) определить промежуточную кривую CC_XRM, применяя исходные смещения CC_gr, т.е. L_out_SDR = CC_gr[L_in_S], где значения L_in_S были исходными значениями xo1I и т.д. (но теперь значения L_out применяются к повторно отображенным позициям яркости IDR xo1N (давая в результате пунктирную кривую). Конечно, это не будут подходящие множители отображения из HDR в IDR (или, точнее, из IDR в IDR), поэтому коррекция выполняется на этапе 2, как показано на ФИГ. 19b.
Как снова можно видеть на ФИГ. 19b, мультипликативную точную коррекцию можно интерпретировать как масштабируемый процесс, который переключается между отсутствием коррекции (яркости пикселей Mster_HDR уже верны по умолчанию, потому что это изображение было оптимально подвергнуто градуировке создателем контента в самом начале) и полной коррекции для наиболее сильно отличающегося (от Mster_HDR) изображения с PB_C в спектре подвергнутых повторной градуировке изображений, которое в подходе заявителя обычно представляет собой SDR-изображение с 100 нит (в котором полная коррекция для конкретного пикселя, например, составляет mso1, что может быть записана как абсолютное смещение, а также как мультипликативная коррекция yio1 = mso1*xso1 (любую форму yio1 = F_L(xso1) кривой отображения яркости можно сформулировать как кривую зависимых от яркости значений умножения).
Поскольку мультипликативное представление коррекции можно сформулировать как смещения от диагонали, где yio1 = xso1, можно ввести коэффициент вертикального масштабирования:
ScaleVer = max[(1-La)/(1-K); 0]                                       [Ур. 25]
с вышеопределенными La и K.
Необходимые адаптированные значения настраиваемой кривой затем находятся как:
yiDA = Min[(yio1-xso1)*ScaleVer+xio1; 1]                            [Ур. 26]
и вычисление выполняется для всех значений xso1.
На ФИГ. 27 показан другой способ определения конечных точек отрезка настраиваемой кривой точной градуировки технически элегантным для декодеров образом. Уже было описано, как можно пересчитать параметры кривой para для грубой градуировки (и, если присутствует смещение черного и/или белого, но сейчас упростим это объяснение, сосредоточив внимание на функции para). Предположим, что функция para выполняет грубую градуировку из любого начального динамического диапазона в конечный динамический диапазон, например, динамический диапазон LDR. Смещение черного и белого может учитывать нормализованные расхождения диапазона, если таковые необходимы, поэтому настраиваемая кривая просто меняет позиционирование относительных светимостей определенных режимов по нормализованным осям. Следовательно, кривая будет начинаться в точке (0,0) и, соответственно, заканчиваться в точке (1,1), и между ними будут точки соединения отрезков, в данном примере 2 точки определения формы кривой (например, (x1, y1)). Также имеет смысл, чтобы в любом представлении и его повторной градуировке количество линейных отрезков и точек было одинаковым, поскольку природа режимов не меняется (режим самых темных цветов, например, в помещении, может заканчиваться другой (как правило, перцептуально однородной) нормализованной яркостью, например, на изображении с PB_C 200 нит в сравнении с изображением с PB_C 1500 нит, но тот факт, что существуют два режима - в помещении и на улице - не изменяется при повторной градуировке).
Следовательно, для переопределения формы полилинейной функции повторной градуировки нужно только найти соответствующие конечные точки (xnew, ynew).
Можно использовать другое свойство, которое должно быть выполнено (в идеале), а именно: будет ли производиться прямая повторная градуировка основного HDR-изображения с помощью функции FL_50t1 общего диапазона (которая в этом случае будет состоять из двух последовательно применяемых функций: общей функции para 2710 и полной полилинейной функция 2711), или повторная градуировка выполняется в два этапа, сначала из основного изображения с 5000 нит в IDR-изображение с 700 нит (опять же с использованием двух функций: гарнирующей функции para 2701 IDR и генерирующей полилинейной функции 2702 IDR), а затем оттуда выполняется понижающая градуировка до LDR-изображения с 100 нит (с помощью функции para 2703 канала и полилинейной функции 2704 канала), и результат должен быть таким же: то же LDR-изображение, потому что это LDR-изображение, которое всегда следует формировать для основного HDR-изображения, т.е. то, которое создатель контента закодировал и передал (с помощью форм функции отображения светимости с понижающей градуировкой). Другими словами, какая бы из всех возможных входных нормализованных яркостей x1_MH HDR не была выбрана, окончательная выходная яркость LDR должна быть такой же. Следовательно, это также будет верно для входных яркостей, которые отображаются (через предыдущие отображения) в координату x полилинейной функции канала: x1_CH_L. Это можно использовать для пересчета отрезков, поскольку при равенстве координат y ординаты нужно только вычислять x_new для конкретного отрезка соответствующей полилинейной настраиваемой кривой в другом динамическом диапазоне.
Таким образом, на стороне кодирования можно для любого входного значения x1_MH вычислять адаптированное для канала значение Y_CHA, применяя масштабированный стандартизованный алгоритм. Это значение Y_CHA будет формировать соответствующую входную координату x для следующего блока, которая переходит в функцию para, определяемую для канала с PB_C, уравнения для которой были приведены выше. Значение yi_CH уже известно, поскольку оно равно значению y1_L для общей повторной градуировки из 5000 нит в 100 нит, что, конечно, на стороне кодирования, в отличие от стороны декодирования, известно напрямую (было сделано специалистом по градуировке, например). Проделав это для всех точек полилинейной функции, можно получить все ее характеризующие параметры, которые будут записаны в видеосигнал (как часть F_I2sCI).
На стороне декодера снова можно использовать то же обоснование, чтобы прийти к несколько иному алгоритму, поскольку теперь необходимо вычислить некоторые неизвестные параметры. Итак, теперь необходимо вычислить значения x1_ML, соответствующие принятым, следовательно, известным значениям x1_CH_L, потому что первым этапом было восстановление общей функции (функций) повторной градуировки. Как правило, функции имеют цифровую точность, например, 256 квантованных значений x (т.е. не конкретные, например, две или три точки между отрезками, а все точки, а также точки на линиях между ними), поэтому можно просто численно построить таблицу LUT для всех точек настраиваемой кривой, поскольку она была настроена, т.е. y1_L этой кривой известно, а необходимое x1_ML соответствует x1_CH_L.
Отображая яркость LDR в яркость IDR, получим x1_CH для любого yi_CH, и это значение может быть отображено обратно через функцию para 2703. Также можно определить, какое из всех возможных значений x1_MH соответствует этому значению Y_CHA, если известна функция para 2701 и полилинейная функция 2702. Из вышеизложенного можно понять, как вычислить функцию para 2701 из метаданных функции, принятых на стороне декодера, как объяснено выше. Нам неизвестна полилинейная функция 2702 (пока), но в данный момент она не нужна. Потому что известно, что настраиваемая кривая 2702 также подчиняется уравнению вертикального масштабирования стандартизованного алгоритма. Любое протестированное X1_MH может быть преобразовано в соответствующее X_CHA, и соответствующее (и необходимое) значение Y_CHA следует из: Y_CHA = (y1_L-x1_ML)*scaleVer+X_CHA, а x1_ML можно вычислить из x1_MH, применив общую функцию para 2710.
Следовательно, можно найти ровно одно соответствующее значение x1_MH, соответственно, для значения x1_ML, которое будет восстанавливать полную полилинейную функцию 2711. Поскольку тогда известна общая повторная градуировка и повторная градуировка части канала, оставшаяся повторная градуировка, т.е. между основным изображением с 5000 нит и IDR-изображением с 700 нит, также может быть определена; отсюда, все декодируется, т.е. функции определены, и может начаться обработка всех цветов пикселей IDR-изображения, как поясняется на ФИГ. 26.
На ФИГ. 26 снова концептуально поясняется в обобщенном виде (чтобы обеспечить лучшую степень понимания для читателя) все то, что опытный читатель уже мог найти в приведенных выше подробных объяснениях. Верхние блоки канала имеют отношение к перерасчету метаданных, т.е. к различным этапам определений различных функций отображения светимости (нижний блок 2650 и т.д. - это те блоки, которые выполняют фактическую обработку цвета пикселей). Теперь хорошо видно двухэтапное вычисление, соответствующее применению стандартизированного алгоритма в функциональном блоке 901 HDR, а именно определение функции генератора 903 функции отображения IDR в кодере, но теперь со стороны декодера SLHDR2PLUS видео. Как объяснялось, декодеры получают функцию F_I2sCI, которая определяет способ реализации повторной градуировки светимости между принятым выбранным IDR-изображением с его пиковой яркостью PB_CH канала и градуировкой при 100 нит. Но нам нужно определить функцию большего диапазона между 100 нит и пиковой яркостью основного HDR-изображения, например, PB_C_H50 = 6000 нит, т.е. функцию FL_50t1 (или, точнее говоря, функцию, имеющую обратную форму по сравнению с той, которая используется на стороне кодирования), которую будет использовать вычислитель 2601 исходной функции. Но это еще не было достигнуто, нам требуется декодировать нормализованные светимости IDR (или, точнее говоря, в нашей типичной топологии декодирования перцепционно унифицированные нормализованные яркости пикселей) в восстановленные светимости основного HDR-изображения. Таким образом, ни исходно принятая функция F_I2sCI, ни функция FL_50t1 не определяет повторную градуировку между основным изображением с PB_C_H50, выраженной в нит, и изображением с 100 нит, ни также IDR-изображение с PB_CH, выраженной в нит, ни одно из двух других, в связи с чем нам нужно определить функцию F_IDRt50, которая будет применяться к принятым яркостям пикселей IDR для получения (перцепционно унифицированных) восстановленных яркостей YpMstr пикселей основного HDR-изображения, что и будет делать блок 2602 определения реконструирующей функции. Была показана возможность адаптации дисплея в виде блока 2603 вычисления функции оптимизации отображения, показанного пунктирной линии, потому что, как было сказано, хотя он, как правило, также будет задействован в наших полнофункциональных ИС декодирования SLHDR2PLUS, он в принципе является необязательным для декодирования SLHDR2PLUS. Пиковая яркость PB_CH канала будет использоваться для преобразования нормально закодированных (например, 10-битовых YCbCr) светимостей пикселей IDR в перцепционно однородные яркости YpIDR пикселей IDR, на основе которых, как правило, будет выполняться реконструктивное отображение светимости в наших предпочтительных ИС SLHDR2PLUS (хотя специалист в данной области техники понимает, как можно воплотить принципы настоящего изобретения в альтернативных схемах или программном обеспечении, которые не применяют перцепционную униформизацию или другой способ и т.д.). С этой целью блок 2650 перцепционной униформизации применяет уравнения 1 и 2 с PB_C_H = PB_CH. Блок 2651 повышающего отображения светимости восстанавливает яркости основного HDR-изображения, просто применяя определенную функцию, т.е. YpMstr = F_IDRt50(YpIDR). В случае, если адаптация дисплея необходима для создания, например, изображения с PB_C 350 нит, блок 2652 оптимизации отображения просто применяет для этого определенную функцию оптимизации отображения, давая в результате оптимизированные для отображения яркости пикселей: Yglim = F_DO(YpMstr). Их можно преобразовать в фактические нормализованные светимости L пикселей с помощью блока 2653 линеаризации, который применяет обратные уравнения 1 и 2, но теперь с помощью, например, PB_C_DO 350 нит при оптимизации отображения вместо PB_CH. Наконец, как правило, при необходимости может быть дополнительный генератор 2654 кода яркости, который применяет перцепционный квантователь EOTF из SMPTE 2084 для получения выходных яркостей YPQ в популярном формате HDR10.
На ФИГ. 28 приводится примерная спецификация обработки цветности (т.е. влияющая на насыщенность цветов пикселей, а не на светимости). Предположим, что используется топология устройства обработки (например, обычно интегральная схема внутри некоторого, например, потребительского устройства), показанная на ФИГ. 15, при которой обработка цветности (умножитель) должна получить соответствующее мультипликативное значение для каждого пикселя, или, точнее говоря, каждый возможный цвет YCbCr пикселя. Это значение определяется блоком 1551 определения хроматической обработки с помощью функции, которая позволяет представлять другое значение для разных значений яркости пикселя, т.е. разрешает изменение дифференциальной насыщенности в цветовой гамме, т.е., в частности, по высоте Y цветовой гаммы.
На ФИГ. 28 показан пример такой функции F_C (Xi), где Xi теперь является нормализованным представлением Y на шкале, заканчивающейся, например, на 1,0, которая обычно характеризует фиксированное значение 10 000 нит. Она представляет собой состоящую из нескольких линейных отрезков кривую (приведенную исключительно в качестве неограничивающего примера), которая определяет для нескольких возможных яркостей пикселей коэффициент насыщенности (Ys = F_C(Xs), например, 0,33). В этом примере значение 1/2 означает тождество цветности, т.е. ни усиление, ни уменьшение насыщенности. В этом конкретном примере значения ниже 0,5 определяют усиление цветности, а значения выше - уменьшение насыщенности; следовательно, ясно, что эта конкретная характеристическая кривая F_C (Xi) усиления насыщенности, которую, например, создатель контента или автоматические средство создания контента может свободно выбирать с любой формой в зависимости от потребностей конкретной HDR-сцены и ее изображений (например, ночная улица с красочными знаками TL или огненный взрыв, требующий другой оптимальной настройки цветности для преобразования изображения с первым динамическим диапазоном светимости в оптимально соответствующее выходное изображение с другим вторым динамическим диапазоном светимости), уменьшает насыщенность для более ярких объектов, чтобы они, например, соответствовали верхней части гаммы.
В этом примере сделано предположение, что наше исходное основное HDR-изображение имело кодируемую пиковую яркость или максимальную возникающую светимость пикселей 4000 нит, что соответствует некоторому нормализованному однородному значению PQ: PQ_4000 = 0,9.
Поскольку в этом основном HDR-изображении нет ничего выше 4000 нит, значения усиления насыщенности выше 4000 нит, в принципе, указывать не нужно, но можно, например, указать их, чтобы они оставались постоянными и равными значению Ys3 в 4000 нит. Видно, что исходная характеристическая кривая усиления насыщенности, обозначенная маленькими буквами «s», определяется точками (Xs1, Ys1), (Xs2, Ys2) и т.д., при этом координата X является нормализованной яркостью (на перцепционно унифицированной оси, используя в этом примере SMPTE 2084 EOTF), а координата Y представляет собой применимый мультипликативный коэффициент усиления для этого значения X, т.е. 0,88, умножаемый на Cb и Cr аналогичным образом.
Эта начальная ситуация и исходная функция 2801 усиления насыщенности определяют, как следует обрабатывать цветности пикселей при переходе от первого эталонного динамического диапазона, в данном случае, HDR PB_C 4000 нит, ко второму эталонному динамическому диапазону, который в этом примере соответствует типичному изображению PB_C_SDR с 100 нит с его яркостями и цветностями Cb, Cr пикселей.
Задача SLHDR2PLUS снова состоит в том, чтобы представить это фактически как отдельную обработку, связанную с PB_C канала, например, если PB_CH = 600 нит, нужно найти характеристическую кривую 2804 усиления насыщенности канала, которая соответствует исходной характеристической кривой 2801 усиления насыщенности в том смысле, что она применяет такое же изменение цветности цветов, как если бы нам пришлось начинать с IDR-изображения канала связи, соответствующего исходному основному HDR-изображению.
Другими словами, если кто-то отображает любой пиксель основного HDR-изображения (Y_HDR, Cb_HDR, Cr_HDR) в любой вторичный цвет динамического диапазона, например, пиксель SDR (Y_SDR, Cb_SDR, Cr_SDR), или соответствующий цвет пикселя для MDR-изображения с 250 нит с целью оптимального управления дисплеем с PB_D 250 нит (Y_MDR2, Cb_ MDR2, Cr_ MDR2), т.е. поскольку это предусматривает определенные и, как правило, совместно передаваемые в виде метаданных функцию (функции) отображения яркости и исходную функцию F_C, то нужно получить точно такие же или, по меньшей мере, хорошо соответствующий (соответствующие) цвет (цвета) пикселей, например, (Y_MDR2, Cb_ MDR2, Cr_ MDR2), если начинать с цветов (Y_CDR6, Cb_ CDR6, Cr_ CDR6) изображения канала, а затем применять соответствующую характеристическую кривую 2804 усиления насыщенности канала (т.е. эта функция затем может быть загружена в блоке 1551 определения хроматической обработки, и само устройство может начать массовую обработку входящих пикселей); а также правильное отображение яркости канала, как подробно объяснено в различных возможных вариантах осуществления выше.
И что еще более интересно, декодеры, снабженные этими функциями отображения яркости и цветности, связанными с PB_C канала, должны быть способны восстанавливать исходную ситуацию (в частности, определять исходную характеристическую кривую усиления насыщенности по принятой характеристической кривой усиления насыщенности канала), например, восстанавливать HDR-изображение и т.д. или даже выполнять любое отображение вверх или вниз в любой вторичный динамический диапазон (MDR), но начиная с принятого IDR-изображения и его цветов пикселей (и предпочтительно с использованием той же топологии обработки пикселей, предпочтительно, как показанная на ФИГ. 15).
На стороне кодирования IDR-изображение для передачи по каналу может быть сформировано, например, путем выполнения отображения изображения PB_C_master_HDR с 4000 нит в изображение с PB_CH 600 нит для нормализованных яркостей, как поясняется с помощью любого из вышеупомянутых вариантов осуществления в части отображения яркости (см., например, F_H2hCI по ФИГ. 9). Это показано горизонтальным перемещением на расстоянии PL(Xs2) исходной точки 2802 отрезка основной функции до точки 2803 адаптированного для канала отрезка (эффект только этого сдвига показан тонкой пунктирной кривой, которая просто показана но технически не используется). Поскольку отображение из IDR-изображения с 600 нит в изображение с 100 нит реализует только часть полной обработки цветности из 4000 в 100 нит, кодеру все еще необходимо вычислять новые выходные значения Y для точек, соответствующих вертикальному сдвигу (например, точки 2805 адаптированного для канала значения усиления цветности, которая соответствует кружку над ней, т.е. имеет то же значение Xc).
Функция усиления насыщенности должна быть изменена в первую очередь для того, чтобы отображать основное изображение в представление канала (например, PB_C_MHDR = 4000 нит в PB_CH = 600 нит), и это в соответствии с данным примером предпочтительно выполняется следующим образом:
Сначала рассчитывается коэффициент модификации согласно
MF = 1-(invPQ[PB_CH]-invPQ[PB_SDR]/(invPQ [PB_ C_MHDR]-invPQ[PB_SDR)    [Ур. 27]),
с PB_SDR = 100 нит в данном примере, а invPQ представляет собой сокращение для обратной функции PQ EOTF, стандартизированной в SMPTE 2084.
Затем вычисляется адаптированная для канала функция g(Xn), которая определяется как:
g(Xn) = F_C[Xn]*MF+(1-MF)/Rs                                           [Ур. 28]
где Rs является константой, которая обычно выбирается равной 2,0, и где Xn является любым возможным нормализованным представлением яркости на PQ-шкале для яркости пикселя, как показано на ФИГ. 28.
Новая LUT для обработки, которая должна быть загружена в блок 1551 определения хроматической обработки, может, например, в предпочтительном варианте осуществления определяться как
F_C_chadap[Xn] = Min{LC0; (1+MF*POWER[Xn; 2,4])/(Xn*Max[Rs/255; Rs*g(Xn)])*S}    [Ур. 29]
При этом F_C_chadap представляет собой адаптированную функцию усиления насыщенности, соответствующую F_C создателя исходного контента для основного HDR-контента, но для конкретной PB_CH и соответствующего изображения с промежуточным динамическим диапазоном, LC0 является константой, которая, например, предпочтительно равна 1/8, POWER обозначает степенную функцию, Rs является другой константой, которая предпочтительно равна 2, и S является константой, зависящей от количества битов, которые использует длина слова кодов яркости, S = 1/(POWER [2; длина слова]), например, 1/1023 для 10-битовых входных изображений.
Что интересно, так это степенная функция в числителе в уравнении 29. Это пример хорошо работающей функции для коррекции нелинейности в поведении насыщенности, возникающей из-за кодификации яркостей и цветностей в области, определяемой PQ (так же отличающейся от нормального поведения функции квадратного корня, как и в свое время исходное определение YCbCr в SDR/MPEG).
Этап модификации первого способа является только отправной точкой для дальнейшего вычисления характеристической кривой 2804 усиления насыщенности (фактически, это «половина» преобразования из 4000 нит в 600 нит - начиная с исходной спецификации от 4000 до 100 нит - но на самом деле нас интересует характеристическая кривая 2804 усиления насыщенности от 600 до 100 нит, в связи с чем необходимо разделить общее действие на две части и, имея на первом этапе модификации уже вычисленную первую часть, теперь вычислим оставшуюся часть всего набора).
Чтобы получить кривую 2804, кодер SLHDR2PLUS должен сделать две вещи.
Во-первых, ему необходимо вычислить новые точки определения для линейных отрезков кривой 2804 F_C_chacomm[Xc] (или аналогично с непрерывным представлением кривой F_C), отслеживая такие точки посредством отображения яркости.
Другими словами, каждая исходная точка (из исходной кривой F_C 4000-100 нит, поставляемой с метаданными), например, Xs2 необходимо отобразить в новую нормализованную точку Xc2 и т.д.
Это выполняется посредством применения отображения PL (Xs2) общей яркости, как это было определено в любой ситуации варианта осуществления, описанной выше, т.е. кривая PL является кривой F_H2hCI по ФИГ. 9.
Например, если отображение яркости было определено только с помощью функции para, будет использоваться подходящим образом деформированная функция para (согласно приведенным выше уравнениям) для отображения позиций нормализованных яркостей PB_C_MHDR 4000 нит [обозначенных нижним индексом «s» на ФИГ. 28] в соответствующие позиции нормализованных яркостей PB_CH 600 нит [обозначенных нижним индексом «c» на ФИГ. 28]. Если отображение яркости также включало в себя смещение белого и/или настраиваемую форму кривой и т.д., все это необходимо аналогичным образом отрегулировать для ситуации с 600 нит и рассчитать соответствующие позиции (Xc…) нормализованных яркостей 600 нит, откуда начинается определение кривой 2804.
Но регулировка цветности для всех этих (повторно определенных) позиций Хс требует выполнения только оставшейся части коррекции от 600 нит (или любой другой PB_CH IDR) до самого низкого опорного уровня динамического диапазона, который, как правило, составляет PB_SDR 100 нит.
Значения Yc вычисляются согласно
Yc = Ys/{Rs*(Ys*MF+(1-MF)/Rs)}                                         [Ур. 30]
Следует отметить, что Ys = F_C[Xs].
Следует отметить, что это объясняет только завершение более важной части кривой, а именно ситуации:
Xs<=invPQ[PB_C_MHDR]; для нормализованных PQ-яркостей выше, например, значения 0,9, соответствующего примерной PB_C_MHDR = 4000 нит, предпочтительно использовать следующее уравнение для сохранения правильного соотношения масштабирования:
Xc = Xs*invPQ[PB_CH]/invPQ[PB_C_MHDR]                           [Ур. 31]
Значения Yc для этих верхних значений Xc будут вычисляться аналогичным образом или поддерживаться постоянными при последнем значимом значении, если эта часть кривой не используется на практике.
Наконец, обычно может быть использовано некоторое округление до некоторого уровня квантования, например:
(Xcr, Ycr) = round[255*(Xc, Yc)]/255                                    [Ур. 32]
Декодеру SLHDR2PLUS необходимо восстанавливать исходные пары (Xs, Ys) из переданных и принятых пар (Xc, Yc), а именно пар (Xcr, Ycr) определения кривой F_C_chacomm[Xc] (т.е. характеристической кривой 2804 усиления насыщенности канала). Поэтому применяются два обратных этапа кодера.
Сначала декодеру необходимо повторно отобразить точки определения линейного отрезка кривой усиления насыщенности из их позиций Xc в позиции Xs. Выше было показано, как вычислять отображение яркости из IDR, например, позиций яркости PB_CH 600 нит в исходные позиции яркостей основного HDR-изображения, начиная с функции отображения яркости, адаптированной для канала, которая принята в метаданных, совместно переданных с IDR-изображениями.
Будем вызывать эту операцию в области PQ (как показано на ФИГ. 28, значения Xs и Xc определены в области PQ с применением SMPTE 2084):
Xs = PQICA(Xc)                                                                   [Ур. 33]
c формой этой обратной функции адаптации канала снова в зависимости, среди прочего, от того, какое определение функции отображения яркости использовалось, например, одна только функция para, а не, например, функция para совместно с настраиваемой кривой, и, с другой стороны, конкретных значений параметров, таких как ShadowGain, определяющих конкретную функцию para, которая применима к HDR-сцене исследования пещеры и т.д. (все это было подробно изучено для различных вариантов осуществления выше).
В этой ситуации корректировка снова выглядит следующим образом:
Если Xc>invPQ(PB_CH), то Xs = Xc*invPQ[PB_C_MHDR]/invPQ[PB_CH]     [Ур.34]
Необходимые значения Ys вычисляются согласно:
Ys = (MF-1)*Yc/(Rs*MF*Yc-1)                                               [Ур. 35]
Наконец, снова может быть задействовано округление, например, с шагом 1/255.
Наконец, хотя это полезно для восстановления только исходных цветов (Y, Cb, Cr) основного HDR-изображения из принятого IDR-изображения, является предпочтительным, если декодер SLHDR2PLUS может немедленно осуществлять преобразование в (т.е. вычислять соответствующие цвета, например, (Y_MDR2, Cb_ MDR2, Cr_ MDR2)) любое необходимое изображение со средним динамическим диапазоном для оптимального управления дисплеем с PB_D_MDR, например, 250 или 400 нит, и делать это, конечно же, за один раз, т.е. начиная с адаптированных для канала цветов (Y_CDR6, Cb_ CDR6, Cr_ CDR6) IDR; т.е., например, путем загрузки соответствующих функций (или LUT и т.д.) обработки яркости и функции F_C_MDR определения множителя цветности в топологию обработки цвета пикселей, как показано на ФИГ. 15.
С этой целью может быть выгодно применено конкретное из уравнений 29, которое задает функцию F_C.
И числитель, и знаменатель должны быть адаптированы к новой ситуации, т.е. новому отображению цветности из PB_CH в PB_MDR, причем последняя, например, равна 250, когда дисплею на 250 нит необходимо поставить оптимальное оптимизированное для отображения изображение (того, что когда-то было исходным основным HDR-изображением, и, если говорить о декодере, соответствующего входящего IDR-изображения с 600 нит, причем ни одно из этих двух изображений еще не является хорошим для отображения на дисплее на 250 нит).
Для этого сначала вычисляются два коэффициента модификации:
MF_ch = 1-(invPQ[PB_CH]-invPQ[PB_SDR]/(invPQ[PB_ C_MHDR]-invPQ [PB_SDR)  [Ур. 36]
MF_do = 1-(invPQ[PB_MDR]-invPQ[PB_SDR]/(invPQ[PB_ C_MHDR]-invPQ[PB_SDR) [Ур. 37]
Если CPL [Xc] является функцией отображения яркости, которая определяется следующим образом:
Для каждой нормализованной входной яркости Xc, определенной с PB_CH:
Сначала применить EOTF PQ, затем преобразовать в перцепционную область с помощью предложенной Philips функции перцептуализатора (PPF) с параметром RHO для значения PB_CH, после этого применить форму функции отображения яркости из PB_CH обратно в PB_C_MHDR, как было описано в соответствии с любым из возможных вариантов осуществления и форм функции создателя контента, далее преобразовать в линейную область, используя инверсию предложенной Philips функции перцептуализатора (PPF), но теперь с параметром RHO для значения PB_C_MHDR, и, наконец, использовать обратную EOTF PQ в соответствии с SMPTE 2084, что даст в результате соответствующее значение CPL[Xc].
Тогда функция CLY[Xc] вычисляется как:
CLY[Xc] = (1+MF_do*POWER[CPL[Xc]; 2,4])/(1+MF_ch*POWER[CPL[Xc]; 2,4])                                         [Ур. 38]
Это включает в себя корректировку старой (больше не применимой) ситуации этой части функции (обычно C_LUT) определения множителей цветности, которую будем называть функцией (FSNL) корректировки позиции насыщенности для новой ситуации этого уравнения с целью оптимизации отображения.
Затем две g-функции вычисляются следующим образом:
Gch[Xn] = F_C_[CPL [Xc]]*MF_ch+(1-MF_ch)/Rs;
Gdo[Xn] = F_C_[CPL [Xc]]*MF_do+(1-MF_do)/Rs                  [Ур. 39]
(причем F_C_ [CPL [Xc]] представляет собой множитель цветности создателя исходного контента, дающий в результате исходную функцию 2801 усиления насыщенности, вычисленную из F_C_ chacomm[Xc], являющейся кривой регулировки цветности, принятой декодером SLHDR2PLUS в метаданных, т.е. соответствующей кривой 2804, т.е. как выполняется, например, в соответствии с вышеуказанным вычислением точек (Xs, Ys)).
Наконец, C-LUT, дающая в результате подходящие множители цветности для оптимизации отображения IDR в MDR, вычисляется как:
F_C_DO[Xn] = CLY[Xc]*max{Rs/255; Rs*Gch[Xn]}/max{Rs/255; Rs*Gdo[Xn]}         [Ур. 40]
Эта функция F_C_DO[Xn] может быть непосредственно загружена в блок 1551 перед поступлением нового входящего изображения, чтобы запустить процессор цвета пикселей для получения правильно отображаемого оптимизированного MDR-изображения вовремя с целью отображения или т.п., например, хранения (специалист в данной области техники понимает, что возможны и другие варианты реализации, но тогда все вычисления нужно модифицировать соответствующим образом).
Хотя некоторые варианты осуществления/идеи были представлены для разъяснения некоторых аспектов, которые могут быть изменены, по отдельности или совместно, можно понять, что несколько дополнительных вариантов могут быть сформированы на основе тех же базовых принципов: повторное получение уравнений отображения яркости из разных метаданных изображения с промежуточным динамическим диапазоном, принятых в соответствии с видеосвязью HDR ETSI2 или аналогичным образом, с целью восстановления основного HDR-изображения, которое было оптимально подвергнуто градуировке в месте создания контента. Алгоритмические компоненты, раскрытые в данном документе, могут (полностью или частично) быть реализованы на практике как аппаратные средства (например, части специализированной ИС) или как программное обеспечение, работающее на специальном цифровом сигнальном процессоре или универсальном процессоре и т.д.
Специалисту в данной области техники должно быть понятно из представленного выше описания, какие компоненты могут быть необязательными улучшениями и могут быть реализованы в сочетании с другими компонентами, и как (необязательные) этапы способов соответствуют соответствующим средствам устройств, и наоборот. Термин ʺустройствоʺ в этой заявке используется в самом широком смысле, а именно как группа средств, позволяющих реализовать конкретную цель, и, следовательно, может быть, например, (небольшой схемной частью) ИС или специализированным устройством (например, устройством с дисплеем) или частью сетевой системы и т.д. Термин ʺкомпоновкаʺ также предусматривает использование в самом широком смысле, поэтому она может содержать, среди прочего, одно устройство, часть устройства, совокупность (частей) взаимодействующих устройств и т.д.
Термин ʺкомпьютерный программный продуктʺ должен пониматься как охватывающий любую физическую реализацию совокупности команд, позволяющих процессору общего или специального назначения после последовательности этапов загрузки (которые могут включать в себя промежуточные этапы преобразования, такие как перевод на промежуточный язык и окончательный язык процессора) вводить команды в процессор и исполнять любую из характерных функций изобретения. В частности, компьютерный программный продукт может быть реализован как данные на носителе, таком как диск или лента, данные, присутствующие в памяти, данные, передаваемые через сетевое соединение, проводное или беспроводное, или программный код на бумаге. Помимо программного кода, характеристические данные, необходимые для программы, также могут быть воплощены как компьютерный программный продукт.
Некоторые этапы, необходимые для работы способа, могут уже присутствовать в функциональности процессора вместо описанных в компьютерном программном продукте, такие как этапы ввода и вывода данных.
Следует отметить, что вышеупомянутые варианты осуществления иллюстрируют, а не ограничивают изобретение. Там, где специалист может легко осуществить отображение представленных примеров на другие области пунктов формулы изобретения, все эти опции не были упомянуты в подробностях в целях краткости изложения. Помимо комбинаций элементов изобретения, как скомбинировано в формуле изобретения, возможны и другие комбинации элементов. Любая комбинация элементов может быть реализована в одном специализированном элементе.
Никакая ссылочная позиция в скобках в формуле изобретения не предназначена для ограничения пункта формулы изобретения. Слово ʺсодержитʺ не исключает наличия элементов или аспектов, не перечисленных в пункте формулы изобретения. Форма единственного числа для элемента не исключает присутствия множества таких элементов.
Используемый жаргон и сокращения:
PB_C: максимальная кодируемая светимость изображения, обычно указываемая для любой ситуации, причем «C» означает кодирование (не путать с битовой глубиной), например, HDR-изображение может иметь PB_C_HDR = 4000 нит (которая также определяет все относительные светимости ниже, потому что L_norm = L/PB_C, где L_norm является нормализованной светимостью, лежащей между 0,0 и 1,0
PB_D: максимальная отображаемая светимость (также известная как пиковая яркость) любого дисплея, например, текущие HDR-дисплеи обычно имеют PB_D, равное 1000 нит (но в настоящее время можно также получить значения вплоть до 600 нит или вплоть до 2000 и даже 4000 нит, а в будущем PB_D может быть выше).
IDR (промежуточный динамический диапазон): механизм для представления изображения, которое изначально (т.е. основное изображение) было определено с PB_C1, например, 10000 нит, фактически как вторичное HDR-изображение с PB_C2<PB_C1 (например, как правило, коэффициент 2 или еще ниже, а PB_C2 обычно >= 500 нит).
MDR (средний динамический диапазон; конечно, не путать с IDR): изображение с PB_C_MDR, обычно лежащее между PB_C принятого HDR-изображения (PB_C_H) и PB_C_SDR = 100 нит (по согласованному определению в области обработки видео), причем значение PB_C_MDR задано равным PB_D любого дисплея (таким образом входящее HDR-изображение, которое имеет неправильный динамический диапазон и, следовательно, что более важно, неправильное относительное статистическое распределение нормализованных яркостей относительно друг друга, может быть оптимально подвергнуто повторной градуировке для конкретного доступного дисплея с возможностями более низкого динамического диапазона, т.е. PB_D<PB_C_H).
Para: специфическая очень прагматически полезная функция для отображения яркостей, определенных в первом диапазоне нормализованных яркостей, соответствующем PB_C1, в нормализованные посредством PB_C2, причем функция определена в данном документе выше с помощью уравнений 4 и 5 и параболическим промежуточным отрезком или формально в ETSI TS 103 433-1 V1.2.1 (2017-08) [сокращенно ETSI1], см. стр. 70 Ур. С-20.
Abcara: обратная функция для любой функции para (т.е. с параметрами, однозначно определяющими ее форму), обратную форму которой также можно интуитивно найти, переставив ось (но иногда ее необходимо вычислить математически).
WLO (смещение уровня белого): нормализованная яркость в диапазоне нормализованных яркостей первого изображения (im1), которая отображается на 1,0 в диапазоне нормализованных яркостей второго изображения, при этом PB_C_im1>PB_C_im2. В этой заявке есть несколько разных WLO для различных изображений с разной PB_C при определении процесса кодирования, поэтому, чтобы их легко различать, они содержат суффиксы, например, WLO_gr.
BLO (смещение уровня черного): нормализованная яркость в диапазоне нормализованных яркостей первого изображения, которая отображается на 0,0 в диапазоне нормализованных яркостей второго изображения, при этом PB_C_im1> PB_C_im2. В этой заявке есть несколько разных BLO для различных изображений с разной PB_C при определении процесса кодирования, поэтому, чтобы их легко различать, они содержат суффиксы, например, BLO_IDR.
P_LUT: полное отображение (состоящее из частичных повторных градуировок в нашем подходе к кодеку, как объяснено с помощью ФИГ. 4), необходимое для преобразования любой возможной нормализованной яркости первого изображения в соответствующую нормализованную яркость второго изображения, при этом PB_C_im1 != PB_C_im2 (как правило, они отличаются, по меньшей мере, на множитель 1,02). Поскольку P_LUT [L], которое обычно зависит от контента изображения, и, например, оптимизируется интеллектуальным автоматическим средством анализа изображений или человеком, изменяет относительное распределение нормализованных яркостей, т.е. гистограмму, это ключевой аспект преобразования динамического диапазона, например, того, который задействован в определении IDR-изображения, что является ключевым в нынешней философии нового HDR-кодека.
C_LUT: зависимое от яркости пикселя отображение хроматичности (также известной как цветность) цветов пикселей, которое вместе с P_LUT завершает цветовое преобразование (YCbCr_out = T[Y_cbCr_in]).
Предложенная Philips функция перцептуализатора (PPF): функция (определенная в уравнении 1), предназначенная для параметрического преобразования светимостей, определенных в диапазоне от 0 до PB_C, в перцептуально однородные светимости, при этом значение PB_C через параметр RHO является параметром управления формой функции PPF и, следовательно, распределением визуально однородных кодирующих яркостей для различных входных светимостей.