Настоящая заявка относится к кодированию видео, такому как для использования с HDR-последовательностями.
До сих пор, прикладные задачи кодирования изображений и видео могли охватывать диапазон яркости лишь около 2 порядков величины (низкий динамический диапазон (LDR))[1]. Тем не менее, Зрительная Система Человека (HVS) позволяет нам адаптироваться к условиям света, которые могут охватывать диапазон более десяти порядков величины и одновременно воспринимать около пяти порядков величины [2]. С растущим количеством прикладных задач, которые могут воспользоваться представлением полной HDR яркости (например, CGI, создание спецэффектов, HDR-дисплеи), возрастет потребность в способах кодирования HDR-видео. Использование стандартного способа кодирования, подобного H.264/AVC, позволит обеспечить гладкий переход от LDR к HDR кодированию видео без больших дополнительных усилий. Следует отметить, что в данной работе понятие HDR относится к представлению реальных значений яркости, а не к отображенному в тонах LDR представлению, которое иногда именуется HDRI.
Поскольку наиболее естественное представление HDR-данных, чисел с плавающей точкой, не приводит к хорошему сжатию, а так же дорого в плане обработки, то ряд авторов предлагает приемлемое отображение значений яркости с плавающей точкой в целочисленных значениях гамма-корректированной яркости [3, 4, 5, 6]. У таких способов отображения яркости в гамма-корректированной яркости общее то, что связанные с ними потери в точности находятся ниже порогового значения HVS и вследствие этого искажение не воспринимается. Так же их объединяет то, что они применяют преобразование данных HDR-изображения в цветовое пространство CIELUV [1] перед дальнейшей обработкой. Т.е., данные представляются в яркостной компоненте
Поскольку HVS подчиняется закону Вебера-Фехнера, применительно к большим диапазонам яркости, то в большинстве работ выполняется логарифмическое отображение яркости
Оно отображает действительнозначные яркости в интервале
Тем не менее, динамический диапазон, охватываемый таким отображением, находится далеко за пределами диапазона, который одновременно может воспринимать HVS. Кроме того, не существует данных естественных изображений, которые охватывают такие высокие динамические диапазоны. Тогда как при сжатии изображений без потерь такой чрезвычайно высокий диапазон и точность данных, которые могут подвергаться дальнейшим этапам обработки изображений, может быть полезен, однако для кодирования видео с потерями, которое предназначено для дальнейшего просмотра зрителями-людьми, это не так. Следовательно, нет необходимости в резервировании бит для представления значений яркости, которые не воспринимаются или которые не встречаются в исходном изображении или видео кадре. Поскольку это ухудшит эффективность сжатия, например, при кодировании неподвижного HDR-изображения при помощи TIFF библиотеки [3], может использоваться коэффициент масштабирования для масштабирования исходного изображения до соответствующего диапазона перед LogLuv преобразованием. В аналогичном LogLuv подходе [6], масштабирование применялось к каждому отдельному кадру видео последовательности, чтобы использовать весь диапазон возможных кодовых значений гамма-корректированной яркости для заданной битовой глубины.
Тем не менее, подобно большинству способов кодирования HDR-видео, последний является лишь непосредственным расширением кодирования HDR-изображения на отдельные видео кадры. Вследствие этого, подход не учитывает некоторые специфичные для видео аспекты, что значительно ухудшает эффективность сжатия. Наиболее заметно, что отображение значений яркости последовательных кадров в разных кодовых значениях при помощи индивидуального масштабирования, значительно вредит согласованности по времени последовательности. Следовательно, в большинстве случаев не удается реализовать временное предсказание с компенсацией движения в видео кодере стандарта H-264/AVC.
Естественно это так же справедливо для других кодеров с временным предсказанием, а так же для значений отсчетов, отличных от значений яркости.
Таким образом, цель настоящего изобретения заключается в предоставлении концепции кодирования, которая позволит более эффективно совместно использовать отображение динамического диапазона с одной стороны и временного предсказания с другой стороны.
Данная цель достигается предметом независимых пунктов формулы изобретения.
Основная идея, которая лежит в основе настоящего изобретения, состоит в том, что более эффективное совместное использование отображения динамического диапазона с одной стороны и временного предсказания с другой стороны, как, например, для того, чтобы кодировать последовательности HDR-кадров, может быть достигнута посредством использования концепции взвешенного предсказания для того, чтобы перейти от параметра отображения из опорного кадра к текущему кадру, который подвергается временному предсказанию. Посредством этого, временное предсказание не проваливается и, несмотря на, покадровое изменение отображения динамического диапазона, таким образом, сохраняется эффективность кодирования. В качестве благоприятного побочного аспекта, взвешенное временное предсказание, уже заключено в возможностях существующих каскадов кодирования видео, таких как, например, H.264/AVC.
Ниже более подробно будут описаны предпочтительные варианты осуществления настоящего изобретения. В частности,
Фиг.1 показывает структурную схему кодера видео в соответствии с вариантом осуществления;
Фиг.2 показывает структурную схему каскада кодирования видео с Фиг.1 в соответствии с вариантом осуществления;
Фиг.3 показывает структурную схему декодера видео в соответствии с вариантом осуществления;
Фиг.4 показывает структурную схему каскада декодирования видео в соответствии с вариантом осуществления;
Фиг.5 показывает принципиальную схему, иллюстрирующую участок потока данных, формируемый кодером видео с Фиг.1 и декодируемый декодером видео с Фиг.3 в соответствии с вариантом осуществления;
Фиг.6 показывает график с характерным адаптивным логарифмическим отображением яркости в гамма-корректированной яркости с разными диапазонами для разных кадров; и
Фиг.7 показывает результаты кодирования для трех случаев, а именно: использования согласованного по времени отображения в соответствии с вариантом осуществления, описанным в отношении фигур; использования покадровой адаптации, не выполняя согласования по времени; и использования постоянного отображения, для разных фрагментов видео (левого, среднего, правого), и используя разные измерения ухудшения качества (верхняя и нижняя строка).
Перед тем как ниже будут описаны варианты осуществления настоящего изобретения со ссылкой на фигуры, следует отметить, что эквивалентные элементы, встречающиеся на разных фигурах, обозначены при помощи эквивалентных обозначений, и соответственно, описание этих элементов в отношении одной фигуры так же применимо в отношении другой фигуры, до тех пор, пока конкретные детали, представленные в отношении последнего, не указывают обратного.
Фиг.1 показывает кодер 10 видео в соответствии с вариантом осуществления настоящего изобретения. Кодер 10 видео выполнен с возможностью кодирования первой последовательности 12 кадров 14, значение 16 отсчетов которых представлено в первом формате, охватывающем первый динамический диапазон. Например, последовательность 12 кадров может быть видео, таким как HDR-видео, а значения 16 отсчетов могут представлять собой пространственную дискретизацию распределения яркости отдельных кадров 14. Первым форматом, в котором представлены значения 16 отсчетов, может быть формат с плавающей точкой. Подробные примеры будут приведены ниже. Тем не менее, следует отметить, что тип информации, подвергаемой пространственной дискретизации посредством значений 16 отсчетов, не ограничивается яркостью. Наоборот, вместо этого прочие типы информации могут быть объектом значений 16 отсчетов. Например, кадры 14 могут представлять собой карты глубин, и соответственно, последовательность 12 может представлять собой временную дискретизацию карты глубин определенной сцены или подобного.
Кодер 10 видео содержит преобразователь 18 значений отсчетов, каскад 20 кодирования видео и блок 22 задания параметров. Преобразователь 18 значений отсчетов и каскад 20 кодирования видео располагаются между входом 24 и выходом 26 кодера 10 видео, при этом вход 24 выполнен с возможностью приема последовательности 12 кадров, в то время как выход 26 служит для вывода потока данных, полученного в результате кодирования последовательности 12 кодером 10 видео. Блок 22 задания параметров имеет вход, соединенный с входом 24, и выходы, соединенные с входами параметров преобразователя 18 значений отсчетов и каскада 20 кодирования видео, соответственно. Как указано пунктирной линией 28, блок 22 задания параметров так же может выводить дополнительную информацию, вносящую свой вклад в поток 26 данных, как будет более подробно изложено ниже.
Преобразователь 18 значений отсчетов выполнен с возможностью преобразования значений 16 отсчетов кадров 14 первой последовательности 12 из первого формата во второй формат, динамический диапазон которого ниже первого динамического диапазона. Таким образом, преобразователь 18 значений отсчетов пересылает каскаду 20 кодирования видео вторую последовательность 30 кадров 32, которая полностью соответствует последовательности 12, за исключением того, что значения 16 отсчетов были преобразованы из первого формата во второй формат. Соответственно, каждый кадр 32 соответствует соответствующему кадру 14 последовательности 12, при этом кадры 32 в последовательности 30 располагаются в той же очередности, в которой располагаются соответствующие кадры 14 в последовательности 12.
Вторым форматом может быть, например, целочисленный формат в котором, например, значения 34 отчетов кадров 32 представлены, например, в закодированной PCM форме, используя бинарный код. Например, значения 34 отсчетов могут быть представлены
Чтобы преобразовать значения отсчетов кадров 14 первой последовательности 12 из первого формата во второй формат, преобразователь 18 значений отсчетов использует функцию 36 отображения, которая отображает участок 38 первого динамического диапазона 40 во втором динамическом диапазоне 42. В частности, преобразователь 18 значений отсчетов выполнен таким образом, что участок 38, который функция 36 отображения отображает в динамическом диапазоне 42, соответствующем второму формату, является участком, который задается параметром 44 отображения, который в свою очередь задается блоком 22 задания параметров, как будет изложено более подробно ниже, покадрово. В определенных вариантах осуществления, более подробно изложенных ниже, функция 36 отображения представляет собой функцию линейного отображения из первого динамического диапазона 40 в логарифмической области во второй динамический диапазон в линейной области. Тем не менее, вместо функции данного типа так же могут использоваться прочие строго монотонные функции. Как станет очевидно из приведенного ниже дальнейшего описания, участок 38 задается блоком 22 задания параметров покадрово, так чтобы захватить, по сути, всю информацию, которая содержится в соответствующем кадре 14 в первом формате. Вкратце, блок 22 задания параметров осуществляет поиск позиции и размера - или масштаба - участка 38 в первом динамическом диапазоне 40 таким образом, чтобы все значимые для восприятия отсчеты в соответствующем кадре 14 имели свое значение 16 отсчета в участке 38, так чтобы все эти значения отсчетов были корректно отображены - без отсечения - во втором динамическом диапазоне второго формата 42. Характерное распределение 44 значений 16 отсчетов в текущем кадре в качестве примера показано на Фиг.1. В примере Фиг.1, данное распределение полностью содержится в участке 38. Как будет более подробно изложено ниже, распределение 44 может представлять собой всего лишь распределение значений 16 отсчетов в определенной части кадра 14, такой как его центральный участок, поскольку такой центральный участок наиболее вероятно содержит наиболее важный участок в сцене видео контента.
Как явно видно, распределение значений 16 отсчетов в первом динамическом диапазоне 40 может меняться от кадра к кадру, и соответственно, Фиг.1 с помощью пунктирной линии 46 показывает характерное распределение другого кадра 14 в последовательности 12. Как показано в качестве примера на Фиг.1, первое распределение 46 может, например, быть смещено относительно и/или может быть уже распределения 44 текущего кадра. Соответственно, блок 22 установки параметров должен будет задать параметр 44 отображения для кадра с распределением 46 значений отсчетов по-другому в сравнении с параметром 45 отображения, определяющим участок 48. Например, распределение 46 значений отсчетов может задать параметр отображения для этих кадров таким образом, что участок 48 аппроксимирует участок первого динамического диапазона 40, занятого распределением 46, т.е. таким образом, что участок 48 мал, насколько это возможно, но все же охватывает диапазон распределения 46, при этом то же применяется к участку 38 по отношению к распределению 44.
Таким образом, последовательность 30, по сути, соответствует последовательности 12 со значениями отсчетов, которые, тем не менее, представлены в другом формате. Тем не менее, просмотр последовательности 30, приведет к неприятному впечатлению, поскольку значения 34 отсчетов одного кадра в последовательности 30 будут определены в отношении другого участка яркости, чем значения 34 отсчетов в другом кадре той же последовательности. Например, вышеупомянутые кадры последовательности 12 будут иметь значения 16 отсчетов, отображенные в значениях 34 отсчетов, которые находятся в участках 38 и 48, соответственно. Таким образом, значение 34 отсчета, например, равное одному в одном кадре вероятнее всего будет соответствовать другому фактическому значению яркости, чем значение отсчета равное одному в другом кадре последовательности 30. Таким образом, без дополнительных мер, каскад 20 кодирования видео не будет иметь возможности выполнить обычное временное предсказание, использующее, например, предсказание с компенсацией движения, поскольку требуемый поиск вектора движения, скорее всего, не будет успешным.
В частности, каскад 20 кодирования видео выполнен с возможностью кодирования второй последовательности 30 кадров 32 посредством взвешенного временного предсказания первого кадра второй последовательности 30, используя второй кадр второй последовательности 30 реконструированной версии второго кадра второй последовательности 30, взвешенного параметром веса и смещенного параметром смещения, в качестве опорного кадра. Другими словами, каскад 20 кодирования видео может предсказать по времени текущий кадр 32 последовательности 30 посредством предсказания с компенсацией движения и при использовании другого, ранее закодированного кадра 32 последовательности 30, в качестве опорного кадра. Предсказание с компенсацией движения может выполняться поблочно. Данные предсказания движения, такие как векторы движения и индекс опорного кадра вставляются в поток данных в качестве дополнительной информации, наряду с упомянутыми выше параметрами веса/смещения. Каждый предсказанный по времени блок может иметь связанный с ним вектор движения, который каскад 20 кодирования видео определяет посредством определения наилучшего совпадения контента текущего блока текущего кадра 32 с опорным, т.е., опорным кадром с взвешенным и смещенным посредством параметров 50 значением отсчета, при этом пробуя различные смещения (векторы движения), относящиеся к позиции, соответствующей позиции блока в текущем кадре. Чтобы ограничить потери на поиск, каскад 20 кодирования видео ограничивает поиск некоторым диапазоном поиска.
Как станет очевидно ниже, благодаря тому, что каскад 20 кодирования видео использует взвешенное временное предсказание, блок 22 задания параметров может адаптировать опорный кадр для текущего кадра относительно разницы связанных частей 48 и 38 отображения, соответственно.
В частности, блок 22 задания параметров задает параметр веса и параметр смещения, проиллюстрированные совместно на Фиг.1 стрелкой 50, в зависимости от параметра 45 отображения для опорного кадра, при этом параметр отображения для опорного кадра связан с параметром отображения для текущего кадра через параметр веса и параметр 50 смещения, как будет подробно изложено ниже. Другими словами, блок 22 задания параметров отвечает за задание как параметра веса и параметра 50 смещения для текущего кадра с одной стороны, так и параметра 45 отображения для текущего кадра с другой стороны. Тем не менее, блок 22 задания параметров не вправе задавать параметры 50 веса и смещения независимо от задания параметра 45 отображения для текущего кадра. Наоборот, оба задания связаны друг с другом, например, однозначно определенным образом. Соответственно, в действительности, блок 22 задания параметров задает параметры 50 веса и смещения и параметр 45 отображения параллельно и, в частности, таким образом, что параметры 50 веса/смещения смещают и масштабируют размер участка 48 опорного изображения таким образом, что интервал, получаемый при данном смещении и масштабировании, дает участок 38 текущего кадра, который пригоден для захвата значимого для восприятия участка распределения 44, как рассмотрено выше. Параметры 50 веса/смещения смещают и масштабируют участок 48 опорного кадра посредством их применения к опорному кадру: Параметры 50 веса/смещения отображают все возможные значения в участке 48 в значениях совместно охватывающих диапазон, который определяет участок 38.
Перед представленным ниже более подробным описанием функционирования кодера видео по Фиг.1 в соответствии с конкретными вариантами осуществления, в отношении Фиг.2 описывается вариант осуществления для реализации каскада 20 кодирования видео. В соответствии с вариантом осуществления Фиг.2, каскад 20 кодирования видео содержит кодер 60 остатка, энтропийный кодер 62, блок 64 реконструкции остатка, временной предсказатель 66, вычитатель 68, сумматор 70, дополнительный сумматор 72, и блок весовой обработки или умножитель 74. Вычитатель 68, кодер 60 остатка и энтропийный кодер 62 располагаются, в упомянутой очередности, между входом 76 каскада 20 кодирования видео, который, в свою очередь, соединен с выходом преобразователя 18 значений отсчетов, и выходом 78 каскада 20 кодирования видео, который в свою очередь соединен с входом 26 кодера 10 видео. Блок 64 реконструкции остатка имеет вход, соединенный с выходом кодера 60 остатка. Первый вход сумматора 70 соединен с выходом блока 64 реконструкции остатка. Умножитель 74, сумматор 72 и временной предсказатель 66 образуют контур и последовательно располагаются, в упомянутой очередности, между выходом сумматора 70 и его дополнительным входом. Одновременно, последовательное соединение умножителя 74, сумматора 72 и временного предсказателя 66 соединено с дальнейшим вычитаемым входом вычитателя 68. Значения, применяемые к дополнительным входам сумматора 72 и умножителя 74, соответственно, определяются посредством взвешивания параметров 50 смещения, подаваемых на вход 80 параметров каскада 20 кодирования видео.
В процессе работы текущий кадр подается на вход 76, в то время как временное предсказание текущего кадра подается на вычитаемый вход вычитателя 68. Остаток 82 предсказания, получаемый посредством вычитания временного предсказания 84 из текущего кадра, кодируется кодером 60 остатка. Кодер 60 остатка может, например, подвергать остаточный сигнал 82 преобразованию, такому как преобразование спектрального разложения, при этом кодер 60 остатка может выполнить данное преобразование поблочно. Дополнительно или в качестве альтернативы, кодер 60 остатка может применить квантование к остаточному сигналу 82, чтобы сократить содержимое информации, которое содержится в остатке 82 предсказания, который будет закодирован в поток данных. Кодер 60 остатка может использовать параметр размера шага квантования в качестве параметра квантования, который может дополнительно меняться от кадра к кадру, как показано в качестве иллюстрации пунктирной стрелкой 86. Таким образом, на выходе кодера 60 остатка, получается закодированная с потерями версия 88 остатка предсказания. Она же кодируется в поток данных на выходе 78 энтропийного кодера 62 без потерь.
Блок 64 реконструкции остатка воссоздает реконструированную версию 90 остатка предсказания на своем выходе, который соединен с первым входом сумматора 70. На другой вход сумматора 70, подается результат временного предсказания 84 для текущего кадра, и соответственно, сумматор 70 объединяет реконструированный остаток 90 и временное предсказание 84, чтобы получить реконструированную версию текущего кадра, формирующую основу для временного предсказания следующего кадра. Как будет более подробно изложено ниже, умножитель 74 умножает или масштабирует каждое значение отсчета реконструированной версии 70 в зависимости от параметра веса
Таким образом, поскольку каскад 20 кодирования видео использует взвешенное временное предсказание, то временный предсказатель 66 использует реконструированную версию ранее закодированного кадра в форме 92 с взвешенными значениями отсчетов и смещенными значениями отсчетов вместо непосредственно версии кадра на выходе сумматора 70. Посредством этого, разность позиционирования и задания размеров участков 38 и 48 между этими кадрами является выровненной. Другими словами, выравнивание гарантируется блоком 22 задания параметров, который, в свою очередь, соответствующим образом задает параметры 50 веса и смещения, подаваемые на вход 80.
Таким образом, вновь возвращаясь к Фиг.1, блок 22 задания параметров может быть выполнен с возможностью определения занятого участка первого динамического диапазона 40, в котором распределены значения 16 отсчетов текущего кадра первой последовательности 12, затем задавая параметры 50 веса и смещения таким образом, чтобы участок 38, задаваемый параметром 55 отображения для текущего кадра, аппроксимировал занятый участок. Другими словами, блок 22 задания параметров сначала может инспектировать распределение 44, чтобы определить интересующий занятый участок первого динамического диапазона 40. Затем блок 22 задания параметров может задать параметры 50 веса и смещения текущего кадра таким образом, что применение этих параметров 50 к значениям отсчетов реконструированной версии 70 фактически приводит к смещению и масштабированию участка 48 кадра, реконструкцию которого представляет реконструированная версия 70, причем получают участок 38, аппроксимирующий занимаемый участок, определяемый распределением 44.
Применительно к этому следует отметить, что внутренним образом каскад 20 кодирования видео может использовать более высокий динамический диапазон, такой как большее количество бит, с тем, чтобы представить масштабированный и со смешенными значениями отсчетов опорный кадр, получаемый при применении параметров веса и смещения на входе 80 к реконструкции 70 опорного кадра, т.е. для опорного кадра 92, в сравнении с динамическим диапазоном последовательности 30, таким образом, чтобы применение этих параметров не приводило к каким-либо проблемам ограничения. Например, количество битов представления может быть увеличено вдвое.
Таким образом, еще более подробно, блок 22 задания параметров может быть выполнен с возможностью задания параметра
при этом
при этом
при условии, что
при этом
Точность и диапазон параметра веса и смещения могут быть ограничены, например, каскадом 20 кодирования видео, который функционирует, например, по стандарту H.264/AVC. Раз так, то блок задания параметров может быть выполнен с возможностью определения занимаемого участка первого динамического диапазона, в котором распределены значения 16 отсчетов первого кадра 14 первой последовательности 12, и задания параметра веса и параметра смещения таким образом, что
при условии, что
при этом
Кроме того, как так же будет рассмотрено применительно к подробным изложенным ниже вариантам осуществления, каскад 20 кодирования видео и кодеры 60 остатков могут быть выполнены с возможностью использования параметра размера шага квантователя при кодировании второй последовательности 30 кадров 32, и блок задания 22 параметров может быть выполнен с возможностью задания параметра размера шага квантователя для кадров 32 последовательности 30 в зависимости от длины соответствующего участка 38, 48, заданного для соответствующего кадра. Посредством этого, можно согласовать изменение по времени шума квантования, которое бы происходило при использовании статического параметра размера шага квантования из-за изменения по времени длины участков 38 и 48, соответственно. Блок 22 задания параметров может быть выполнен с возможностью кодирования параметра размера шага квантователя в потоке данных дифференциально по отношению параметру размера шага квантователя начального кадра второй последовательности, как например I кадра IPPPPP… последовательности.
После того как описан вариант осуществления кодера видео, ниже в отношении Фиг.3 описывается декодер 100 видео в соответствии с вариантом осуществления. Декодер видео служит для реконструкции последовательности 102 кадров 104, значения 106 отчетов которых представлены в первом формате, охватывающем первый динамический диапазон, из потока данных, такого как тот, что формируется кодером видео с Фиг.1. Формат, в котором представлены значения 106, может быть форматом, подразумевающим значения 16 отсчетов. Тем не менее, это не является обязательным.
Декодер 100 видео содержит каскад 108 декодирования видео, блок 110 задания параметров и обратный преобразователь 112 значений отсчетов. Кроме того, декодер 100 видео содержит вход 114, через который на декодер 100 видео подается вышеупомянутый поток данных, и выход 116 для вывода последовательности 102. Между входом 114 и выходом 116, последовательно располагаются каскад 108 декодирования видео и обратный преобразователь 112 значений отсчетов в упомянутой очередности. Блок 110 задания параметров располагается между входом 114 и входом обратного преобразователя 112 значений отсчетов.
Применительно к Фиг.4 показано, что каскад 108 декодирования видео может быть реализован, по сути, аналогично компонентам 64, 70, 74, 72 и 66 кодера с Фиг.2. В частности, каскад 108 декодирования видео может содержать блок 118 реконструкции остатка, сумматор 120, временной предсказатель 122, преобразователь масштаба/умножитель 124 и дополнительный сумматор 126. Блок 118 реконструкции остатка и сумматор 120 могут последовательно располагаться между входом 128 каскада 108 декодирования видео, который в свою очередь соединен с входом 114, и выходом 130 каскада кодирования видео, который в свою очередь соединен с обратным преобразователем 112 значений отсчетов. В виде контура, умножитель 124, сумматор 126 и временной предсказатель 122 последовательно располагаются в упомянутой очередности между входом сумматора 120 и его дополнительным входом. Управление значениями, которые подаются на дополнительные входы умножителя и сумматора 126, осуществляется в зависимости от параметров веса и смещения, которые каскад 108 декодирования видео получает из потока данных, подаваемого на вход 128.
Таким образом, после того как описана внутренняя структура декодера 100 видео и каскада 108 декодирования видео, соответственно, в соответствии с вариантом осуществления, ниже более подробно описывается их режим функционирования.
Как уже упоминалось выше, декодер 100 видео служит для декодирования потока данных, сформированного, например, кодером видео с Фиг.1. Поток данных был получен из последовательности 30 в формате более низкого динамического диапазона, и используя параметры 50 веса и смещения, которые каскад 20 кодирования видео вставил в поток данных, в качестве дополнительной информации. Соответственно, декодер видео имеет доступ к параметрам 50 веса и смещения, использованным на стороне кодирования, и может эмулировать реконструкцию на стороне кодирования, используя параметры, которые в итоге были выбраны на стороне кодирования в качестве, например, некой оптимизации скорости передачи/искажения.
В частности, каскад 108 декодирования видео выполнен с возможностью реконструкции, из потока данных, подаваемого на вход 114, второй последовательности 30' кадров 32', которая соответствует последовательности 30 с Фиг.1 без учета потерь кодирования, таких как потери квантования, которые внесены каскадом 20 кодирования видео. Значения 34' отсчетов кадров 32', соответственно, так же представлены во втором формате, охватывающем второй динамический диапазон 42, который ниже динамического диапазона итоговой реконструируемой последовательности 102. Так же, как и в случае каскада 20 кодирования видео, каскад 108 декодирования видео выполняет реконструкцию посредством взвешенного временного предсказания текущего кадра второй последовательности 30', используя опорный кадр второй последовательности 30', взвешенный параметром веса и смещенный параметром смещения, оба из которых содержатся в потоке данных, подаваемом на вход 114, в качестве опорного кадра. Блок 110 задания параметров, в свою очередь, выполнен с возможностью задания параметра 132 отображения для текущего кадра второй последовательности 30', в зависимости от параметра отображения для опорного кадра второй последовательности 30', и параметра веса и параметра 50 смещения текущего кадра. Обратный преобразователь 112 значений отсчетов в свою очередь выполнен с возможностью преобразования значений 34' отчетов кадров 32' второй последовательности 30' из второго формата в первый формат, используя функцию отображения, которая является обратной для функции отображения, использованной преобразователем 18 значений отсчетов, которая отображает второй динамический диапазон 42 на участке первого динамического диапазона, такого как 40, который задан параметром отображения для соответствующего кадра второй последовательности.
Предположим, например, что блок 118 реконструкции остатка каскада 108 декодирования видео в настоящий момент реконструирует остаток для текущего кадра 32', при этом реконструкция обозначена числом 134 на Фиг.4. Очевидно, что остаток 134 будет соответствовать тому, который получают во время кодирования в месте, которое обозначено числом 88 на Фиг.2. Сумматор 120 объединяет данный остаток 134 с временным предсказанием 136 текущего кадра, которое является выходом временного предсказателя 122, чтобы получить реконструированную версию 138 текущего кадра, т.е. кадр 32'. Далее предположим, что данная реконструированная версия 138 служит в качестве опорного кадра для следующего декодируемого кадра последовательности 30' кадров. Затем, параметр
Таким образом, последовательность 30', выдаваемая каскадом 108 декодирования видео, представляет собой реконструкцию последовательности 30 кадров, подаваемой на каскад 20 кодирования видео на стороне кодирования. Обратный преобразователь 112 значений отсчетов, преобразует данную последовательность 30' в интерпретируемую последовательность 102 посредством отображения значений отсчетов кадров 32' в общем формате, обладающем достаточным динамическим диапазоном, чтобы обеспечить динамический диапазон, который исходно содержался в исходном материале 12. Данный формат может быть форматом значений 16 отсчетов последовательности 12, но так же может отклоняться от него. Для того чтобы получить участок в данном общем динамическом диапазоне, который охватывают значения 34' отсчетов соответствующего кадра 32', обратный преобразователь 112 значений отсчетов последовательно применяет цепочку параметров веса/смещения, связанных с этими кадрами 32'. В частности, для текущего кадра, обратный преобразователь 112 значений отсчетов определяет данный участок, т.е. участок и его размер, посредством применения параметров веса и смещения для текущего кадра к позиции и размеру участка, которые были ранее определены для опорного кадра текущего кадра. Посредством этого, обратный преобразователь 112 значений отсчетов последовательно восстанавливает участки 38 и 48, показанные на Фиг.1.
Таким образом, другими словами, упомянутый выше параметр отображения может определять длину
В данном случае следует отметить, что блок 110 задания параметров на Фиг.3 показан как соединенный лишь с обратным преобразователем 112 значений отчетов, тогда как блок задания параметров показан таким образом, что управляет как преобразователем значений отсчетов, так и каскадом 20 кодирования видео, соответственно. Кажущееся расхождение между сторонами кодирования и декодирования является результатом вышеупомянутого факта, который состоит в том, что каскад 20 кодирования видео кодера не обладает возможностью свободного выбора параметров веса/смещения. Наоборот, они задаются извне, а именно блоком 22 задания параметров, который в свою очередь, должен учитывать исходный сигнал и его распределение 44 и 46, соответственно, при задании этих параметров веса/смещения. Тем не менее, блок 110 задания параметров, направляется результатом данного выбора через дополнительную информацию, которая содержится в потоке данных, поступающем через вход 110, и таким образом, каскад 108 декодирования видео может использовать информацию о параметре веса/смещения, которая содержится в потоке данных, независимо от оценки блоком задания параметров той же информации, а именно информации о параметре веса/смещения, и соответственно, не требуется канала управления, ведущего от блока 110 задания параметров к каскаду 108 декодирования видео. Тем не менее, в соответствии с альтернативным вариантом осуществления, предполагается ответственность блока 110 задания параметров, как за задание параметров, так и за соответствующее управление каскадом 108 декодирования видео извне. В последнем случае, канал управления должен вести от блока 110 задания параметров к каскаду 108 декодирования видео.
Как уже было упомянуто выше, изложенное ниже более подробное описание варианта осуществления, будет использовать функцию логарифмического отображения между двумя форматами, т.е. функцию линейного отображения между первым форматом в логарифмической области и вторым форматом в логарифмической области. Соответственно, обратный преобразователь 112 значений отсчетов может быть выполнен с возможностью преобразования значений
при этом
при этом
Раз так, то блок 112 задания параметров может быть выполнен таким образом, чтобы вычислять
при этом
Кроме того, аналогично приведенному выше описанию, каскад 108 декодирования видео может быть выполнен с возможностью использования параметра размера шага квантователя при реконструкции второй последовательности кадров, и блок задания параметров может быть выполнен с возможностью задания параметра размера шага квантователя для кадров второй последовательности в зависимости от длины участка первого динамического диапазона, как задано для соответствующих кадров второй последовательности. В этом отношении, блок 110 задания параметров может быть выполнен с возможностью декодирования параметра размера шага квантователя из потока данных дифференциально по отношению к параметру размера шага квантователя начального кадра второй последовательности.
Как описано выше, хотя предполагалось, что значения отсчетов кадров первой последовательности являются значениями с плавающей точкой яркости, и предполагалось, что значениями отсчетов кадров второй последовательности гамма-корректированной яркости являются целочисленные значения, также существуют другие возможности.
Фиг.5 показывает характерный участок потока данных, переданный от стороны кодирования стороне декодирования в соответствии с вариантами осуществления, изложенными выше в отношении Фиг.1-4. Из вышеприведенного описания следует, что поток 150 данных имеет первую последовательность 102 кадров, значения отсчетов которых представлены в первом формате, охватывающем первый динамический диапазон, закодированную в нем с возможностью реконструкции. В частности, первая последовательность закодирована в потоке 150 данных опосредованно через вторую последовательность 30 из кадров 32, значения отсчетов которых, представлены во втором формате, охватывающем второй динамический диапазон 42, который ниже первого динамического диапазона, при этом вторая последовательность закодирована в поток данных посредством взвешенного временного предсказания первого кадра второй последовательности 30' с использованием второго кадра второй последовательности 30', взвешена параметром веса и смещена параметром смещения, в качестве опорного кадра, при этом параметр веса и параметр смещения содержатся в потоке данных, так что параметр 132 отображения первого кадра второй последовательности 30' зависит от параметра отображения второго кадра второй последовательности 30', параметра веса и параметра смещения, а значения 34' отсчетов кадров 32' второй последовательности преобразуются из второго формата в первый формат с использованием функции отображения, которая отображает второй динамический диапазон 42 в часть первого динамического диапазона 40, который задан параметром отображения для соответствующего кадра второй последовательности, для реконструкции первой последовательности. Другими словами, поток данных может быть структурирован в виде участков 152 кадра, каждый из которых связан с соответствующим одним из кадров 30' и 104, соответственно. Каждый кадр 30' может быть закодирован в потоке 150 данных в единицах блоков. Каждый участок 152 кадра может включать в себя данные 154 предсказания движения, включающие в себя, например, вектор движения. Соответственно, каждый участок 152 кадра может включать в себя параметры 50 веса и смещения для соответствующего кадра. Поток данных может быть закодирован таким образом, что данные 154 предсказания движения каждого участка кадра ссылаются 156 в обратном направлении на участок кадра, непосредственно предшествующий на время
После того как описаны, с использованием довольно общих понятий, варианты осуществления устройства кодирования и декодирования, ниже излагаются подробные варианты осуществления, представляющие собой конкретные реализации приведенных выше вариантов осуществления. В соответствии с конкретными изложенными ниже подробностями реализации, покадровое адаптивное отображение яркости в гамма-корректированной яркости используется для выполнения перехода между каскадом де/кодирования видео и обратным/преобразователем значений отсчетов, соответственно. В соответствии с изложенными ниже вариантами осуществления, инструмент взвешенного предсказания стандарта H.264/AVC используется для сохранения согласованности по времени. Другими словами, в соответствии с изложенными ниже вариантами осуществления, каскад кодирования видео и каскад декодирования видео приведенных выше вариантов осуществления, выступают в роли H.264 подобных объектов, т.е. каскад 20 кодирования видео формирует H.264 подобный поток данных, а каскад 108 декодирования данных реализован в соответствии со стандартом H.264/AVC. Поток данных с Фиг.5 может быть даже полностью H.264/AVC подобным. В соответствии с нижеследующими вариантами осуществления инструмент взвешенного предсказания используется, таким образом, не только для сохранения согласованности по времени, но в, тоже время, и для передачи адаптивных параметров отображения, используемых для преобразования значений отсчетов. Кроме того, будет приведен пример того, каким образом можно использовать параметр квантования (
Таким образом, в следующем, подробности реализации применительно к вышеизложенным на Фиг.1-5 вариантам осуществления, подробно представлены ниже при помощи математических выражений. Затем, в Разделе 2, представлены результаты экспериментов, полученные при использовании этих подробностей реализации.
1.1. Адаптивное к Динамическому Диапазону Отображение Яркости
Далее повторно рассматривается отображение яркости в гамма-корректированной яркости применительно к кодированию видео. Компромисс между диапазоном
Данная линейная зависимость между логарифмом яркости
Очевидно, что отображение достигает максимальной точности, когда
1.2. Согласованное по Времени Адаптивное Отображение Яркости
Рассмотрим, что два последовательных кадра
Очевидно, что отношение двух значений
Стандарт H.264/AVC является первым международным стандартом кодирования видео, определяющим синтаксис для инструмента взвешенного предсказания (WP) [7]. Исходное предназначение WP состоит в повышении эффективности кодирования для затухающих и плавно проявляющихся последовательностей, в которых, как правило, предсказание с компенсацией движения не удается. Оно позволяет явно просигнализировать параметр
В стандарте H.264/AVC точность и динамический диапазон
Т.е., для заданного динамического диапазона яркости, охватываемого функцией отображения кадра
и
при условии
Последние два неравенства гарантируют то, что диапазон яркости, охватываемый адаптивным отображением, охватывает, по меньшей мере, диапазон собственно диапазона яркости, представленного в настоящем кадре
На практике, блок 22 задания параметров может найти решение данной задачи посредством решения уравнений (5) и (6), задавая
Если результаты противоречат одному из условий в выражении (7), то блок 22 задания параметров может уменьшить
После нахождения наилучшего диапазона
1.3. Согласованное по Времени Квантование
В соответствии с представленными выше мерами, для каждого кадра, разные диапазоны яркости отображаются в кодовых значениях гамма-корректированной яркости. Вследствие этого, использование идентичного
Учитывая тот факт, что по определению
В данной работе постоянно используется первый кадр последовательности в качестве опорного кадра для вычисления значений смещения
2. РЕЗУЛЬТАТЫ ЭКСПЕРИМЕНТОВ
Для оценки согласованного по времени отображения яркости в гамма-корректированной яркости Раздела 1, были выполнены эксперименты по кодированию в отношении трех тестовых HDR-последовательностей: Панорама, Тоннель и Солнце. Все последовательности имеют разрешение 640×480 пикселей и частоту кадров 30 кадр/с. Тестовая последовательность Панорама была сформирована посредством панорамирования 8000×4000 пиксельного HDR-изображения панорамы. Она показывает зоны темного интерьера, как впрочем, и очень яркие отражения солнца за окном. Ее общий динамический диапазон имеет порядок
Для кодирования последовательностей, они сначала преобразуются из значений с плавающей точкой в цветовом пространстве RGB в пространство LogLuv, а затем кодируются с помощью опорного программного обеспечения JM 17.2 стандарта H.264/AVC. Компонент гамма-корректированной яркости кодируется с битовой глубиной в размере 12 бит/отсчет,
В частности, Фиг.7 показывает результаты кодирования для этих трех случаев: согласованное по времени отображение в соответствии с Разделом (1) («предложенный»), покадровая адаптация для каждого кадра без согласования по времени («покадровый») [6], и постоянное отображение всего диапазона видимой яркости
Фиг.7 показывает результаты кодирования для всех тестовых последовательностей, исходя из VDP, который усреднен по всем декодированным кадрам (верхняя строка), и исходя из значения PU PSNR составляющей яркости (нижняя строка). В частности, Фиг.7 показывает результаты кодирования для трех случаев: согласованное по времени отображение («предложенный»), покадровая адаптация для каждого кадра без согласования по времени («покадровый») [6], и постоянное отображение всего диапазона видимой яркости [10-4, 108] («визуальный диапазон»). Верхняя строка: предсказатель видимого различия (VDP). Нижняя строка: однородно воспринимаемое пиковое отношение сигнала к шуму (PU PSNR).
Предложенный способ («предложенный») сравнивается с двумя опорными способами на Фиг.7: непосредственная покадровая адаптация отображения яркости в гамма-корректированной яркости к динамическому диапазону каждого кадра без учета согласованности по времени («покадровый») [6], и постоянное отображение всего воспринимаемого диапазона яркости [10-4, 108] («визуальный диапазон»). В последнем случае диапазон яркости функции отображения может превышать диапазон встречающихся яркостей в большинстве последовательностей HDR-видео. Тем не менее, в приложениях кодирования в реальном времени невозможно сузить диапазон отображения до диапазона абсолютной яркости последовательности, так как это потребует обработки всей последовательности перед кодированием. Фиг.7 явно показывает, что предложенное отображение значительно превосходит опорные способы применительно ко всем тестовым последовательностям. Здесь стоит отметить, что метрика VDP является пороговой метрикой, которая предлагает лишь оценить, воспринимаются или нет неправильно пиксели. Она не определяет, насколько данная ошибка раздражает зрителя. Таким образом, например, результаты на Фиг.7(a) могут интерпретироваться следующим образом: если допускается неправильное восприятие около 1% пикселей при предложенном отображении, то потребуется скорость передачи битов лишь менее 2500 кбит/с. Это сокращение составляет около 50% (25%) в сравнении с 5000 кбит/с (3250 кбит/с), которые следует затратить, чтобы получить то же значение VDP при сценарии «видимого диапазона» («покадрового»). Подобным образом, значительная экономия скорости может наблюдаться для тестовых последовательностей Тоннель и Солнце на Фиг.7(b) и (c).
Как ожидалось, результаты PU PSNR на Фиг.7(d)-(f) изображают характеристики эффективности, аналогичные результатам VDP для всех последовательностей. Кроме того, при предложенном способе они позволяют получить количественное подтверждение прироста по качеству для большого диапазона скоростей передачи битов. Например, для последовательности Панорама значение PU PSNR предложенного способа превышает значение PU PSNR отображения «видимого диапазона» на 3 дБ при 3250 кбит/с (сравни Фиг.7(d)). Это означает, что среднеквадратичная ошибка в однородно воспринимаемом пространстве яркости составляет половину при той же скорости передачи битов и значительно увеличивается визуальное качество.
Здесь стоит отметить, что применительно к последовательности Панорама покадровое адаптивное отображение оказывает очень вредное влияние на эффективность кодирования в сравнении с не адаптивным отображением «видимого диапазона». Данная последовательность обладает очень большими и быстрыми изменениями ее динамического диапазона и вследствие этого, в случае покадрового адаптивного отображения, отказывает временное предсказание (см. Фиг.7(a),(d)). С другой стороны, на Фиг.7(b) и (e) можно видеть, что предложенный способ выполняет по большей части отображение идентичное «покадровому» отображению. В данной последовательности, изменения по времени динамического диапазона очень гладкие. В экспериментах было дополнительно обнаружено, что для «покадрового» отображения сильные изменения по времени скорости передачи битов и качества присутствуют всякий раз, когда значительно меняется динамический диапазон. Данное негативное влияние можно обойти посредством согласованного по времени квантования и отображения предложенного способа.
3. ЗАКЛЮЧЕНИЕ
Таким образом, в Разделе 1 было предложено адаптивное отображение яркости в гамма-корректированной яркости, которое позволяет обеспечить сжатие видео данных с плавающей точкой и высоким динамическим диапазоном с помощью современного стандарта H.264/AVC кодирования видео. В отличие от других способов отображение адаптируется к динамическому диапазону каждого кадра. Однако согласованность по времени достигается посредством использования инструментов взвешенного предсказания стандарта H.264/AVC и посредством применения покадровой адаптации параметра квантования в зависимости от функции отображения. Не требуется никакой дополнительной информации и при том же качестве может наблюдаться значительная экономия скорости передачи битов, вплоть до 50%, в сравнении с не адаптивными способами.
В заключение следует отметить, что все подробности, представленные в Разделах 1-3, также могут меняться в некотором плане. Например, ни параметры веса/смещения, упомянутые в отношении Фиг.1-5, ни параметры веса/смещения, упомянутые в Разделах 1-3, не ограничены тем, что присутствуют в стандарте H.264/AVC, т.е.
Кроме того, как уже отмечалось выше, вместо отображения яркости в гамма-корректированной яркости, другое отображение может быть предметом изложенных выше вариантов осуществления. Другими словами, значения отсчетов могут относиться к информации, отличной от яркости. Кроме того, реализации каскада 20 кодирования видео и каскада 108 декодирования видео на Фиг.2 и 4 должны пониматься лишь как представленные в качестве иллюстрации. Например, энтропийный кодер 62, отвечающий за энтропийное кодирование остаточного сигнала 88, может быть опущен. Аналогичным образом, энтропийный декодер 129 может опционально располагаться между входом 128 и блоком 118 реконструкции остатка каскада 108 декодирования видео с Фиг.4.
Хотя некоторые аспекты были описаны в контексте устройства, очевидно, что эти аспекты также представляют собой описание соответствующего способа, причем блок или устройство соответствует этапу способа или признаку этапа способа. Аналогичным образом, аспекты, описанные в контексте этапа способа, также представляют собой описание соответствующего блока или элемента или признака соответствующего устройства. Часть или все этапы способа могут исполняться посредством (или при помощи) устройства аппаратного обеспечения, подобного, например, микропроцессору, программируемому компьютеру или электронной схеме. В некоторых вариантах осуществления, некоторые или больше из наиболее важных этапов способа могут исполняться таким устройством.
Относящийся к изобретению поток данных может храниться на цифровом носителе данных или может передаваться по передающей среде, такой как среда беспроводной передачи или среда проводной передачи, такая как Интернет.
В зависимости от конкретных требований к реализации, варианты осуществления изобретения могут быть реализованы в аппаратном обеспечении или программном обеспечении. Реализация может осуществляться при помощи цифрового носителя данных, например гибкого диска, DVD, Blue-Ray, CD, ROM, PROM, EPROM или FLASH-памяти, обладающие хранящимися на них электронно-считываемыми сигналами управления, которые взаимодействуют (или способны взаимодействовать) с программируемой компьютерной системой, таким образом, что выполняется соответствующий способ. Вследствие этого, цифровой носитель данных может быть машиночитаемым.
Некоторые варианты осуществления в соответствии с изобретением содержат носитель данных с электронно-читаемыми сигналами управления, которые выполнены с возможностью взаимодействия с программируемой компьютерной системой, таким образом, что может выполняться один из описанных здесь способов.
В целом, варианты осуществления настоящего изобретения могут быть реализованы в качестве компьютерного программного продукта с программным кодом, при этом программный код функционирует для выполнения одного из способов, когда компьютерный программный продукт запущен на компьютере. Программный код, например, может храниться на машиночитаемом носителе информации.
Прочие варианты осуществления содержат компьютерную программу для выполнения одного из описанных здесь способов, хранящуюся на машиночитаемом носителе информации.
Другими словами, вариантом осуществления относящегося к изобретению способа, вследствие этого, является компьютерная программа с программным кодом для выполнения одного из описанных здесь способов, когда компьютерная программа запущена на компьютере.
Вследствие этого, дополнительным вариантом осуществления относящихся к изобретению способов является носитель данных (или цифровой носитель данных, или машиночитаемый носитель информации), содержащий записанную на нем, компьютерную программу для выполнения одного из описанных здесь способов. Носитель данных, цифровой носитель данных или записываемый носитель информации, как правило, являются вещественными и/или не временными.
Вследствие этого, дополнительным вариантом осуществления относящегося к изобретению способа является поток данных или последовательность сигналов, представляющая собой компьютерную программу для выполнения одного из описанных здесь способов. Поток данных или последовательность сигналов может, например, быть выполнена с возможностью передачи через соединение передачи данных, например, через Интернет.
Дополнительный вариант осуществления содержит средство обработки, например, компьютер, или программируемое логическое устройство, выполненное с возможностью или адаптированное для выполнения одного из описанных здесь способов.
Дополнительный вариант осуществления содержит компьютер, с установленной на нем компьютерной программой для выполнения одного из описанных здесь способов.
Дополнительный вариант осуществления в соответствии с изобретением содержит устройство или систему, выполненную с возможностью передачи (например, электронным или оптическим способом) компьютерной программы для выполнения одного из описанных здесь способов приемнику. Приемник может, например, быть компьютером, мобильным устройством, запоминающим устройством или подобным. Устройство или система могут, например, содержать файловый сервер для передачи компьютерной программы приемнику.
В некоторых вариантах осуществления, программируемое логическое устройство (например, программируемая вентильная матрица) может использоваться для выполнения некоторых или всех функциональных возможностей описанных здесь способов. В некоторых вариантах осуществления, программируемая вентильная матрица может взаимодействовать с микропроцессором, для того чтобы выполнять один из описанных здесь способов. В целом, способы предпочтительно выполняются любым устройством аппаратного обеспечения.
Описанные выше варианты осуществления служат лишь в качестве иллюстрации принципов настоящего изобретения. Следует понимать, что другим специалистам в соответствующей области будут очевидны модификации и вариации в описанных здесь компоновках и деталях. Вследствие этого, объем и сущность должны ограничиваться лишь объемом предстоящей формулы изобретения, а не конкретными деталями, представленными здесь в качестве описания и объяснения вариантов осуществления.
Другими словами, были описаны варианты осуществления, приемлемые для эффективного сжатия последовательностей видео с высоким динамическим диапазоном (HDR). Для того чтобы получить закодированное представление, которое совместимо со стандартом H.264/AVC кодирования видео, HDR-значения с плавающей точкой отображаются в приемлемом целочисленном представлении. Используемое отображения является адаптированным к динамическому диапазону каждого видео кадра. Кроме того, чтобы компенсировать связанное с этим изменение динамической контрастности между кадрами, введены способ взвешенного предсказания и адаптации квантования.
С другой точки зрения, приведенные выше варианты осуществления являются усовершенствованием Адаптивного-LogLuv преобразования, также описанного в EP10151074.1, описание которого включено в настоящее описание для получения дополнительной информации. Как правило, адаптивное логарифмическое отображение значений с плавающей точкой в целочисленных значениях аналогично тому, что использовалось в EP10151074.1. Тем не менее, параметры данного отображения более не являются совершенно свободными. Наоборот, они, в соответствии с приведенными выше вариантами осуществления, ограничены, чтобы соответствовать характеристикам кодека видео стандарта H.264/AVC и в частности инструменту взвешенного предсказания (WP) стандарта H.264/AVC. При помощи этих ограничений, были получены следующие преимущества: (1) может использоваться инструмент WP, чтобы гарантировать согласованность по времени. (2) Синтаксис стандарта H.264/AVC для WP может использоваться для сигнализации параметров LogLuv отображения, таким образом, снимая потребность в дополнительной информации. В приведенном выше описании, было показано, каким образом следует адаптировать параметр квантования кодера H.264/AVC в зависимости от адаптивного отображения.
СПИСОК ЦИТИРОВАННОЙ ЛИТЕРАТУРЫ
[1] Erik Reinhard, Greg Ward, Sumanta Pattanaik и Paul Debevec, High Dynamic Range Imaging: Acquisition, Display, and Image-Based Lighting, Morgan Kaufmann Publishers Inc., Сан-Франциско, Калифорния, США, 2005 г.
[2] J. A. Ferwerda, «Elements of early vision for computer graphics», IEEE Comp. Graph. and Appl., том. 21, № 5, стр. 22-33, 2001 г.
[3] Gregory Ward Larson, «The LogLuv encoding for full gamut, highdynamic range images», Journal of Graph. Tools, том. 3, № 1, стр. 15-31, 1998 г.
[4] RafaI Mantiuk, Grzegorz Krawczyk, Karol Myszkowski, и Hans-Peter Seidel, «Perception-motivated high dynamic range video encoding», ACM Trans. Graph., том. 23, № 3, стр. 733-741, 2004 г.
[5] Masahiro Okuda и Nicola Adami, «Effective color space representation for wavelet based compression of HDR images», на International Conference on Image Analysis and Processing, 2007 г., стр. 388-392.
[6] Ajit Motra и Herbert Thoma, «An adaptive LogLuv transform for high dynamic range video compression», на Proc. Intl. Conf on Image Processing (ICIP), Гонконг, Китай, сентябрь 2010 г.
[7] J.M. Boyce, «Weighted prediction in the H.264/MPEG AVC video coding standard», на Proc. Intl. Symposium on Circuits and Systems (ISCAS), май 2004 г., стр. 789-792.
[8] Grzegorz Krawczy, «HDR video environment maps samples», http:kkwww.mpi-inf.mpg.de/resources/hdr/video/, MPI
[9] Rafal Mantiuk, Scott Daly, Karol Myszkowski, и Hans-Peter Seidel, «Predicting visible differences in high dynamic range images - model and its calibration», на SPIE Human Vision and Electronic Imaging X, 2005 г.
[10] TunC, Ozan Aydin, Rafal Mantiuk, и Hans-Peter Seidel, «Extending quality metrics to full dynamic range images», на SPIE Human Vision and Electronic Imaging XIII, Сан-Хосе, США, январь 2008 г.
название | год | авторы | номер документа |
---|---|---|---|
ИНТЕР-УРОВНЕВОЕ ПРЕДСКАЗАНИЕ МЕЖДУ УРОВНЯМИ С РАЗНЫМ ДИНАМИЧЕСКИМ ДИАПАЗОНОМ ЗНАЧЕНИЯ ОТСЧЕТОВ | 2012 |
|
RU2586837C2 |
МЕЖСЛОЙНОЕ ПРЕДСКАЗАНИЕ ДЛЯ СИГНАЛОВ С УЛУЧШЕННЫМ ДИНАМИЧЕСКИМ ДИАПАЗОНОМ | 2016 |
|
RU2661309C1 |
ДЕКОМПОЗИЦИЯ УРОВНЕЙ В ИЕРАРХИЧЕСКОМ КОДИРОВАНИИ VDR | 2012 |
|
RU2586572C2 |
СОЗДАНИЕ ИЗОБРАЖЕНИЙ С РАСШИРЕННЫМ ДИНАМИЧЕСКИМ ДИАПАЗОНОМ ИЗ ИЗОБРАЖЕНИЙ С СУЖЕННЫМ ДИНАМИЧЕСКИМ ДИАПАЗОНОМ | 2011 |
|
RU2587986C2 |
МНОГОДИАПАЗОННОЕ КОДИРОВАНИЕ ВИДЕО С РАСШИРЕННЫМ ДИНАМИЧЕСКИМ ДИАПАЗОНОМ | 2019 |
|
RU2790178C2 |
КОДИРОВАНИЕ И ДЕКОДИРОВАНИЕ HDR ВИДЕО | 2017 |
|
RU2728516C2 |
КОДИРОВАНИЕ, ДЕКОДИРОВАНИЕ И ПРЕДСТАВЛЕНИЕ ИЗОБРАЖЕНИЙ С РАСШИРЕННЫМ ДИНАМИЧЕСКИМ ДИАПАЗОНОМ | 2012 |
|
RU2589857C2 |
ВЫЧИСЛЕНИЕ ДИНАМИЧЕСКИХ МЕТАДАННЫХ ДЛЯ РЕДАКТИРОВАНИЯ HDR КОНТЕНТА | 2021 |
|
RU2813229C1 |
РЕГУЛИРОВКА ДИНАМИЧЕСКОГО ДИАПАЗОНА ДЛЯ КОДИРОВАНИЯ ВИДЕО С РАСШИРЕННЫМ ДИНАМИЧЕСКИМ ДИАПАЗОНОМ И ШИРОКОЙ ЦВЕТОВОЙ ГАММОЙ | 2016 |
|
RU2701961C2 |
ДЕКОМПОЗИЦИЯ УРОВНЕЙ В ИЕРАРХИЧЕСКОМ КОДИРОВАНИИ VDR | 2012 |
|
RU2644065C9 |
Изобретение относится к вычислительной технике. Технический результат заключается в повышении эффективности совместного использования отображения динамического диапазона и временного предсказания. Кодер видео для кодирования первой последовательности кадров, значения отсчетов которых представлены в первом формате, охватывающем первый динамический диапазон, содержит преобразователь значений отсчетов кадров первой последовательности из первого формата во второй формат со вторым динамическим диапазоном, используя функцию отображения, которая отображает участок первого динамического диапазона, который задается параметром отображения, во второй динамический диапазон, так, чтобы получить вторую последовательность кадров; каскад кодирования видео для кодирования второй последовательности кадров посредством взвешенного временного предсказания первого кадра второй последовательности, используя второй кадр второй последовательности реконструированной версии второго кадра второй последовательности, взвешенного параметром веса и смещенного параметром смещения, в качестве опорного кадра; и блок задания параметров для задания параметра веса и параметра смещения, в зависимости от параметра отображения второго кадра первой последовательности, и задания параметра отображения первого кадра первой последовательности. 6 н. и 14 з.п. ф-лы, 7 ил.
1. Кодер видео для кодирования первой последовательности (12) кадров (14), значения (16) отсчетов которых представлены в первом формате, охватывающем первый динамический диапазон, содержащий:
преобразователь (18) значений отсчетов, выполненный с возможностью преобразования значений (16) отсчетов кадров (14) первой последовательности (12) из первого формата во второй формат со вторым динамическим диапазоном, который ниже первого динамического диапазона, используя функцию (36) отображения, которая отображает участок (38) первого динамического диапазона (40), который задается параметром (45) отображения, во второй динамический диапазон (42), так, чтобы получить вторую последовательность (30) кадров (32);
каскад (20) кодирования видео, выполненный с возможностью кодирования второй последовательности (30) кадров (32) посредством взвешенного временного предсказания первого кадра второй последовательности (30), используя второй кадр второй последовательности (30) реконструированной версии второго кадра второй последовательности (30), взвешенного параметром веса и смещенного параметром смещения, в качестве опорного кадра; и
блок (22) задания параметров для задания параметра веса и параметра (50) смещения, в зависимости от параметра (45) отображения второго кадра первой последовательности, соответствующего второму кадру второй последовательности, и задания параметра отображения первого кадра первой последовательности, соответствующего первому кадру второй последовательности, в зависимости от параметра отображения второго кадра первой последовательности, параметра веса и параметра смещения.
2. Кодер видео по п. 1, в котором блок (22) задания параметров выполнен с возможностью определения занимаемого участка первого динамического диапазона (40), в котором распределены значения (16) отсчетов первого кадра первой последовательности (12), и задания параметра (50) веса и параметра (50) смещения и, в зависимости от параметра (50) веса и параметра (50) смещения, параметра отображения первого кадра первой последовательности таким образом, что участок, заданный параметром отображения первого кадра первой последовательности (12), аппроксимирует занимаемый участок.
3. Кодер видео по п. 1, в котором блок (22) задания параметров выполнен с возможностью задания параметра смещения в зависимости от расхождения между верхними границами или расхождения между нижними границами участков (38, 48), заданных параметрами отображения для первого и второго кадров первой последовательности соответственно, и задания параметра (,) веса в зависимости от расхождения между длинами участков (38, 48), заданных параметрами (,) отображения первого и второго кадров первой последовательности соответственно.
4. Кодер видео по п. 1, в котором преобразователь (18) значений отсчетов выполнен с возможностью преобразования значения Υ отсчета кадров (14) первой последовательности (12) из первого формата во второй формат по формуле
причем b и a содержатся в параметре отображения и соотносятся с нижней границей Ymin и верхней границей Ymax участка (38) первого динамического диапазона (40), от Ymin до Ymax, по формуле
,
причем является логарифмической функцией по основанию m, а n является целым числом, указывающим количество бит представления целого числа во втором формате.
5. Кодер видео по п. 4, в котором блок (22) задания параметров выполнен с возможностью определения занимаемого участка первого динамического диапазона (40), в котором распределены (44) значения (16) отсчетов первого кадра первой последовательности (12), и задания параметра веса и параметра (50) смещения таким образом, что
при условии, что
и
причем Ymjn является нижней границей, a Ymax является верхней границей занимаемого участка, n0 является целым числом, которое относится к диапазону определения , индекс служит указателем первого кадра первой последовательности кадров, индекс k служит указателем второго кадра первой последовательности кадров, и содержатся в параметре веса, а содержится в параметре смещения.
6. Кодер видео по п. 1, в котором каскад (20) кодирования видео выполнен с возможностью использования параметра размера шага квантователя при кодировании второй последовательности (30) кадров, а блок (22) задания параметров выполнен с возможностью задания параметра размера шага квантователя для кадров (32) второй последовательности (30) в зависимости от длины участка, как задано для кадров первой последовательности, соответствующих соответствующим кадрам второй последовательности.
7. Кодер видео по п. 6, в котором блок (22) задания параметров выполнен с возможностью кодирования параметра размера шага квантователя в потоке данных дифференциально по отношению к параметру размера шага квантователя начального кадра второй последовательности.
8. Кодер видео по п. 1, в котором значениями отсчетов кадров первой последовательности являются значения яркости с плавающей точкой, а значениями отсчетов кадров второй последовательности являются целочисленные значения гамма-корректированной яркости.
9. Кодер видео по п. 1, в котором блок (22) задания параметров выполнен с возможностью определения занимаемого участка первого динамического диапазона (40), в котором распределены значения (16) отсчетов первого кадра первой последовательности (12), и
задания параметра веса и параметра (50) смещения и, на основании параметра веса и параметра (50) смещения, параметра отображения первого кадра первой последовательности, таким образом, что параметр веса и параметр смещения смещают и масштабируют участок первого динамического диапазона (40), как задано параметром отображения второго кадра первой последовательности, чтобы в результате получить интервал, который захватывает занимаемый участок, при этом интервал является участком первого динамического диапазона (40), заданным параметром отображения первого кадра первой последовательности.
10. Декодер видео для реконструкции первой последовательности (102) кадров, значения отсчетов которых представлены в первом формате, охватывающем первый динамический диапазон, из потока данных, содержащий каскад (108) декодирования видео, выполненный с возможностью реконструкции, из потока данных, второй последовательности (30') кадров (32'), значения отсчетов которых представлены во втором формате, охватывающем второй динамический диапазон (42), который ниже первого динамического диапазона, посредством взвешенного временного предсказания первого кадра второй последовательности (30'), используя второй кадр второй последовательности (30'), взвешенный параметром веса и смещенный параметром смещения, которые содержатся в потоке данных, в качестве опорного кадра;
блок (110) задания параметров, выполненный с возможностью задания параметра (132) отображения первого кадра второй последовательности (30′), в зависимости от параметра отображения второго кадра второй последовательности (30'), параметра веса и параметра смещения, и
обратный преобразователь (112) значений отсчетов, выполненный с возможностью преобразования значений (34') отсчетов кадров (32') второй последовательности из второго формата в первый формат, используя функцию отображения, которая отображает второй динамический диапазон (42) в участок первого динамического диапазона (40), который задан параметром отображения для соответствующего кадра второй последовательности.
11. Декодер видео по п. 10, в котором параметр отображения определяет длину участка (38) первого динамического диапазона (40) и нижнюю и верхнюю границу участка (38) первого динамического диапазона, и в котором блок задания параметров выполнен с возможностью задания параметра отображения первого кадра второй последовательности (30') посредством модификации длины участка (48) первого динамического диапазона (40), который определен параметром движения второго кадра второй последовательности (30'), в зависимости от параметра веса, чтобы получить длину участка (38), который определен параметром движения первого кадра второй последовательности, и посредством модификации нижней или верхней границы участка (48) первого динамического диапазона (40), которая определена параметром движения второго кадра второй последовательности в зависимости от параметра смещения, чтобы получить первый кадр второй последовательности.
12. Декодер видео по п. 10, в котором обратный преобразователь (112) значений отсчетов выполнен с возможностью преобразования значения (34') отсчета кадров (32') второй последовательности (30') из первого формата во второй формат по формуле
причем b и a содержатся в параметре отображения и соотносятся с нижней границей Ymin и верхней границей Ymax участка (38) первого динамического диапазона, от Ymin до Ymax, по формуле
,
причем является логарифмической функцией по основанию m, а n является целым числом, указывающим количество бит представления целого числа во втором формате.
13. Декодер видео по п. 12, в котором блок (110) задания параметров выполнен с возможностью вычисления a и b таким образом, что
;
причем n0 является целым числом, которое относится к диапазону определения , индекс служит указателем первого кадра второй последовательности кадров, индекс k служит указателем второго кадра второй последовательности, и содержатся в параметре веса, а содержится в параметре смещения.
14. Декодер видео по п. 10, в котором каскад (108) декодирования видео выполнен с возможностью использования параметра размера шага квантователя при реконструкции второй последовательности кадров, и блок задания параметров выполнен с возможностью задания параметра размера шага квантователя кадров второй последовательности, в зависимости от длины участка первого динамического диапазона, как заданного для соответствующих кадров второй последовательности.
15. Декодер видео по п. 14, в котором блок (110) задания параметров выполнен с возможностью декодирования параметра размера шага квантователя из потока данных дифференциально по отношению к параметру размера шага квантователя начального кадра второй последовательности.
16. Декодер видео по п. 10, в котором значениями отсчетов кадров первой последовательности являются значения яркости с плавающей точкой, а значениями отсчетов кадров второй последовательности являются целочисленные значения гамма-корректированной яркости.
17. Способ для кодирования первой последовательности (12) кадров (14), значения (16) отсчетов которых представлены в первом формате, охватывающем первый динамический диапазон, содержащий этапы, на которых:
преобразуют значения (16) отсчетов кадров (14) первой последовательности (12) из первого формата во второй формат, динамический диапазон которого ниже первого динамического диапазона, используя функцию (36) отображения, которая отображает участок (38) первого динамического диапазона (40), который задается параметром (45) отображения, во второй динамический диапазон (42), так, чтобы получить вторую последовательность (30) кадров (32);
кодируют вторую последовательность (30) кадров (32) посредством взвешенного временного предсказания первого кадра второй последовательности (30), используя второй кадр второй последовательности (30) реконструированной версии второго кадра второй последовательности (30), взвешенного параметром веса и смещенного параметром смещения, в качестве опорного кадра; и
задают параметр веса и параметр (50) смещения, в зависимости от параметра (45) отображения второго кадра первой последовательности, соответствующего второму кадру второй последовательности, и задают параметр отображения первого кадра первой последовательности, соответствующего первому кадру второй последовательности, в зависимости от параметра отображения второго кадра первой последовательности, параметра веса и параметра смещения.
18. Способ для реконструкции первой последовательности (102) кадров, значения отсчетов которых представлены в первом формате, охватывающем первый динамический диапазон, из потока данных, содержащий этапы, на которых реконструируют, из потока данных, вторую последовательность (30') кадров (32'), значения отсчетов которых представлены во втором формате, охватывающем второй динамический диапазон (42), который ниже первого динамического диапазона, посредством взвешенного временного предсказания первого кадра второй последовательности (30'), используя второй кадр второй последовательности (30'), взвешенный параметром веса и смещенный параметром смещения, которые содержатся в потоке данных, в качестве опорного кадра;
задают параметр (132) отображения первого кадра второй последовательности (30′), в зависимости от параметра отображения второго кадра второй последовательности (30'); параметр веса и параметр смещения, и
преобразуют значения (34') отсчетов кадров (32') второй последовательности из второго формата в первый формат, используя функцию отображения, которая отображает второй динамический диапазон (42) в участок первого динамического диапазона (40), который задан параметром отображения для соответствующего кадра второй последовательности.
19. Машиночитаемый цифровой носитель данных с хранящейся на нем компьютерной программой с программным кодом для выполнения, при запуске на компьютере, способа по п. 17.
20. Машиночитаемый цифровой носитель данных с хранящейся на нем компьютерной программой с программным кодом для выполнения, при запуске на компьютере, способа по п. 18.
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок | 1923 |
|
SU2008A1 |
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек | 1923 |
|
SU2007A1 |
US 6028608 A1, 22.02.2000 | |||
СПОСОБ ПРЕОБРАЗОВАНИЯ ЦИФРОВОГО СИГНАЛА ИЗОБРАЖЕНИЯ И УСТРОЙСТВО ДЛЯ ЕГО РЕАЛИЗАЦИИ | 2004 |
|
RU2287909C2 |
Авторы
Даты
2015-05-10—Публикация
2011-10-12—Подача