ОТОБРАЖЕНИЕ ТОНА ДЛЯ МАСШТАБИРУЕМОГО ПО БИТОВОЙ ГЛУБИНЕ ВИДЕОКОДЕКА
TONE MAPPING FOR BIT-DEPTH SCALABLE VIDEO CODEC

Уровень техники
Настоящее изобретение, в общем, относится к масштабируемым видеокодекам.
Масштабируемые видеокодеки обеспечивают возможность передавать разного уровня качества изображения различным потребителям, в зависимости от типа услуги, которую они предпочитают. Видеоуслуги с низким качеством могут быть менее дорогостоящими, чем видеоуслуги с более высоким качеством.
В масштабируемом видеокодере малая битовая глубина может называться уровнем базовой линии, и большая битовая глубина может называться улучшенным уровнем. Чем больше битовая глубина, тем лучше качество видеоизображения.
В масштабируемом видеокодеке кодер и декодер могут быть предусмотрены как один модуль. В некоторых случаях только кодер может быть предусмотрен и, в других случаях, может быть предусмотрен только декодер. Масштабируемый видеокодер обеспечивает для системы возможность работать, по меньшей мере, с уровнем базовой линии. Таким образом, в системах с малой стоимостью можно использовать только уровень базовой линии и в более усовершенствованных системах высокой стоимости можно использовать улучшенный уровень.
Предпочтительно выводить улучшенный уровень из уровня базовой линии. С этой целью можно использовать обратное отображение тона для увеличения битовой глубины уровня базовой линии до битовой глубины улучшенного уровня. В некоторых случаях, например, уровень базовой линии может составлять 8 битов на пиксель, и улучшенный уровень может оставлять 10, 12 или больше битов на пиксель.
Краткое описание чертежей
На фиг.1 схематично представлены системы кодера и декодера в соответствии с одним вариантом воплощения настоящего изобретения;
на фиг.2 представлено описание системы кодера и декодера в соответствии с другим вариантом воплощения настоящего изобретения; и
на фиг.3 представлена система еще одного варианта воплощения настоящего изобретения.
Подробное описание изобретения
Как показано на фиг.1, масштабируемый видеокодек включает в себя кодер 10, который связан через передачу видеоданных или через накопитель 14 видеоданных с декодером 12. На фиг.1 показан кодер из одного кодека с декодером из другого кодека.
В качестве примера сетевой компьютер может связываться через сеть с другим компьютером. Каждый компьютер может иметь кодек, который включает в себя как кодер, так и декодер, таким образом, что информация может быть кодирована в одном узле, передана через сеть в другой узел, который затем декодирует эту кодированную информацию.
Кодек, показанный на фиг.1, представляет собой масштабируемый видеокодек (SVC, МВК). Это означает, что он выполнен с возможностью кодирования и/или декодирования информации с различной битовой глубиной. Видеоисточники 16 и 26 могут быть соединены с кодером 10. Видеоисточник 16 может использовать N-битные видеоданные, в то время как видеоисточник 26 может предоставлять М-битные видеоданные, где битовая глубина М больше, чем битовая глубина N. В других вариантах воплощения могут быть предусмотрены больше чем два источника, с больше чем двумя битовыми глубинами.
В каждом случае информацию из видеоисточника предоставляют в кодер. В случае видеоисточника 16 с более малой битовой глубиной информацию предоставляют в кодер 18 базовой линии. В случае видеоисточника 26 с большей битовой глубиной используют кодер 28 улучшенного уровня.
Однако декодированную информацию базовой линии в точке В из кодера 18 базовой линии обрабатывают с обратным отображением тона для увеличения ее битовой глубины для М-битов, для использования при кодировании на улучшенном уровне. Таким образом, декодированное N-битное видеоизображение предусматривают в одном варианте воплощения для модуля 20 обратное отображение тона. Обратное отображение 20 тона увеличивает битовую глубину и формирует М-битные выходные данные для кодера 28 улучшенного уровня. Декодированный поток В также представлен для производной 24 отображения тона. Производная 24 тона также принимает информацию из М-битового видеоисточника 26. Выход производной 24 отображения тона используют для обратного отображения 20 тона.
Одновременно с этим кодированный выход в точке А из кодера 18 выводят для передачи или сохранения 14 видеоданных.
В результате использования декодированного потока В для производной 24 отображения тона остаточное кодирование в кодере 28 уровня улучшения может быть уменьшено, что в некоторых случаях улучшает эффективность кодирования, благодаря лучшему прогнозированию в кодере 28.
Кодер по фиг.1 может соответствовать, например, требованиям стандарта Н.264 (усовершенствованный видеокодек (AVC, УВК) и MPEG-4 Part 10), стандарта сжатия. Стандарт Н.264 был подготовлен Совместной видеогруппой (JVT, СВГ), которая включает в себя ITU-T SG16 Q.6, также известную как VCEG (ГЭКВ, Группа экспертов кодирования видеоданных) и ISO-IEC JTC1/SC29/WG11 (2003), известную как MPEG (ГЭДИ, Группа экспертов движущегося изображения). Стандарт Н.264 был разработан для применения в области цифровой телевизионной широковещательной передачи, прямой спутниковой широковещательной передачи видеоданных, для цифровой передачи видеоданных по линии абонента, для носителей-накопителей интерактивных данных, передачи мультимедийных сообщений, цифровой наземной широковещательной телевизионной передачи и удаленного видеонаблюдения, которые приведены здесь только как несколько примеров.
Хотя один вариант воплощения может соответствовать видеокодированию Н.264, настоящее изобретение не ограничивается этим. Вместо этого варианты воплощения можно использовать в различных системах видеосжатия, включающих в себя MPEG-2 (ISO/IEC 13818-1 (2000) MPEG-2, доступных в Международной организации по стандартизации, Женева, Швейцария) и VC1 (SMPTE 421М (2006) доступных в SMPTE (ОИКВТ, Общество инженеров кино, видео и телевидения США), Уайт Плэйнс, штат Нью-Йорк 10601).
Кодер предоставляет информацию путем передачи или сохранения 14 видеоданных для использования декодером. Информация, которая может быть предоставлена, может включать в себя видеопоток уровня базовой линии (BL, БЛ), информацию обратного отображения тона (ITM, ООТ), отводы фильтра из адаптивной фильтрации 24 и видеопоток улучшенного уровня (EL, УУ). Некоторая информация может быть включена в заголовок пакета. Например, информация обратного отображения тона (ООТ) и информация отвода фильтра может быть предусмотрена в соответствующем заголовке при пакетной передаче данных.
После приема соответствующей информации в декодере 12 декодер 30 базовой линии декодирует информацию для N-битного отображения видеоданных в дисплее 32. Однако, если вместо этого будет предусмотрено оборудование для улучшенного уровня, может быть предусмотрен дисплей 40 с большей битовой глубиной. (Обычно два дисплея не могут быть включены в состав). Выход декодера основной линии, который имеет N-битные данные, преобразуют к видеоданные М-битов, используя модуль 34 обратного отображения тона, в который также подают информацию ООТ об обратном отображении тона, выполненным кодером 10.
Видеодекодер представляет собой самовыводящее устройство, поскольку информация, доступная для декодера, используется для кодирования. Декодер может оценивать ту же информацию для декодирования кодированной информации без поиска этой информации в кодере.
Обычно любой тип отображения тона можно использовать для повышения плотности битов видеоданных уровня базовой линии, включающих в себя масштабирование на основе обратного блока и обратное линейное отображение по частям.
Модуль производной 24 отображения тона, показанный на фиг.1, находит взаимозависимость между видеоданными большой/малой битовой глубины. Обычно взаимозависимость при отображении выводят через статистическое свойство из оригинальных видеоданных с большой битовой глубиной и из оригинальных видеоданных с малой битовой глубиной на стороне кодера.
Строят справочную таблицу (LUT, СПТ), используя пиксель х входных данных N с малой битовой глубиной и расположенный в этом же месте пиксель у входных данных М с большей битовой глубиной. Термин "расположеный в том же месте", как предполагается, обозначает пиксели в тех же местах положения в двух изображениях источников 16 и 26.
i
i
Для каждого пикселя х входных данных с малой битовой глубиной и расположенного в том же месте пикселя у входных данных с большой битовой глубиной, пусть
j
j
тогда j-ый вход для LUT [j]=sum/num.
j
-
+
-
+
Если (num=0), тогда LUT [j] представляет собой взвешенное среднее LUT [j] и LUT [j], где j и j, если доступны, представляют ближайших ненулевых соседей для j-х входных данных.
i
i
Вместо использования входного пикселя источника 16 с меньшей битовой глубиной декодированный выходной пиксель кодера 18 базового уровня используют со входными данными источника 26 с большей битовой глубиной для того, чтобы выработать СПТ отображения. Пиксель z представляет собой декодированные выходные данные N с меньшей битовой глубиной, и расположенный в том же месте входной пиксель у представляет собой входные данные М с большей битовой глубиной. Для каждого пикселя z в декодированных выходных данных с меньшей битовой глубиной и расположенного в том же месте пикселя у входных данных с большей битовой глубиной, пусть
j
j
тогда, j-й вход LUT [j]=sum/num.
j
-
Если (num=0), тогда LUT[j] представляет собой взвешенное среднее LUT[j]
+
-
+
и LUT[j], где j и j, если доступны, представляют собой ближайшие ненулевые соседние данные для j-х входных данных.
На фиг.2, с помощью адаптивной технологии содержания, с применением анализа содержания и фильтрации 42, получают СПТ отображения тона. Пиксель z представляет декодированные выходные данные с меньшей битовой глубиной N, и расположенный в том же месте входной пиксель у имеет большую битовую глубину М. Если отсутствуют краевые пиксели в непосредственной близости, окружающие целевой пиксель z, тогда целевой пиксель z может быть заменен фильтрованным пикселем f для получения СПТ отображения тона.
i
i
i
Для каждого пикселя х в декодированных выходных данных с меньшей битовой глубиной и расположенного в том же месте пикселя y во входных данных с большей битовой глубиной, если отсутствует краевой пиксель в непосредственной близости к х:
j
j
j-й вход LUT [j]=sum/num.
j
-
+
-
+
Если (num=0), тогда LUT [j] представляет собой взвешенное среднее LUT [j] и LUT [j], где j и j, если доступны, представляют собой ближайшие ненулевые соседи для j-х входных данных.
Оператор кромки Собеля используют для анализа содержания и фильтрации 42 в одном варианте воплощения. Допустим, что целевой пиксель z:
Краевую метрику (ЕМ) для целевого пикселя z формулируют как свертку взвешивания в уравнении, приведенном ниже с его соседями 3×3, NH9 (z), следующим образом:
ЕМ(z)=|NH9(z)*E_h|+|NH9(z)*E_v|+|NH9(z)*E_P45|+|NH9(z)*E_N45|
Использование двух направлений, E_v и E_h может быть достаточным для многих вариантов применения. Детектирование при 45 градусах дополнительно улучшает детектирование кромки, но с большей вычислительной сложностью.
Другие методики анализа содержания можно использовать для детектирования кромки, такие как алгоритм Кенни и алгоритм на основе производной.
На фиг.2 целевой пиксель фильтруют с поддержкой фильтра, поступающей из соседних пикселей. Линейный фильтр или средний фильтр в некоторых вариантах воплощения можно использовать с детектором кромки.
Определение соседства может быть естественно выровнено с определением размера блока, заданного в популярном стандарте видеокодирования, таком как МВК и Н.264. Размер блока может составлять 4×4, 8×4, 4×8 и 8×8, в качестве примеров. При таком выравнивании получение 24 отображения тона адаптируется по содержанию и основано на блоке. Хотя можно использовать соседство 3×3, другие соседние пиксели также можно использовать.
Таблица отображения тона может быть выведена на основе каналов яркости и цветности, соответственно. СПТ для яркости можно использовать для отображения пикселей яркости, и СПТ для цветности можно использовать для отображения пикселей цветности. В некоторых сценариях одну таблицу цветности совместно используют для каналов Сb и Сr, или можно использовать две отдельные таблицы для Сb и Сr, соответственно.
В некоторых вариантах воплощения взаимозависимость тона используют для прогнозирования пикселей с большей битовой глубиной путем использования декодированных пикселей с меньшей битовой глубиной и расположенных в том же месте входных пикселей с большей битовой глубиной. Путем использования декодированных пикселей с меньшей битовой глубиной, вместо входных пикселей с меньшей битовой глубиной, уменьшают объем остаточного кодирования, и достигается лучшая эффективность кодирования в некоторых вариантах воплощения.
Адаптивные к содержанию технологии используют соседние пиксели для получения фильтрованного пикселя как замену нефильтрованного декодированного пикселя для вывода взаимозависимости отображения тона. При использовании анализа соседства пиксели на другой кромке устраняют для того, чтобы получить более гладкие пиксели и лучшее прогнозирование пикселей с большей битовой глубиной в некоторых вариантах воплощения. Таким образом, в некоторых случаях получают большую эффективность кодирования. В связи с получаемым в результате самовыводом на стороне видеодекодера, в некоторых вариантах воплощения не требуется передавать какие-либо дополнительные служебные данные со стороны видеокодера на сторону видеодекодера.
Как показано на фиг.3, кодеры и декодеры, представленные на фиг.1 и 2, в одном варианте воплощения, могут представлять собой часть графического процессора 112. В некоторых вариантах воплощения кодеры и декодеры, показанные на фиг.1 и 2, могут быть воплощены в виде аппаратных средств, и в других вариантах воплощения они могут быть воплощены в виде программных средств или встроенного программного обеспечения. В случае воплощения в виде программных средств соответствующий код может быть сохранен в любом соответствующем полупроводниковом, магнитном или оптическом запоминающем устройстве, включая в себя основную память 132. Таким образом, в одном варианте воплощения, код 139 источника может быть сохранен в считываемом устройстве-носителе, таком как основное запоминающее устройство 132, для выполнения процессором, таким как процессор 100 или графический процессор 112.
Компьютерная система 130 может включать в себя привод 134 жесткого диска и съемный носитель 136, соединенный по шине 104 с основной логической схемой 110 набора микросхем. Основная логическая схема может быть подключена к графическому процессору 112 (через шину 105) и к основному процессору 100, в одном варианте воплощения. Графический процессор 112 также может быть соединен через шину 106 с буфером 114 кадра. Буфер 114 кадра может быть соединен с помощью шины 107 с экраном 118 отображения, который, в свою очередь, соединен через шину 108 с обычными компонентами, такими как клавиатура или мышь 120.
Блоки, обозначенные на фиг.1 и 2, могут составлять аппаратные средства или программные компоненты. В случае программных компонентов, на чертежах может быть обозначена последовательность инструкций, которые могут быть сохранены на считываемом компьютером носителе, таком как полупроводниковое запоминающее устройство в виде интегральной микросхемы, устройство - оптический накопитель или устройство - магнитный накопитель. В таком случае инструкции выполняют с помощью компьютера или в системе на основе процессора, который получает инструкции из накопителя и выполняет их. В некоторых случаях инструкции могут представлять собой встроенное программное обеспечение, которое может быть сохранено на соответствующем носителе записи. Один результат выполнения таких инструкций состоит в улучшении качества изображения, которое в конечном итоге отображают на экране дисплея.
Ссылки в данном описании на "один вариант воплощения" или "вариант воплощения" означают, что конкретное свойство, структура или характеристика, описанная в связи с вариантом воплощения, включена, по меньшей мере, в один из вариантов воплощения, охваченных настоящим изобретением. Таким образом, появление фразы "один вариант воплощения" или "в варианте воплощения" не обязательно представляет собой ссылку на тот же вариант воплощения. Кроме того, конкретные свойства, структуры или характеристики могут быть введены в других соответствующих формах, кроме конкретного описанного варианта воплощения, и все такие формы могут быть охвачены формулой изобретения настоящей заявки.
Хотя настоящее изобретение было описано в отношении ограниченного количества вариантов воплощения, для специалиста в данной области техники будут понятны различные модификации и их варианты. Предполагается, что приложенная формула изобретения охватывает все такие модификации и варианты, которые находятся в пределах истинной сущности и объема данного настоящего изобретения.