КОДИРОВАНИЕ, ДЕКОДИРОВАНИЕ И ПРЕДСТАВЛЕНИЕ ИЗОБРАЖЕНИЙ С РАСШИРЕННЫМ ДИНАМИЧЕСКИМ ДИАПАЗОНОМ
ENCODING, DECODING AND REPRESENTING HIGH DYNAMIC RANGE IMAGES

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
[0001] Данная заявка заявляет приоритет на предварительную патентную заявку США № 61/476174, поданную 15 апреля 2011 года, и на предварительную патентную заявку США № 61/552868, поданную 28 октября 2011, которые полностью включены в данный документ путем ссылки.
ОБЛАСТЬ ТЕХНИКИ
[0002] Настоящее изобретение относится, в общем, к обработке изображения и, в частности, к кодированию, декодированию и представление изображений с расширенным динамическим диапазоном.
ПРЕДПОСЫЛКИ ИЗОБРЕТЕНИЯ
[0003] Технологии дисплеев и разработанные заявителем и другими способны воспроизводить изображения, имеющие расширенный динамический диапазон (HDR). Такие дисплеи способны воспроизводить изображения, которые более достоверно отображают сцены реального мира, чем традиционные дисплеи.
[0004] Для поддержки совместимости с предыдущими версиями, а также с новыми технологиями HDR дисплеев, HDR изображение может быть представлено тонально отображенным изображением с дополнительными метаданными, содержащими отношения яркости оттенков серого. С одной стороны, тонально отображенное изображение может использоваться для представления изображения с нормальным динамическим диапазоном (например, на устаревших дисплеях). С другой стороны дополнительные метаданные могут использоваться с тонально отображенными изображениями для создания, восстановления или представления HDR изображения (например, HDR дисплеем).
[0005] Однако, тонально отображенное изображение может содержать одно или несколько цветовых изменений, возникающих по различным причинам в связи с пользователем, который производит манипуляции с изображением, или с конкретным оператором тонального отображения, который привык создавать тонально отображенные изображения. Например, пользователь может изменить информацию о цвете, связанную с некоторыми или всеми пикселями в изображении, с целью создания изображения, которое выглядит более художественно. Дополнительно оператор тонального отображения может осуществлять различные усечения черного и белого в различных цветовых каналах и может вносить цветовых изменения, например в относительно недодержанных или передержанных областях изображения. Согласно существующим технологиям, когда декодер, расположенный ниже по схеме процесса, пытается воссоздать HDR изображение из тонально отображенного изображения и сопутствующих отношений яркости оттенков серого, устранить эти цветовые изменения в тонально отображенном изображении сложно или невозможно.
[0006] Способы, описанные в данном разделе, представляют собой способы, которые можно было бы осуществить, но необязательно способы, которые были сформулированы или осуществлены. Таким образом, если не указано обратное, не следует понимать, что любой из способов, описанных в данном разделе, расценивается как известный уровень техники, только лишь посредством их вставки в данном разделе. Подобным образом, преимущества определенные относительно одного или нескольких способов не стоит воспринимать, как признанные в уровне техники на основе данного раздела, если не указано обратное.
КРАТКОЕ ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВ
[0007] Настоящее изобретение изображено на фигурах сопутствующих графических материалов для примера, а не для ограничения, и подобные ссылочные позиции соответствуют подобным элементам, где:
[0008] на фиг. 1 изображен пример кодера HDR изображения согласно некоторым возможным вариантам осуществления настоящего изобретения;
[0009] на фиг. 2 изображен пример декодера HDR изображения согласно некоторым возможным вариантам осуществления изобретения;
[0010] на фиг. 3А и фиг. 3 В изображен пример последовательности операций процесса согласно одному из возможных вариантов осуществления настоящего изобретения; и
[0011] на фиг. 4 изображен пример аппаратной платформы, на которой может быть выполнен компьютер или компьютерное устройство согласно одному из возможных вариантов осуществления настоящего изобретения.
[0012] на фиг. 5 изображены изменяющиеся характеристики насыщения различных сенсоров цвета в обычных камерах по градиенту от черного к белому.
[0013] на фиг. 6А и 6 В изображены варианты осуществления настоящей системы, которая преобразует данные изображения из цветового пространства сенсора камеры в цветовое пространство монитора, который осуществляет апостериорный анализ баланса белого;
[0014] на фиг. 7 представлен один вариант осуществления техники коррекции баланса белого.
ОПИСАНИЕ ПРИМЕРОВ ВОЗМОЖНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[0015] Далее описаны примеры возможных вариантов осуществления, которые относятся к техникам обработки изображения. В нижеследующем описании, с целью объяснения, приведено множество конкретных деталей, чтобы обеспечить полное понимание настоящего изобретения. Очевидно, однако, что настоящее изобретение может осуществляться без этих конкретных деталей. В других примерах, хорошо известные конструкции и устройства не описаны в исчерпывающих подробностях, во избежание ненужного перенасыщения, искажения смысла или запутывания содержания настоящего изобретения.
[0016] Примеры вариантов осуществления описаны в данном документе согласно следующему плану:
1. ОБЩИЙ ОБЗОР
2. КОДЕР HDR ИЗОБРАЖЕНИЯ
3. КОРРЕКЦИЯ БАЛАНСА БЕЛОГО
4. ДЕКОДЕР HDR ИЗОБРАЖЕНИЯ
5. ПРИМЕР ПОСЛЕДОВАТЕЛЬНОСТИ ОПЕРАЦИЙ ПРОЦЕССА
6. МЕХАНИЗМЫ РЕАЛИЗАЦИИ - ОБЗОР АППАРАТНОГО ОБЕСПЕЧЕНИЯ
7. ЭКВИВАЛЕНТЫ, КОМПОНЕНТЫ, АЛЬТЕРНАТИВНЫЕ ВАРИАНТЫ И ПРОЧЕЕ
1. ОБЩИЙ ОБЗОР
[0017] Данный обзор представляет базовое описание некоторых аспектов одного возможного варианта осуществления настоящего изобретения. Следует указать, что данный обзор не является расширенным или исчерпывающим описанием аспектов возможного варианта осуществления. Более того, следует указать, что данный обзор не следует понимать, как определяющий любые особенно важные аспекты или элементы возможного варианта осуществления, как очерчивающий какую-либо сущность возможного варианта осуществления в частности, как изобретение вообще. Данный обзор всего лишь представляет некоторые идеи, которые относятся к примеру возможного варианта осуществления в сокращенном и упрощенном формате, и должны пониматься, не более, чем концептуальное предисловие к более подробному описанию примеров возможных вариантов осуществления, которые следуют ниже.
[0018] Чтобы отобразить изображения на большом количестве разнообразных устройств отображения изображения, операторы тонального отображения (TMO) обрабатывают входные HDR изображения в тонально отображенные (TM) базовые изображения. ТМ базовые изображения могут включать цветовые изменения (например, изменение тона, усечений цвета, художественных видов и т.д.) по отношению к входному изображению. Согласно некоторым техникам, ТМ базовые изображения подаются на декодеры изображения, расположенные ниже по схеме процесса, вместе с отношениями яркости для воссоздания HDR изображений, эквивалентных входным HDR изображениям. Однако декодер изображения, расположенный ниже по схеме процесса, не сможет устранить цветовые изменения в восстановленном HDR изображении, полагаясь на ТМ базовое изображение и отношения яркости оттенков серого. Как результат, цветовые изменения останутся заметными на восстановленном HDR изображении.
[0019] В противоположность, кодер HDR изображения согласно техникам, описанным в данном документе, создает не только отношения яркости, но также значения остаточного цвета на основе входного HDR изображения и ТМ базового изображения. Отношения яркости и значения остаточного цвета могут вместе указываться как данные HDR восстановления. Факультативно и/или дополнительно, отношения яркости преобразуются в логарифмическую область для поддержки относительно большого диапазона значений яркости. Факультативно и/или дополнительно, полученные логарифмические отношения яркости и значения остаточного цвета подвергают квантованию. Факультативно и/или дополнительно, квантованные логарифмические отношения и значения остаточного цвета хранятся в остаточном изображении. Квантованные логарифмические отношения и значения остаточного цвета или остаточное изображение в некоторых вариантах осуществления снабжены ТМ базовым изображением на декодере изображения, расположенном ниже по схеме процесса. Факультативно и/или дополнительно, параметры, относящиеся к квантованным логарифмическим отношениям и значениям остаточного цвета (например, пределы диапазона и т.д.), также снабжены ТМ базовым изображением.
[0020] ТМО здесь может свободно осуществлять усечение цвета в цветовых каналах для отдельных пикселей с низкими (черный) или высокими (белый) уровнями яркости. Кроме того, ТМО, как описано в данном документе, не требует поддержания тона для каждого пикселя. Согласно описанным в данном документе техникам, пользователь свободно может выбирать ТМО на основе содержания изображения (например, фигура человека, изображение интерьера, пейзажи на открытом воздухе, вид ночью, рассвет и т.д.) или аппликации (например, использованной в фильме, на постере, на свадебной фотографии, в журнале и т.д.). Усечения цвета или модификации могут использоваться преднамеренно и свободно для создания художественного вида изображений. Кодеры и декодеры HDR изображения здесь поддерживают ТМО, реализованный различными типами монтажного программного обеспечения и производителями камер, которые предоставляют широкий диапазон возможных цветовых изменений. Согласно техникам, описанным в данном документе, HDR кодеры предоставляют значения остаточного цвета HDR декодерам. HDR декодеры в свою очередь используют значения остаточного цвета для предупреждения (или уменьшения) цветовых изменений в восстановленных HDR изображениях.
[0021] Согласно техникам, описанным в данном документе, битовые потоки и/или файлы изображения могут использоваться для хранения и предоставления ТМ базовых изображений и их соответствующих данных HDR восстановления просмотрщикам изображений или декодерам, расположенным ниже по схеме процесса, для декодирования и/или отображения. Формат изображения согласно техникам, описанным в данном документе, поддерживает ТМО, реализованные различными типами монтажного программного обеспечения и производителей камер. Примеры форматов, описанных в данном документе, могут включать форматы изображения стандарта JPEG (включая, например, JPEG-HDR), но не ограничиваться ими. В одном из примеров вариантов осуществления формат изображения JPEG-HDR используется для поддержки ТМ базового изображения с отношениями яркости и значениями остаточного цвета. Дополнительно и/или факультативно, один или оба из ТМ базового изображения и остаточное изображение, хранящееся в файле изображения, сжаты. Сжатие, описанное в данном документе, может осуществляться при помощи стандарта JPEG или другим способом.
[0022] Декодер изображения или просмотрщик, не поддерживающий HDR изображение, работающий согласно техникам, описанным в данном документе, просто открывает ТМ базовое изображение в файле изображения. С другой стороны, декодеры HDR изображения согласно техникам, описанным в данном документе, сконфигурированы для чтения/анализа файла изображения в ТМ базовом изображении и его соответствующих отношений яркости и значений остаточного цвета и для воссоздания/восстановления HDR изображения. Восстановленное HDR изображение, описанное в данном документе, не имеет цветовых изменений, которые были удалены из оригинального входного HDR изображения, однако были предоставлены в ТМ базовом изображении при помощи ТМО.
[0023] В некоторых возможных вариантах осуществления механизмы, описанные в данном документе, образуют часть кодера изображения, включая, но, не ограничиваясь переносными устройствами, игровыми аппаратами, театральными системами, домашними развлекательными системами, телевизорами, ноутбуками, нет-буками, мобильными радиотелефонами, электронными книгами, терминалами пунктов продаж, стационарными компьютерами, автоматизированными рабочими местами, компьютерными киосками и различными другими видами терминалов и обрабатывающих машин.
[0024] Специалисту в данной области сразу же станут очевидны различные модификации к предпочтительным вариантам осуществления и характерным принципам и особенностям, описанным в данном документе. Таким образом, описание не ограничивается показанными вариантами осуществления, однако должно согласовываться с широким объемом, содержащим принципы и особенности, описанные в данном документе.
2. КОДЕР HDR ИЗОБРАЖЕНИЯ
[0025] На фиг. 1 изображен пример кодера HDR изображения в соответствии с некоторыми возможными вариантами осуществления настоящего изобретения. В некоторых возможных вариантах осуществления, кодер HDR изображения реализован посредством одного или нескольких компьютерных устройств, и сконфигурирован при помощи программного обеспечения и/или компонентов аппаратного обеспечения, которые осуществляют техники обработки изображения для кодирования входного HDR изображения в ТМ изображение с данными HDR восстановления в формате на основе стандарта или специализированного формата изображения.
[0026] Кодер HDR изображения содержит программное обеспечение и/или компоненты аппаратного обеспечения сконфигурированы для приема входного HDR изображения. Как использовано здесь, «входное HDR изображение» относится к любому HDR изображению, которое может содержать данные изображения с расширенным динамическим диапазоном с плавающей запятой или фиксированной запятой. Входное HDR изображение может быть в любом цветовом пространстве, которое поддерживает цветовую гамму с расширенным динамическим диапазоном. В одном примере варианта осуществления входное HDR изображение является RGB изображением (например, входное HDR RGB как показано на фиг. 1) в цветовом пространстве RGB. В одном из примеров, каждый пиксель во входном HDR изображении содержит значения пикселей с плавающей запятой для всех каналов (например, красный, зеленый и синий цветовые каналы в цветовом пространстве RGB), определенных в цветовом пространстве. В другом примере каждый пиксель во входном HDR изображении содержит значения пикселя с фиксированной запятой для всех каналов (например, значения пикселей с фиксированной запятой с 16 бит или большее/меньшее количество битов для красного, зеленого и синего цветовых каналов в цветовом пространстве RGB) определенных в цветовом пространстве. Каждый пиксель может факультативно и/или альтернативно содержать субдискретизированные значения пикселя для одного или нескольких каналов в цветовом пространстве.
[0027] В одном примере осуществления кодер HDR изображения содержит программное обеспечение и/или компоненты аппаратного обеспечения, сконфигурированные для осуществления нескольких этапов предварительной обработки. Факультативно и/или альтернативно, этапы предварительной обработки включают, но не ограничиваются, ноль или несколько проверок корректности на входном HDR изображении и т.д. Например, входное HDR изображение может или не может содержать значения пикселя, обозначающие отрицательные значения яркости, например, представленные этапом, идущим выше по схеме процесса, или искажение локальных данных, представленное при кодировании или передаче. Чтобы базовое значение яркости не было отрицательным, тем самым вызывая проблемы в последующих операциях тонального отображения, базовые значения яркости во входном HDR изображении проверяются при помощи проверки корректности (Проверка 104 отрицательного значения яркости). Если базовое значение яркости пикселя не является положительным, значения пикселя для всех цветовых каналов пикселя могут устанавливаться на ноль.
[0028] В возможных вариантах осуществления, в которых значение яркости не является непосредственно данной пикселю в цветовом пространстве, причем значение яркости для пикселя может (опосредованно) исходить из значений пикселя в цветовой области. В одном из примеров варианта осуществления, значения пикселя: R, G и B в цветовом пространстве RGB для пикселя могут использоваться для вычисления значения яркости, Y, для пикселя, как указано ниже:
Y=0,30078125*R+0,59765625*G+0,1015625*В  выражение (1)
[0029] Прежде, чем входное HDR изображение, которое может или не может предварительно обрабатываться, предоставляется оператору тонального отображения (ТМО 106), входное HDR изображение проходит через оператора (105) баланса белого. Как подробнее будет описано ниже, корректировка и/или регулировка баланса белого в HDR изображениях может быть необходима как часть HDR кодирования, а также как операция перед операцией тонального отображения.
[0030] В одном примере варианта осуществления ТМО 106 содержит программное обеспечение и/или компоненты аппаратного обеспечения, сконфигурированные для создания, на основе входного HDR изображения (которое может быть предварительно обработано), тонально отображенного (ТМ) изображения, которое может отображаться на большом количестве различных устройств отображения. Согласно техникам, описанным в данном документе, ТМО 106 рассматривается как черный ящик в кодере HDR изображения. ТМО 106 или пользователь, который использует ТМО 106 для управления входным HDR изображением, может свободно вносить одно или несколько цветовых изменений, которые влияют на свойства тонов или цветности в некоторых или всех частях выходного ТМ изображения из ТМО 106. Согласно техникам, описанным в данном документе, ТМ изображение с цветовыми изменениями, свободно выполненными ТМО 106 или пользователем, могут предоставляться как базовое изображение для устройств, расположенных ниже по схеме процесса, вместе с данными HDR восстановления, созданными согласно техникам, описанным в данном документе, которые могут использоваться для воспроизведения/отображения HDR изображения. Данные HDR восстановления предоставляют достаточную информацию принимающему устройству, расположенному ниже по схеме процесса, для воспроизведения HDR изображения без цветовых изменений, выполненных ТМО 106.
[0031] Факультативно и/или альтернативно кодер HDR изображения содержит программное обеспечение и/или компоненты аппаратного обеспечения (Изменение 110 черного), сконфигурированные для осуществления изменений черного на выходе из ТМО 106, ТМ изображение (R'G'B' 108). Кодер HDR изображения, или изменение 110 черного в нем, определяет местонахождение нулевых значений пикселя в ТМ изображении (R'G'B' 108). В одном примере, если значение пикселя для цветового канала равно нулю, то значению пикселя дают маленькое значение, например 1, 2, 10 или другое большее или меньшее значение. В другом примере, если значение яркости для пикселя равно нулю, то значениям пикселя для одного или нескольких цветовых каналов дают маленькие значения, например 1, 2, 10 или другие большие или меньшие значения. Маленькое значение пикселя (например, ниже 10) при восприятии может не иметь визуальных различий.
t
t
[0032] ТМ изображение (R'G'B' 108) может или не может быть 8-битным изображением с гамма-коррекцией. Исключительно с целью иллюстрации, тонально отображенное изображение (R'G'B' 108), выведенное ТМО 106, подвергся гамма-коррекции в ТМО 106. Факультативно и/или альтернативно кодер HDR изображения содержит компоненты программного обеспечения и/или аппаратного обеспечения (Инверсия гаммы 112), сконфигурированные для преобразования тонально отображенного изображения (R'G'B' 108) в промежуточное тонально отображенное изображение (RGB) в линейной области, если выходной параметр или возвращаемое значение ТМО 106 указывает, что в ТМО 106 была осуществлена гамма-коррекция. Кривая гамма-распределения, используемая для гамма-коррекции и/или для гамма-конверсии может быть связана со стандартным цветовым пространством, например sRGB или Adobe RGB, которые могут быть указаны ТМО 106, используя один или несколько выходных параметров или возвращаемых значений. В одном примере осуществления RGBможет использоваться для дальнейшего получения отношений яркости и остаточных значений как описано в данном документе.
h
h
t
t
h
t
h
t
[0033] В одном примере варианта осуществления значения (Y) яркости во входном HDR изображении (RGB) и значений (Y) в RGBмогут вычисляться. В некоторых возможных вариантах осуществления, Y, Y и отношения (r) яркости между Y и Y могут вычисляться на основе отдельных пикселей, как указано ниже:
h
h
h
h
h
Y=L(RGB)=0,30078125*R+0,59765625*G+0,1015625*B
t
t
t
t
t
Y=L(RGB)=0,30078125*R+0,59765625*G+0,1015625*B выражения (2)
<mrow><mi>r</mi><mo>=</mo><mfrac><mrow><msub><mi>Y</mi><mi>h</mi></msub></mrow><mrow><msub><mi>Y</mi><mi>t</mi></msub></mrow></mfrac></mrow>
h
t
h
t
h
t
h
t
h
t
[0034] Где Y содержит несколько значений яркости, каждое из которых соответствует различным пикселям во входном HDR изображении, Y содержит несколько значений яркости, каждое из которых соответствует различным пикселям в тонально отображенном изображении и r содержит несколько отношений яркости, каждое из которых определяется как отношение между значением яркости в Y и соответствующим значением яркости в Y. В некоторых возможных вариантах осуществления Y, Y и r могут выражаться матрицами той же размерности. Положение в матрице, описанное в данном документе, как указано индексом строки и индексом столбца, может указывать на пиксель в изображении (например, входное HDR изображение, тонально отображенное изображение или изображение отношения яркости образованное r). Значения яркости Y и Y и отношения яркости из r соответствуют один другому, если их положения имеют в матрицах тот же индекс строки и тот же индекс столбца. В альтернативном варианте осуществления операции деления (Деление 116), как показано на фиг. 1 для вычисления r на основе Y и Y, осуществляются как вычитания в логарифмической области.
t
[0035] Согласно техникам, описанным в данном документе, отношения r яркости вычисляются при помощи тонально отображенного изображения (RGB), который содержит результат операций цветового изменения, осуществленных ТМО 106 или пользователем. Отношения яркости, вычисляемые как в выражениях (2), при умножении тонально отображенного изображения, создают изображение, значения яркости которого совпадают со значениями яркости входного HDR изображения.
[0036] Если цветовой баланс поддерживается ТМО 106 и если нет усечения цвета, осуществленного ТМО 106 или пользователем при помощи тонально отображенного изображения, комбинированное изображение, созданное посредством умножения тонально отображенного изображения с отношениями r яркости совпадает с входным HDR изображением цвет в цвет.
[0037] C другой стороны, если тонально отображенное изображение содержит цветовые изменения/искажения, например, когда цветовой баланс во входном HDR изображении изменяется ТМО 106 в тонально отображенном изображении, или, если происходит усечение цвета в операторе баланса 105 белого или ТМО 106, комбинированное изображение, созданное посредством умножения тонально отображенного изображения с отношениями r яркости, не соответствует входному HDR изображению цвет в цвет. Согласно техникам, описанным в данном документе, различия в цветовых каналах отличных от канала яркости вычисляются между комбинированным изображением и входным HDR изображением для создания остаточных значений, заключающихся в данных HDR восстановления. Данные HDR восстановления, полученные согласно техникам, описанным в данном документе, предоставляют дополнительную информацию о цвете, которая была потеряна в балансе 105 белого или ТМО 106 или при операциях, осуществляемых пользователем. Когда устройство, расположенное ниже по схеме процесса, такое как декодер HDR изображения или устройство HDR отображения, получает ТМ изображение с цветовыми изменениями/искажениями и данными HDR восстановления, причем цветовые изменения/искажения в ТМ изображении компенсируются данными HDR восстановления.
[0038] Как указанно в данном документе, усечение относится к типу цветового изменения, которое изменяет/модифицирует значения пикселей, которые выходят за пределы, в цветовых каналах, так что результирующие значения пикселей находятся в представленных диапазонах. Усечение может произойти с любыми цветовыми каналами (например, в ТМ изображении значения R, G и B пикселей в цветовом пространстве RGB в определенной части HDR изображения могут усекаться). Количество усечений может или не может варьироваться с цветовыми каналами (например, больше усечения для зеленого, меньше усечения для синего и т.д.).
ht
ht
[0039] Используя отношения r яркости, входное HDR изображение может повторно отображаться для создания промежуточного повторно отображенного изображения (RGB), цветовой баланс которого не изменяется. RGB может вычисляться при помощи операции деления (Деление 118) как указано ниже:
<mrow><mi>R</mi><mi>G</mi><msub><mi>B</mi><mrow><mi>h</mi><mi>t</mi></mrow></msub><mo>=</mo><mfrac><mrow><mi>R</mi><mi>G</mi><msub><mi>B</mi><mi>h</mi></msub></mrow><mi>r</mi></mfrac></mrow>
выражение (3)
ht
t
e
[0040] Как объяснялось выше, если цветовой баланс поддерживается посредством ТМО 106 и, если нет усечения цвета, повторно отображенное изображение (RGB) будет таким же, как тонально отображенное изображение (RGB). В противном случае между этими двумя изображениями будут различия. Различия между двумя изображениями являются остаточными значениями в тонально отображающем цветовом пространстве (например, пространство, содержащее все возможные тонально отображенные изображения). В одном примере осуществления остаточные значения (RGB) вычисляются при помощи вычитаний (Вычитание 132) в линейной области, как указано ниже:
e=
ht
t
RGBRGB-RGBвыражение (4)
e
b
r
t
ht
e
b
r
b
r
e
b
r
[0041] Остаточные значения (RGB) могут конвертироваться (блоком 134 CSC, показанном на фиг. 1) в цветовое пространство YCC. Согласно техникам, описанным в данном документе, тонально отображенное изображение (RGB) и повторно отображенное изображение (RGB) имеют одинаковые значения яркости. Остаточные значения яркости между этими двумя изображениями все равны нулю. Остаточные значения (RGB) в цветовом пространстве YCCсодержат только информацию о цветности (Diff YCC 154), которую необходимо сохранить. Конверсия из RGB в Diff YCC 154 может быть представлена, как показано ниже:
<mrow><mrow><mo>[</mo><mtable columnalign="left"><mtr><mtd><msub><mi>Y</mi><mi>e</mi></msub></mtd></mtr><mtr><mtd><mi>C</mi><msub><mi>b</mi><mi>e</mi></msub></mtd></mtr><mtr><mtd><mi>C</mi><msub><mi>r</mi><mi>e</mi></msub></mtd></mtr></mtable><mo>]</mo></mrow><mo>=</mo><msub><mi>M</mi><mrow><mi>C</mi><mi>S</mi><mi>C</mi></mrow></msub><mo>*</mo><mrow><mo>[</mo><mtable columnalign="left"><mtr><mtd><msub><mi>R</mi><mi>e</mi></msub></mtd></mtr><mtr><mtd><msub><mi>G</mi><mi>e</mi></msub></mtd></mtr><mtr><mtd><msub><mi>B</mi><mi>e</mi></msub></mtd></mtr></mtable><mo>]</mo></mrow></mrow>
выражение (5)
CSC
CSC
-1
[0042] Где Mи его инверсия M может быть матрицей 3х3, определенной как указано ниже:
<mtable columnalign="left"><mtr><mtd><msub><mi>M</mi><mrow><mi>C</mi><mi>S</mi><mi>C</mi></mrow></msub><mo>=</mo><mrow><mo>[</mo><mtable><mtr><mtd><mn>0,30078125</mn></mtd></mtr><mtr><mtd><mo>−</mo><mn>0,16739</mn></mtd></mtr><mtr><mtd><mn>0,5</mn></mtd></mtr></mtable></mrow><mtable><mtr><mtd><mtable><mtr><mtd><mn>0,59765625</mn></mtd></mtr><mtr><mtd><mo>−</mo><mn>0,3326</mn></mtd></mtr><mtr><mtd><mo>−</mo><mn>0,42737</mn></mtd></mtr></mtable></mtd></mtr></mtable><mrow><mtable><mtr><mtd><mn>0,1015625</mn></mtd></mtr><mtr><mtd><mn>0,5</mn></mtd></mtr><mtr><mtd><mo>−</mo><mn>0,0726</mn></mtd></mtr></mtable><mo>]</mo></mrow></mtd></mtr><mtr><mtd><msubsup><mi>M</mi><mrow><mi>C</mi><mi>S</mi><mi>C</mi></mrow><mrow><mo>−</mo><mn>1</mn></mrow></msubsup><mo>=</mo><mrow><mo>[</mo><mtable columnalign="left"><mtr><mtd><mn>1,0</mn></mtd></mtr><mtr><mtd><mn>1,0</mn></mtd></mtr><mtr><mtd><mn>1,0</mn></mtd></mtr></mtable></mrow><mtable><mtr><mtd><mtable><mtr><mtd><mn>0,0</mn></mtd></mtr><mtr><mtd><mo>−</mo><mn>0,3054</mn></mtd></mtr><mtr><mtd><mn>1,7969</mn></mtd></mtr></mtable></mtd></mtr></mtable><mrow><mtable><mtr><mtd><mn>1,3984</mn></mtd></mtr><mtr><mtd><mo>−</mo><mn>0,7038</mn></mtd></mtr><mtr><mtd><mn>0,0</mn></mtd></mtr></mtable><mo>]</mo></mrow></mtd></mtr></mtable>
выражение (6)
CSC
e
e
[0043] Согласно техникам, описанным в данном документе, коэффициенты конверсии, используемые для вычисления значений яркости во входном HDR изображении и тонально отображенном изображении, являются такими же, как у M в выражениях (5) и (6). Согласно этим техникам, остаточные значения (Y) яркости в RGB все равны нулю, как показано ниже:
<mtable><mtr><mtd><msub><mi>Y</mi><mi>e</mi></msub><mo>=</mo><mi>L</mi><mo stretchy="false">(</mo><mi>R</mi><mi>G</mi><msub><mi>B</mi><mi>e</mi></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mo>=</mo><mi>L</mi><mo stretchy="false">(</mo><mi>R</mi><mi>G</mi><msub><mi>B</mi><mrow><mi>h</mi><mi>t</mi></mrow></msub><mo>−</mo><mi>R</mi><mi>G</mi><msub><mi>B</mi><mi>t</mi></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mo>=</mo><mi>L</mi><mo stretchy="false">(</mo><mi>R</mi><mi>G</mi><msub><mi>B</mi><mrow><mi>h</mi><mi>t</mi></mrow></msub><mo stretchy="false">)</mo><mo>−</mo><mi>L</mi><mo stretchy="false">(</mo><mi>R</mi><mi>G</mi><msub><mi>B</mi><mi>t</mi></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mo>=</mo><mfrac><mrow><mi>L</mi><mo stretchy="false">(</mo><mi>R</mi><mi>G</mi><msub><mi>B</mi><mi>h</mi></msub><mo stretchy="false">)</mo></mrow><mi>r</mi></mfrac><mo>−</mo><mi>L</mi><mo stretchy="false">(</mo><mi>R</mi><mi>G</mi><msub><mi>B</mi><mi>t</mi></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mo>=</mo><mfrac><mrow><msub><mi>Y</mi><mi>h</mi></msub></mrow><mi>r</mi></mfrac><mo>−</mo><msub><mi>Y</mi><mi>t</mi></msub></mtd></mtr><mtr><mtd><mo>=</mo><mn>0</mn></mtd></mtr></mtable>
выражения (7)
max
min
t
[0044] Отношения r яркости в линейной области, как было вычислено в выражениях (2), имеют большой диапазон, поскольку отношения несут HDR информацию об входном изображении. В примере варианта осуществления, в целях достаточного квантования, как показано в выражении (8) ниже, отношения r яркости сначала конвертируют (например, при помощи логарифмического блока 130 по фиг. 1) в логарифмическую область. Максимальные и минимальные значения отношений яркости в логарифмической области могут использоваться для определения логарифмического диапазона (например, при помощи блока минимальных и максимальных значений по фиг. 1) с верхним предельным значением и нижним предельным значением как lr и lr соответственно. Логарифмические отношения яркости затем могут квантоваться (например, равномерно или по определенной кривой) (например, при помощи блока 136 8-битного квантования по фиг. 1) в 8-битные значения Log Y (или H в выражении (8)) на основе логарифмического диапазона. В одном примере с логарифмической областью используется логарифм с другими основаниями помимо натурального логарифма.
<mtable columnalign="left"><mtr><mtd><mi>l</mi><mi>r</mi><mo>=</mo><mi>log</mi><mo stretchy="false">(</mo><mi>r</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mi>l</mi><msub><mi>r</mi><mrow><mi>min</mi></mrow></msub><mo>=</mo><mi>min</mi><mi>l</mi><mi>r</mi></mtd></mtr><mtr><mtd><mi>l</mi><msub><mi>r</mi><mrow><mi>max</mi></mrow></msub><mo>=</mo><mi>max</mi><mi>l</mi><mi>r</mi></mtd></mtr><mtr><mtd><mi>H</mi><mo>=</mo><mrow><mo>(</mo><mrow><mfrac><mrow><mi>l</mi><mi>r</mi><mo>−</mo><mi>l</mi><msub><mi>r</mi><mrow><mi>min</mi></mrow></msub></mrow><mrow><mi>l</mi><msub><mi>r</mi><mrow><mi>max</mi></mrow></msub><mo>−</mo><mi>l</mi><msub><mi>r</mi><mrow><mi>min</mi></mrow></msub></mrow></mfrac></mrow><mo>)</mo></mrow><mo>*</mo><mn>255</mn></mtd></mtr></mtable>
выражение (8)
b
r
b
r
b
r
b
r
[0045] В одном примере цветовое пространство YCC, причем остаточные значения C и C (указанные как U и V в выражениях (9) и (10)) в Diff CC могут квантоваться до 8-битных значений (CC158), соответственно подобным образом как указано ниже:
<mtable columnalign="left"><mtr><mtd><mi>C</mi><msub><mi>b</mi><mrow><mi>min</mi></mrow></msub><mo>=</mo><mi>min</mi><mi>C</mi><mi>b</mi></mtd></mtr><mtr><mtd><mi>C</mi><msub><mi>b</mi><mrow><mi>max</mi></mrow></msub><mo>=</mo><mi>max</mi><mi>C</mi><mi>b</mi></mtd></mtr><mtr><mtd><mi>U</mi><mo>=</mo><mrow><mo>(</mo><mrow><mfrac><mrow><mi>C</mi><mi>b</mi><mo>−</mo><mi>C</mi><msub><mi>b</mi><mrow><mi>min</mi></mrow></msub></mrow><mrow><mi>C</mi><msub><mi>b</mi><mrow><mi>max</mi></mrow></msub><mo>−</mo><mi>C</mi><msub><mi>b</mi><mrow><mi>min</mi></mrow></msub></mrow></mfrac></mrow><mo>)</mo></mrow><mo>*</mo><mn>255</mn></mtd></mtr></mtable>
выражения (9)
<mtable columnalign="left"><mtr><mtd><mi>C</mi><msub><mi>r</mi><mrow><mi>min</mi></mrow></msub><mo>=</mo><mi>min</mi><mi>C</mi><mi>r</mi></mtd></mtr><mtr><mtd><mi>C</mi><msub><mi>r</mi><mrow><mi>max</mi></mrow></msub><mo>=</mo><mi>max</mi><mi>C</mi><mi>r</mi></mtd></mtr><mtr><mtd><mi>V</mi><mo>=</mo><mrow><mo>(</mo><mrow><mfrac><mrow><mi>C</mi><mi>r</mi><mo>−</mo><mi>C</mi><msub><mi>r</mi><mrow><mi>min</mi></mrow></msub></mrow><mrow><mi>C</mi><msub><mi>r</mi><mrow><mi>max</mi></mrow></msub><mo>−</mo><mi>C</mi><msub><mi>r</mi><mrow><mi>min</mi></mrow></msub></mrow></mfrac></mrow><mo>)</mo></mrow><mo>*</mo><mn>255</mn></mtd></mtr></mtable>
выражения (10)
t
b
r
b
r
[0046] В одном примере варианта осуществления после квантования данные HDR восстановления содержат три набора двумерных данных, H, U и V (Log Y и CC 158 на фиг. 1). Наборы данных в данных HDR восстановления могут сохраняться/храниться в отдельном YCC контейнере 144 (например, YUV изображение), содержащем значения отношения яркости (в каналах яркости примерного цветового пространства YUV), как если бы они формировали (например, YUV) изображение. В конце можно получить два изображения. Одно - тонально отображенное изображение в цветовом пространстве RGB, а другое - HUV изображение в цветовом пространстве YUV. Тонально отображенное изображение может быть выводом (R'G'B' 108) из ТМО 106, после изменения черного (Изменение черного 110) и/или с факультативным уменьшением насыщения (например, 150). Как тонально отображенное, так и HUV изображения могут содержать 8-битные данные, и могут сжиматься, например, при помощи способа сжатия по стандарту JPEG. Данные HDR восстановления могут выводиться в сегмент приложения (Сегмент приложения 146) с тонально отображенным изображением в отдельном файле изображения. Отдельный файл изображения может быть в формате на основе стандарта или специализированного формата изображения (например, JPEG-HDR). Сегмент приложения может представлять собой поле маркера (например, маркер APP11) в формате файла изображения (например, как определено по стандарту JPEG). В одном примере ТМ изображение образует базовое изображение (ТМ базовое изображение 148 в RGB) после JPEG сжатия, и HUV изображение присоединяется к ТМ базовому изображению в сегменте приложения (Сегмент приложения 146), например маркер APP11 в окончательный файл HDR (например, 156) изображения.
[0047] Техники, описанные в данном документе, могут использоваться как для HDR изображений с плавающей запятой, так и для HDR изображений с фиксированной запятой (например, 16-битное линейное изображение, 14-битное изображение с гамма-коррекцией и т.д.).
[0048] В одном примере варианта осуществления ТМ базовое изображение и HUV изображение хранятся в стандартном формате JPEG согласно техникам JPEG-HDR, коммерчески доступные от Dolby Laboratories, Сан-Франциско, Калифорния. ТМ базовое изображение храниться в сегменте данных статистического кода. HUV изображение с параметрами и вспомогательными данными хранится в сегменте приложения, например сегменте приложения АРР11 по JPEG-HDR, с подходящей строкой ID (например, «DD»).
b
r
b
r
[0049] Минимальные и максимальные значения диапазонов значений квантизации в HUV могут храниться в сегменте I типа. Эти минимальные и максимальные значения включают максимальные и минимальные значения отношения яркости в логарифмической области, максимальные и минимальные значения для остаточных значений С, и максимальные и минимальные значения для остаточных значений C. Факультативно и/или альтернативно другая информация, определяющая цветовое пространство базового изображения (например, sRGB, AdobeRGB), и остаточный режим (например, только отношение яркости) включены в сегмент I типа. Если остаточный режим представляет собой только отношение яркости, C и C, при дальнейшем кодировании связанные параметры и данные могут игнорироваться.
[0050] В одном примере осуществления HUV изображение хранится в сегменте II типа, и может разделяться на несколько сегментов II типа с информацией об индексе в заголовке сегментов, если размер данных HUV изображения превышает определенный размер, например, 64к байт.
3. КОРРЕКЦИЯ БАЛАНСА БЕЛОГО
[0051] Часто пользователь делает снимок цифровой камерой и необходимо отобразить HDR изображение, выведенное из полученного снимка. Если известен формат Camera RAW камеры, запечатлевшей изображение, то возможно создание HDR изображения с высоким качеством цветности. Однако апостериорная коррекция баланса белого может быть затруднительной для корректного осуществления, используя стандарт JPEG, по меньшей мере, по двум причинам: (1) точное отображение из полученного цветового пространства обратно в цвета сенсора не известно, и (2) усечение применялось для различных цветовых каналов неравномерно. Без знания того, как достичь цветового пространства, которое линейно связано с оригинальными значениями сенсора, коррекцию баланса белого нельзя провести хорошо.
[0052] Тем не менее, если формат Camera RAW известен, возможно использование форматирования Camera RAW для регулировки выдержки и баланса белого после события (т.е. после запечатления изображений камерой). В то время как изображения стандарта JPEG могут иметь собственную освещенность, увеличенную до некоторой степени, невозможно восстановить утерянные световые блики, и корректировка баланса белого либо увеличивает освещенность всего изображения, либо приводит к окрашиванию световых бликов до некоторой степени. Один вариант осуществления настоящей системы, тем не менее, дает возможность регулировать выдержку и баланс белого JPEG-HDR изображений и может иметь преимущество перед стандартом JPEG и (во многих случаях) кодированиями изображения Camera RAW.
[0053] Стандартное кодирование изображения, такое как JPEG или 24-битный TIFF на практике имеют максимально возможное значение в каждом канале (255, 255, 255), которое отвечает «белому». Пока правильно устанавливаются выдержка и баланс белого камеры, воссозданное изображение будет приемлемым для нормального просмотра и печати. Однако, если изображение немного передержано или пользователем или встроенным программным обеспечением камеры неправильно выставлен баланс белого, сложно будет корректировать изображение во время последующей обработки. Если основное значение будет усечено до 255, то информация, использованная для восстановления оригинального цвета, будет потеряна.
[0054] Хотя не существует широко принятых стандартов для Camera RAW, большинство таких форматов содержит достаточно информации по каждому пикселю для выполнения умеренных настроек выдержки и баланса белого. Посредством записи оригинальных аналого-цифровых выходных значений сенсора, можно узнать почти все, что сделала камера, когда делали снимок. В частности можно сказать, когда каждый сенсор насыщается, что дает возможность регулирования выдержки и баланса белого в захваченной области.
[0055] На самом деле, если доступны файлы Camera RAW, то в данной ситуации можно помочь по двум причинам: (1) Camera RAW имеет немного дополнительного пространства в каждом канале выше «белого», и (2) Camera RAW говорит нам точно когда усекается каждый канал так, что можно обратить внимание, чтобы этот максимум не был превышен при выходном отображении. Поэтому обычно апостериорная коррекция белой точки работает в Camera RAW, поскольку (1) известны линейное цветовое пространство сенсора и диапазон, и (2) не было потерь информации для фиксации. Любая отображенная белая точка доступная в момент запечатления доступна из данных Camera RAW.
[0056] На самом деле, если баланс белого осуществляется в Camera RAW, полученное изображение является оригинальным изображением, поскольку этапы, выбранные камерой во встроенном программном обеспечении, повторяются, однако могут осуществляться и на отдельном программном обеспечении. Тем не менее, существуют ограничения на то, сколько информации может быть восстановлено. Например, в некоторых случаях, если один из каналов достиг своего максимального значения при этой корректировке, RAW преобразователь может усечь два остальных, чтобы обеспечить нейтральный результат.
[0057] Ограничение основных цветов до неправильных белых точек делает проблематичной апостериорную коррекцию, даже если мы действительно знаем, как прийти к линейным значениям, поскольку полный диапазон данных сенсора был нарушен. Такая апостериорная обработка может окончится либо обесцвечиванием новых световых бликов, либо увеличением освещенности таким образом, что уменьшается насыщенность цвета и кое-где теряются детали.
[0058] На фиг. 5 изображена такая ситуация. Фиг. 5 представляет график работы гипотетической цифровой камеры данных полученного изображения в черно-белом градиенте. Согласно графику фиг. 5 цифровое изображение, полученное в канале зеленого цвета, насыщается при первом значении яркости белого цвета (при цифровом значении 4095), и затем канал красного цвета насыщается при высших значениях яркости белого. Канал синего цвета, однако, принимает гораздо большие значения яркости белого цвета с целью его насыщения. Без знания этих точек, при которых различные цветовые каналы насыщаются, корректировка для правильного баланса становится особенно трудной.
Дополнение JPEG-HDR
[0059] JPEG-HDR создавался как дополнение стандарта JPEG с целью обеспечения хранения изображений с расширенным динамическим диапазоном. С существующим форматом для JPEG-HDR, JPEG-HDR имеет по сути два канала изображения, которые влияют на коррекцию баланса белого, а именно базовый слой (тонально отображенный) JPEG изображения и остаточный слой, который может использоваться для восстановления откалиброванного линейного цветового пространства, таким образом, принимая множество преимуществ Camera RAW. Дополнительный динамический диапазон по существу позволяет системе корректировать значения цвета выше того, что было отображено в базовом слое. Однако может быть необходимым добавление некоторой дополнительной информации в случае, когда захваченный диапазон не охватывает весь диапазон значений визуализируемого пространства, что является частым даже для HDR.
[0060] В одном варианте осуществления система может хранить верхний диапазон сенсора для захваченного HDR в каждом из цветовых каналов RGB. Система может принимать вид коэффициентов баланса белого 2 или 3 и матрицы (например, 3х3), которая создает эффективные линейные значения сенсора в номинальном диапазоне (например, 0-1). «Эффективные линейные значения сенсора» могут толковаться как весь диапазон гипотетического сенсора, который может захватить за одну экспозицию то, что может объединяться из нескольких экспозиций при HDR захвате. Эти эффективные линейные значения сенсора могут использоваться для создания значений цветового пространства сенсора такого гипотетического сенсора. «Коэффициенты баланса белого» (или «множители баланса белого») могут использоваться для уведомления системы по поводу того, какими были настройки оригинального баланса белого во время преобразования - т.е. настройки, использованные для получения текущего выхода.
b
r
[0061] В другом варианте осуществления для JPEG-HDR может выполняться изменение, чтобы позволить световым бликам восстановленного HDR изображения превышать обычный максимум небелых значений - где одно или несколько эффективных значений сенсора достигают своего верхнего предельного значения. Поскольку эти пиксели могут отображаться как белые в тонально отображенном базовом слое, могут использоваться новые СC каналы остаточного цвета как будет описано далее.
[0062] Когда приложение запрашивает рекомбинированное HDR изображение из JPEG-HDR файла, может осуществляться ограничение белого. Это может осуществляться при помощи преобразования HDR изображения обратно к «эффективным линейным значениям сенсора» и применения (откорректированных) множителей баланса белого. В одном варианте осуществления эти множители могут быть нормализованы так, чтобы наименьший из трех множителей канала равнялся точно 1. За этим может следовать этап ограничения, на котором любые значения сенсор*множитель больше 1 усекались до 1. Наконец, измененные эффективные значения сенсора в каждом пикселе могут преобразовываться обратно в целевое цветовое пространство, используя инверсию предоставленной матрицы сенсора.
[0063] В еще одном варианте осуществления при оптимизации может проверяться, достаточно ли большие значения пикселей HDR для достижения ограничения. Если пиксель находится в захваченных границах цветовой гаммы, тогда ограничение не нужно и два цветовых преобразования и корректировка белого могут быть скомбинированы в одно преобразование. Это будет матрица тождественности в случаях, где оригинальный баланс белого не изменяется. Поскольку большинство пикселей может находиться в захваченной цветовой гамме, это может снизить требования вычисления для этого способа. Если необходимо повторное отображение тонально отображенного базового слоя, скорректированный и ограниченный HDR, созданный таким образом, может затем использоваться как источник для повторного вычисления тонально отображенного изображения.
h
[0064] С целью иллюстрации вышеописанного, на фиг. 6А показан один возможный набор операций отображения из цветового пространства сенсора камеры в цветовое пространство монитора таким образом. Цветовое пространство 602 сенсора камеры посылает данные изображения на умножители 604 цветового канала. Чтобы обеспечить белую точку, может быть осуществлено ограничение до минимального значения 606 прежде, чем эти значения будут введены в матрицу 608 цветового преобразования для отображения на целевом мониторе. На фиг. 6 В представлен другой вариант осуществления возможный набор отображений. Как можно увидеть, если захваченное изображение находится в HDR формате, то ограничение 606 можно пропустить (610) и значения могут подаваться непосредственно в матрицу 608 цветового преобразования. Согласно вариантам осуществления по фиг. 6А и/или 6 В, выход из матрицы 608 преобразования может быть выходом из оператора 105 баланса белого на фиг. 1 по пути HDR к этапу деления 118 и блоку Y.
[0065] В одном варианте осуществления камера может предположить (возможно, при помощи или без ввода пользователем) относительно условий окружающего освещения, при которых изображение было захвачено, чтобы воздействовать, скажем, например, балансом белого лампа накаливания с вольфрамовой нитью или балансом белого дневное освещение. Это может приниматься во внимание для правильных настроек умножителей цветового канала. В альтернативном варианте, если в настройках камеры такой информации нет, то может быть достаточным выполнение пользователем подходящего предположения на основе пост-обработки или, выбирая нейтральную (эталонный серый) поверхность на изображении.
4. ДЕКОДЕР ИЗОБРАЖЕНИЯ HDR
b
r,
[0066] На фиг. 2 изображен пример декодера изображения HDR согласно некоторым возможным вариантам осуществления настоящего изобретения. В одном примере варианта осуществления декодер HDR реализован одним или несколькими вычислительными устройствами и сконфигурирован при помощи программного обеспечения и/или компонентов аппаратного обеспечения, которые реализуют техники обработки изображения для декодирования данных изображения HDR (указанного как HDR 202 на фиг. 2), содержащий тонально отображенное базовое RGB изображение и данные восстановления HDR. В одном примере варианта осуществления данные восстановления HDR относится к значениям отношения яркости, остаточным значениям C и C и параметрам и вспомогательным данным, относящимся к вышеуказанным данным. В одном примере варианта осуществления данные изображения, декодируемые декодером изображения HDR, расположенные в файле изображения в одном формате изображения (например, JPEG-HDR).
b
r
[0067] Декодер изображения HDR может содержать анализатор (например, 204), сконфигурированный для приема данных 202 изображения HDR (например, файл JPEG-HDR изображения в улучшенном формате для хранения остаточных значений C и C в дополнение к отношениям яркости), и анализа данных 202 изображения HDR в тонально отображенном RGB изображении (указанном как базовое изображение 206 на фиг. 2), и один или несколько сегментов приложения (Сегмент приложения 208), хранящих данные восстановления HDR. В одном примере варианта осуществления анализатор 204 представляет собой стандартный JPEG декодер.
b
r
b
r
[0068] В одном примере варианта осуществления декодер изображения HDR содержит программное обеспечение и/или компоненты аппаратного обеспечения, сконфигурированные для анализа одного или нескольких сегментов приложения (Сегмент приложения 208) в изображении отношения яркости (Изображение 210 отношения) и квантовании остаточных значений C и C (Остаточные 212 CC). Изображение отношения яркости (Изображение 210 отношения) содержит квантованные логарифмические отношения яркости.
[0069] В одном примере варианта осуществления декодер изображения HDR содержит блок обработки де-квантизации (Де-квантизация 214), сконфигурированный для де-квантизации квантованных логарифмических отношений яркости в логарифмические отношения яркости. Декодер изображения HDR содержит блок (Экспонента 216) обработки антилогарифма, сконфигурированный для преобразования логарифмических отношений яркости в отношения яркости в нелогарифмической области.
b
r
b
r
b
r
[0070] В одном примере варианта осуществления декодер изображения HDR блок обработки де-квантизации (Де-квантизация 218), сконфигурированный для де-квантизации квантованных остаточных значений C и C в остаточные значения C и C. Декодер изображения HDR содержит блок (CSC 220) обработки преобразования цветового пространства, сконфигурированный для преобразования остаточных значений C и C в остаточные значения RGB в линейной области.
[0071] В одном примере варианта осуществления декодер изображения HDR содержит блок (232) повторного насыщения, сконфигурированный для осуществления обратного процесса устранения насыщения, факультативно и/или дополнительно, если в тональном отображенном базовом изображении кодером устранено насыщение. В одном примере варианта осуществления декодер изображения HDR содержит блок (Декодирование гаммы 224) обработки декодирования гаммы, сконфигурированный для осуществления декодирования гаммы на тонально отображенном базовом RGB изображении (Базовое изображение 206), факультативно и/или дополнительно, если в тональном отображенном базовом изображении (Базовое изображение 206) кодирована гамма. Например, параметр в сегменте I типа сегмента приложения может указывать на то, что тонально отображенное базовое изображение является RGB изображение с кодированной гаммой (например, sRGB изображение).
[0072] Выходные данные из блока (Декодирование гаммы 224) обработки декодирования гаммы перемножаются с отношениями яркости из изображения отношения на основе отдельных пикселей для получения промежуточного изображения HDR в умножающем блоке 226 обработки, в то время как остаточные значения RGB перемножаются с теми же отношениями яркости из изображения отношения на основе отдельных пикселей для получения остаточного изображения RGB в умножающем блоке 222 обработки (который может быть таким же, как 226). Промежуточное изображение HDR и остаточное изображение RGB могут суммироваться на основе отдельных пикселей суммирующим блоком (Суммирование 228) обработки для получения HDR RGB изображения (RGB 230), которое может быть восстановленной версией входного HDR RGB изображения на фиг. 1.
[0073] В альтернативном варианте осуществления, значения пикселей в TM базовом изображении и остаточные значения RGB суммируются первыми, результаты суммирований затем перемножаются на отношения яркости для получения HDR RGB изображения.
[0074] В другом варианте осуществления этап 232 коррекции баланса белого может осуществляться для воздействия на последующую коррекцию баланса белого. На фиг. 7 изображен один возможный вариант осуществления для обработки данных изображения HDR и регулирования данными для соответствующего баланса белого. На этапе 702 система вводит данные JPEG-HDR изображения с любыми доступными данными цветового пространства сенсора и множители баланса белого. На этапе 704 система уточняет (например, у пользователя или возможно во внедренных в изображение метаданных), допускается ли новая белая точка для настоящего изображения. Если да, то рассчитываются новые множители баланса белого. Иначе используются старые множители баланса белого, и данные изображения преобразуются обратно в цветовое пространство сенсора на этапе 708. Для каждого цветового канала, текущие (старые или заново вычисленные) множители баланса белого применяются к данным изображения. Если необходимо, значения изображения ограничиваются до минимума-максимума (например, минимум/максимум) значений канала на этапе 712. На этапе 714, данные изображения преобразуются в цветовое пространство монитора. После этого данные изображения выводятся на этапе 716, как восстановленные HDR RGB выходные данные.
[0075] В одном варианте осуществления операция баланса белого по фиг. 1 и фиг. 6А и/или 6 В в кодере и операция баланса белого по фиг. 2 и 7 в декодере могут реализовываться как спаренные операции, в которых операция баланса белого кодера работает для воздействия на соответствующую коррекцию баланса белого декодера. Следует также понимать, что обработка по фиг. 7 включает всего лишь некоторые из особенностей, описанных в настоящем разделе и, что множество других особенностей и/или улучшений может быть добавлено.
5. ПРИМЕР ПОСЛЕДОВАТЕЛЬНОСТИ ОПЕРАЦИЙ ПРОЦЕССА
[0076] На фиг. 3А изображен пример последовательности операций процесса согласно возможному варианту осуществления настоящего изобретения. В некоторых возможных вариантах осуществления один или несколько вычислительных устройств или компонентов, таких как кодер изображения HDR (например, как показано на фиг. 1) может выполнять эту последовательность операций процесса. Кодер изображения HDR может реализовываться посредством добавления одного или нескольких новых блоков обработки к и/или изменения одного или нескольких существующих блоков обработки в кодере изображения на основе стандарта, такого как кодер изображения JPEG. В блоке 302 кодер изображения HDR получает изображение с расширенным динамическим диапазоном (HDR). В примере варианта осуществления изображение HDR является изображением с фиксированной запятой или изображением с плавающей запятой. В одном примере варианта осуществления изображение HDR кодирован в одном из форматов: JPEG, JPEG-2000, MPEG, AVI, TIFF, BMP, GIFF или в другом формате изображения.
[0077] В блоке 304 кодер изображения HDR также получает тонально отображенное (ТМ) изображение, которое создано на основе изображения HDR. ТМ изображение содержит одно или несколько цветовых изменений, которые не восстанавливаются из ТМ изображения с изображением отношения яркости. В одном примере варианта осуществления по меньшей мере одно из одного или нескольких цветовых изменений в ТМ изображении вызвано одним из усечений (например, в значениях пикселей R, G, и B) или изменения тонов в одном или нескольких пикселей.
[0078] В блоке 306 кодер изображения HDR вычисляет значения отношения яркости на основе отдельных пикселей, посредством разделения значений яркости изображения HDR со значениями яркости ТМ изображения на основе отдельных пикселей.
[0079] В блоке 308 кодер изображения HDR применяет значения отношения яркости к изображению HDR для создания повторно отображенного изображения.
[0080] В одном примере варианта осуществления кодер изображения HDR преобразует по меньшей мере одно повторно отображенное изображение и ТМ изображение из одной цветового пространства в другое цветовое пространство.
[0081] В блоке 310 кодер изображения HDR определяет остаточные значения в цветовых каналах цветового пространства на основе повторно отображенного изображения и ТМ изображения. Если оригинальный цвет изменен, по меньшей мере одно из остаточных значений является ненулевым. В одном примере варианта осуществления цветовое пространство является цветовым пространством YCbCr; причем цветовые каналы цветового пространства содержат цветовой канал Cb и цветовой канал Cr. Остаточные значения в цветовых каналах цветового пространства вычисляются как разность между первыми значениями пикселей, как выведено из повторно отображенного изображения, в цветовых каналах и вторых значениях пикселей, как выведено из ТМ изображения, в цветовых каналах.
[0082] В блоке 312 кодер изображения HDR выдает версию ТМ изображения с данными восстановления HDR. Данные восстановления HDR получены из значений отношения яркости и остаточных значений цветового канала.
[0083] В одном примере вариант осуществления данные восстановления HDR содержат остаточное изображение с квантованными значениями полученными из значений отношения яркости и остаточных значений в цветовых каналах цветового пространства. Данные восстановления HDR дополнительно могут содержать параметры, определяющие диапазоны квантованных значений.
[0084] В одном примере варианта осуществления данные восстановления HDR хранятся в сегменте приложения файла изображения с ТМ изображением в качестве базового изображения в файле изображения. В одном примере варианта осуществления файл изображения находится в формате JPEG-HDR.
[0085] В одном примере варианта осуществления кодер изображения HDR может осуществлять одну или несколько проверок корректности на изображении HDR, например, перед тем, как изображением HDR будет управлять оператор тонального отображения (ТМО) или пользователь. В одном примере варианта осуществления кодер изображения HDR заменяет ноль, одно или несколько нулевых значений цветового канала в ТМ изображении со значениями менее чем пороговое значение. Это пороговое значение может быть 1, 2, 3, …, 10, 11 и т.д. в различных возможных вариантах осуществления.
[0086] В одном примере варианта осуществления любые операторы тонального отображения с любым ТМО и/или любыми цветовыми изменениями на любом количестве пикселей в ТМ изображении могут осуществляться в процессе создания ТМ изображения.
[0087] В одном примере варианта осуществления кодер изображения HDR применяет преобразование цветового пространства по меньшей мере к одному из изображения HDR, ТМ изображения или повторно отображенного изображения.
[0088] В одном примере варианта осуществления остаточные значения яркости между ТМ изображением и повторно отображенным изображением все равны нулю. Например, в цветовом пространстве (например, YUV) с каналом яркости (например, Y) и двумя цветовыми каналами (например, Cb и Cr), различия в значениях яркости между ТМ изображением и повторно отображенным изображением (например, уже в цветовом пространстве или альтернативно после преобразования цветового пространства) все могут быть равны нулю.
[0089] На фиг. 3 В показан пример последовательности операций процесса согласно возможному варианту осуществления настоящего изобретения. В некоторых возможных вариантах осуществления одно или несколько вычислительных устройств или компонентов, таких как декодер изображения HDR (например, как показано на фиг. 2) могут осуществлять данную последовательность операций процесса. Декодер изображения HDR может быть реализован посредством добавления одного или нескольких блоков обработки к и/или изменения одного или нескольких существующих блоков обработки в декодере изображения на основе стандарта, такого как кодер изображения JPEG. В блоке 322 декодер изображения HDR анализирует файл изображения, содержащий тонально отображенное (ТМ) изображение и данные восстановления HDR. В одном примере варианта осуществления, ТМ базовое изображение содержит результаты любых тонально отображающих операций с любым оператором тонального отображения и/или любыми цветовыми изменениями на любом количестве пикселей. В одном примере варианта осуществления данные восстановления HDR содержат квантованные значения отношения яркости (например, Y канал) и квантованные остаточные значения в цветовых каналах (например, каналы Cb и Cr) цветового пространства (YUV). ТМ базовое изображение содержит одно или несколько цветовых изменений, которые не восстанавливаются из ТМ базового изображения с изображением отношения яркости. В одном примере варианта осуществления файл изображения кодирован в одном из форматов JPEG, JPEG-2000, MPEG, AVI, TIFF, BMP, GIFF или в другом формате изображения. В одном примере варианта осуществления файл изображения анализируется декодером изображения на основе стандарта, например, декодер JPEG.
[0090] В блоке 324 декодер изображения HDR извлекает параметры квантования, относящиеся к квантованным значениям отношения яркости и квантованными остаточными значениями в цветовых каналах цветового пространства.
[0091] В блоке 326 декодер изображения HDR преобразует, на основе, по меньшей мере, части параметров квантования, квантованные значения отношения яркости и квантованные остаточные значения в значения отношения яркости и остаточные значения в цветовых каналах цветового пространства. В одном примере осуществления квантованные отношения яркости и квантованные остаточные значения хранятся в остаточном изображении. В одном примере варианта осуществления остаточное изображение и ТМ базовое изображение де-квантуются и декомпрессируются при помощи обычной процедуры.
[0092] В блоке 328, декодер изображения HDR воссоздает изображение HDR при помощи ТМ базового изображения, значений отношения яркости и остаточных значений в цветовых каналах цветового пространства. Изображение HDR может быть изображением с фиксированной запятой или изображением с плавающей запятой.
[0093] В одном примере варианта осуществления декодер изображения HDR осуществляет действие преобразования цветового пространства, кодирование гаммы, декодирование гаммы, понижающей дискретизации или повышающей дискретизации, например, по меньшей мере на одном из: ТМ базовое изображение, остаточное изображение, изображение HDR или промежуточное изображение.
6. МЕХАНИЗМЫ РЕАЛИЗАЦИИ - ОБЗОР АППАРАТНОГО ОБЕСПЕЧЕНИЯ
[0094] Согласно одному варианту осуществления техники, описанные в данном документе, реализованы при помощи одного или нескольких целевых вычислительных устройств. Целевые вычислительные устройства для осуществления техник могут быть реализованы аппаратно или могут содержать цифровые электронные устройства, такие как одна или несколько специализированных интегральных схем (ASIC) или вентильные матрицы, программируемые пользователем (FPGA), которые запрограммированы устойчиво осуществлять техники, или могут содержать один или несколько аппаратных процессоров общего назначения для осуществления техник в соответствии с программными командами во встроенном программном обеспечении, памяти, другом запоминающем устройстве или их комбинации. Такие целевые вычислительные устройства также могут комбинировать специальную логику, реализованную аппаратно, ASIC, FPGA со специальным программированием для реализации техник. Целевые вычислительные устройства могут являться настольными компьютерными системами, переносными компьютерными системами, портативными устройствами, сетевыми устройствами или любыми другими устройствами, которые для реализации техник объединяют логику, реализованную аппаратно, и/или логику, реализованную программно.
[0095] Например, фиг. 4 представляет собой блок-схему, которая изображает компьютерную систему 400, на основе которой может быть реализован вариант осуществления настоящего изобретения. Компьютерная система 400 содержит шину 402 или другой механизм связи для передачи информации, и аппаратный процессор 404 соединенный с шиной 402 для обработки информации. Аппаратный процессор 404 может представлять собой, например, микропроцессор общего назначения.
[0096] Компьютерная система 400 также содержит основную память 406, такую как оперативное запоминающее устройство (RAM) или другое динамическое устройство хранения данных, присоединенное к шине 402 для хранения информации и команд, подлежащих выполнению процессором 404. Такие команды при хранении на постоянном носителе данных, имеющем доступ к процессору 404, превращает компьютерную систему 400 в целевой механизм, который настраивается для осуществления операций указанных в командах.
[0097] Компьютерная система 400 дополнительно содержит постоянное запоминающее устройство (ROM) 408 или другое статичное устройство хранения данных, присоединенное к шине 402 для хранения статичных данных и команд для обработки 404. Устройство 410 хранения данных, такое как магнитный диск или оптический диск, предоставлено и присоединено к шине 402 для хранения информации и команд.
[0098] Компьютерная система 400 может присоединяться через шину 402 к дисплею 412, например, жидкокристаллическому дисплею, для отображения информации пользователю компьютера. Устройство 414 ввода, содержащее буквенно-цифровые и другие клавиши, присоединено к шине 402 для передачи информации и управляющих команд в процессор 404. Другой тип устройства ввода пользователя представляет собой управление 416 курсора, например, мышь, шаровой манипулятор или клавиши, направляющие курсор для передачи информации о направлении и управляющих команд в процессор 404, а также для управления перемещением курсора на дисплее 412. Такое устройство ввода обычно имеет две степени свободы по двум осям, первая ось (например, х) и вторая ось (например, y), которые позволяют устройству определять положение на плоскости.
[0099] Компьютерная система 400 может реализовывать техники, описанные в данном документе, используя настраиваемую логику, реализованную аппаратно, один или несколько ASIC или FPGA, встроенное программное обеспечение и/или логику, реализованную программно, которые в комбинации с компьютерной системой делают или программируют компьютерную систему 400, как целевой механизм. Согласно одному варианту осуществления техники, описанные в данном документе, осуществляются компьютерной системой 400 в ответ на выполнение процессором 404 одной или нескольких последовательностей одной или нескольких командах, содержащихся в основной памяти 406. Такие команды могут считываться в основной памяти 406 из другого носителя данных, например устройства 410 хранения данных. Выполнение последовательностей команд, содержащихся в основной памяти 406, приводит к осуществлению процессором 404 этапов процесса, описанных в данном документе. В альтернативных вариантах осуществления, схема, реализованная аппаратно, может использоваться вместо или в комбинации с командами программного обеспечения.
[0100] Выражение «носитель данных», как использовано в данном документе, относится к любому постоянному носителю информации и/или командам, которые приводят к работе механизма определенным образом. Такие носители данных могут содержать энергонезависимые носители информации и/или энергозависимые носители информации. Энергонезависимые носители информации включают, например, оптические или магнитные диски, такие как устройства хранения данных 410. Энергозависимые носители информации включают динамическую память, такую как основная память 406. Традиционные формы носителей информации включают, например, гибкий диск, дискету, жесткий диск, твердотельный накопитель, магнитную ленту или любой другой магнитный носитель данных, CD-ROM, любой другой оптический носитель данных, любой физический носитель данных со схемой отверстий, RAM, PROM, EPROM, FLASH-EPROM, NVRAM, любой другой чип памяти или картриджей.
[0101] Носитель данных отличается от средств передачи данных, но может использоваться в сочетании с ними,. Средства передачи данных участвуют в передаче информации между носителями данных. Например, средства передачи данных включает коаксиальные кабели, медные провода или оптоволоконные кабели, включая провода, которые содержат шину 402. Средства передачи данных также могут принимать форму акустических или световых волн, подобную тем, что создается при радиоволновой и инфракрасной передачах данных.
[0102] Различные формы носителей информации могут задействоваться при передаче одной или нескольких последовательностей одной или нескольких команд для выполнения процессором 404. Например, команды могут изначально переноситься на магнитном диске или твердотельном носителе удаленного компьютера. Удаленный компьютер может загружать команды в свою динамическую память и посылать команды по телефонной линии, используя модем. Модем, локальный для компьютерной системы 400, может принимать данные по телефонной линии и использовать инфракрасный передатчик для преобразования данных в инфракрасный сигнал. Инфракрасный сенсор может принимать данные, передаваемые в инфракрасном сигнале, и подходящая схема может размещать данные на шине 402. Шина 402 передает данные в основную память 406, из которой процессор 404 получает и выполняет команды. Команды полученные основной памятью 406 могут факультативно храниться на устройстве 410 хранения данных до или после выполнения процессором 404.
[0103] Компьютерная система 400 также включает интерфейс 418 связи, соединенный с шиной 402. Интерфейс 418 связи предоставляет соединение с двухсторонней передачей данных, связанное с сетевым соединением 420, которое соединено с локальной сетью 422. Например, интерфейс 418 связи может быть картой цифровой сети с интеграцией услуг (ISDN), кабельным модемом, спутниковым модемом или модемом для предоставления соединения передачи данных с соответствующим типом телефонной линии. Как еще один пример, интерфейс 418 связи может картой локальной сети (LAN) для предоставления соединения передачи данных с совместимой LAN. Также могут реализовываться беспроводные соединения. В любой такой реализации интерфейс 418 связи посылает и принимает электрические, электромагнитные или оптические сигналы, которые несут потоки цифровых данных, представляющих различные типы информации.
[0104] Сетевое соединение 420 обычно обеспечивает передачу данных через одну или несколько сетей на другие информационные устройства. Например, сетевое соединение 420 может обеспечивать соединение через локальную сеть 422 с хост-компьютером 424 или информационным оборудованием, управляемым поставщиком интернет услуг (ISP) 426. ISP 426 в свою очередь обеспечивает услуги передачи данных через всемирную сеть передачи пакетных данных, сейчас часто упоминаемой как «Интернет» 428. Как локальные сети 422, так и интернет 428 используют электрические, электромагнитные или оптические сигналы, которые передают потоки цифровых данных. Сигналы через различные сети и сигналы на сетевом соединении 420 и через интерфейс 418 связи, который несет цифровые данные в компьютерную систему 400 и из нее, являются примерными формами передачи данных.
[0105] Компьютерная система 400 может посылать сообщения и принимать данные, содержащие программный код, через сеть(и), сетевое соединение 420 и через интерфейс 418 связи. В примере с интернетом, сервер 430 может передавать затребованный код для программы приложения через интернет 428, ISP 426, локальную сеть 422 и интерфейс 418 связи.
[0106] Полученный код может выполняться процессором 404 после получения и/или храниться в устройстве 410 хранения данных или другом энергонезависимом носителе информации для последующего выполнения.
7. ЭКВИВАЛЕНТЫ, КОМПОНЕНТЫ, АЛЬТЕРНАТИВНЫЕ ВАРИАНТЫ И ПРОЧЕЕ
[0107] В вышеуказанном описании были описаны возможные варианты осуществления настоящего изобретения со ссылкой на множество конкретных подробностей, которые могут варьировать от одного варианта осуществления к другому. Таким образом, исключительным и эксклюзивным указанием того, чем является настоящее изобретение, и того чем считают настоящее изобретение заявители, являются пункты формулы, которые вытекают из данной заявки, в той особой форме, в которой выражены пункты формулы, включая любые последующие исправления. Любые определения, специально изложенные в данном документе в качестве терминов, содержащихся в таких пунктах формулы, должны определять значения таких терминов, как использовано в формуле изобретения. Таким образом, никакие ограничения, элементы, свойства, особенности, преимущества или признаки, которые не перечислены специально в пункте формулы, не должны ограничивать объем такого пункта формулы каким-либо образом. Описание и графические материалы соответственно следует рассматривать в качестве примера, а не в качестве ограничения.
[0108] В иллюстративных целях, было описано, что в некоторых возможных вариантах осуществления, данные восстановления HDR содержат квантованные отношения яркости и квантованные остаточные значения Cb и Cr. В некоторых возможных вариантах осуществления данные восстановления HDR могут содержать не квантованные отношения яркости и/или остаточные значения Cb и Cr, которые могут быть, например, значениями с фиксированной запятой или плавающей запятой. Например, один или несколько сегментов приложения в файле изображения могут хранить эти не квантованные значения. Декодер изображения HDR согласно техникам, описанным в данном документе, может анализировать файл изображения и выводить не квантованные значения. Эти не квантованные значения могут использоваться для комбинирования с тонально отображенным базовым изображением, извлеченным из файла изображения для восстановления изображения HDR.
[0109] В иллюстративных целях, было описано, что в некоторых возможных вариантах осуществления, возможная предварительная обработка может включать понижающую дискретизацию. В некоторых возможных вариантах осуществления описанная здесь предварительная обработка может не осуществлять понижающей дискретизации с целью получения деталей изображения и/или цветовой точности изображения HDR, обработанные при помощи техник, описанных в данном документе. Например, кодирование изображения остаточного изображения HUV может осуществляться кодером изображения JPEG в режиме, исключающем понижающую дискретизацию.
[0110] В иллюстративных целях, было описано, что в некоторых возможных вариантах осуществления, формат файла изображения JPEG и/или кодек JPEG могут использоваться в кодере изображения HDR и/или декодере. Для целей настоящего изобретения кодек изображения отличный от кодека JPEG может использоваться в кодере изображения HDR и/или декодере.
[0111] В иллюстративных целях, было описано, что в некоторых возможных вариантах осуществления, входное изображение HDR и тонально отображенное базовое изображение являются изображениями RGB. Для целей настоящего изобретения здесь могут использоваться другие типы изображений для хранения изображения HDR и тонально отображенного базового изображения. Например, входное изображение HDR в цветовом пространстве YUV может использоваться вместо цветового пространства RGB. Ноль, одно или несколько преобразований цветового пространства в процессе кодирования изображения HDR или декодирования могут осуществляться согласно техникам, описанным в данном документе.
[0112] В иллюстративных целях, было описано, что в некоторых возможных вариантах осуществления, файл HUV (или YUV) в цветовом пространстве YCbCr может использоваться для хранения отношений яркости и других остаточных значений помимо отношений яркости. Для целей настоящего изобретения другие типы цветовых пространств и другие типы файлов изображений могут использоваться для хранения эквивалентной информации в отношениях яркости и остаточных значениях. Например, отношения яркости и остаточные значения могут быть преобразованы в цветовое пространство иное, чем цветовое пространство YCbCr. Подобным образом может использоваться другой файл изображения, помимо файла YUV, для хранения значений, преобразованных из отношений яркости и остаточных значений. В некоторых возможных вариантах осуществления могут использоваться обратные преобразования для осуществления преобразования цветового пространства или преобразований значений пикселей согласно техникам, описанным в данном документе.
[0113] В некоторых вариантах осуществления файл изображения, содержащий тонально отображенное базовое изображение с отношением яркости и остаточными значениями Cb и Cr, имеет размер файла такой же, как у другого файла изображения, содержащего тонально отображенное базовое изображение с отношением яркости, но без остаточных значений Cb и Cr. В конкретном варианте осуществления изображения без остаточных значений Cb и Cr в среднем больше, чем аналогичные изображения без остаточных значений Cb и Cr, на 10%.
[0114] Лишь в целях иллюстрации тонально отображенное изображение создается при помощи ТМО. Для целей настоящего изобретения более чем один ТМО может использоваться вместе для создания тонально отображенного изображения, как описано в данном документе.
[0115] Представлено подробное описание одного или нескольких вариантов осуществления изобретения вместе с сопутствующими графическими материалами, которые иллюстрируют принципы настоящего изобретения. Следует понимать, что изобретение описано в связи с такими вариантами осуществления, однако настоящее изобретение не ограничивается никакими вариантами осуществления. Объем настоящего изобретения ограничен только формулой изобретения, и изобретение охватывает различные альтернативные варианты, изменения и эквиваленты. Различные конкретные подробности были изложены в данном описании, чтобы обеспечить четкое понимание настоящего изобретения. Эти подробности предоставлены в качестве примера, и настоящее изобретение может применяться на практике согласно формуле изобретения без некоторых или всех этих конкретных подробностей. Для ясности, технический материал, который известен в области технического применения, связанного с настоящим изобретением, не был описан подробно, чтобы не запутывать содержание изобретения.