АДАПТИВНЫЙ ФИЛЬТР УВЕЛИЧЕНИЯ РЕЗКОСТИ ДЛЯ КОДИРОВАНИЯ С ПРЕДСКАЗАНИЕМ
ADAPTIVE SHARPENING FILTER FOR ENCODING WITH PREDICTION

ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение относится в целом к области обработки видео, и в частности, относится к видеокодеру и видеодекодеру для поддержки кодирования с предсказанием. Настоящее изобретение дополнительно относится к способу для кодирования с предсказанием видео и к способу для декодирования кодированного потока двоичных сигналов видео, полученного путем кодирования с предсказанием. Наконец, настоящее изобретение относится к компьютерной программе с программным кодом для выполнения такого способа.
УРОВЕНЬ ТЕХНИКИ
Известные видеосистемы используют кодирование с предсказанием для повышения эффективности кодирования и декодирования. Примеры кодирования с предсказанием включают в себя межслойное предсказание в масштабируемом кодировании видео и межкадровое предсказание.
Масштабируемый видеокодек - ответ промышленности связи на растущий спрос на потоковую передачу видео мобильными устройствами, включая смартфоны, планшеты или ноутбуки, а также другое оборудование с большим многообразием размеров экранов и вычислительных возможностей. Кроме того, современные системы передачи видео, использующие Интернет и сети мобильной связи, обычно отличаются широким диапазоном качества соединения, которое зависит от адаптивных механизмов совместного использования ресурсов. В таких гетерогенных средах с меняющимся качеством соединения и разными приемными устройствами желательна гибкая адаптация однажды кодированного контента.
В этой связи масштабируемый видеокодек формирует многослойный поток двоичных сигналов. Многослойная структура любого масштабируемого видеоконтента может задаваться как сочетание базового слоя и по меньшей мере одного дополнительного слоя улучшения. Базовый слой соответствует наименьшей поддерживаемой характеристике видео, тогда как слои улучшения предусматривают уточнение упомянутого базового слоя. Достигаемое слоями улучшения усовершенствование может относиться к качеству, частоте кадров или пространственному уточнению с более высоким пространственным разрешением.
Фиг. 1 показывает видеокодер 100 для межслойного кодирования с предсказанием последовательности видеокадров 101 в соответствии с известным уровнем техники, например, из масштабируемого кодирования видео H.265/SHVC. Кодер 100 содержит пространственный слой 102 улучшения для приема видеокадра 101 и формирования кодированного потока двоичных сигналов слоя улучшения. Кодер 100 дополнительно содержит фильтр 107 понижающей дискретизации для формирования видеокадра 111 с пониженной дискретизацией из видеокадра 101 и пространственный базовый слой 112 для приема видеокадра 111 с пониженной дискретизацией и для формирования кодированного потока двоичных сигналов базового слоя. Кодер 100 дополнительно содержит мультиплексный узел 118 для мультиплексирования кодированного потока двоичных сигналов слоя улучшения и кодированного потока двоичных сигналов базового слоя и формирования кодированного потока двоичных сигналов видео.
Пространственный базовый слой 112 содержит последовательные узлы, которыми являются узел 113 временного масштабируемого кодирования, принимающий видеокадр 111 с пониженной дискретизацией, узел 114 предсказания, узел 115 кодирования базового слоя, узел 116 масштабируемого кодирования SNR и фильтр 117 повышающей дискретизации. Соответствующие выходы узла 115 кодирования базового слоя и узла 116 масштабируемого кодирования SNR предоставляются в мультиплексный узел 118. Пространственный слой 102 улучшения содержит последовательные узлы, которыми являются узел 103 временного масштабируемого кодирования, принимающий видеокадр 101, узел 104 предсказания, узел 105 кодирования базового слоя и узел 106 масштабируемого кодирования SNR. Соответствующие выходы узла 105 кодирования базового слоя и узла 106 масштабируемого кодирования SNR предоставляются в мультиплексный узел 118.
Выход фильтра 117 повышающей дискретизации в пространственном базовом слое 112 соответствует блоку предсказания для межслойного предсказания и поступает в узел 104 предсказания в пространственном слое улучшения. Информация с базового слоя используется для увеличения коэффициента сжатия слоев улучшения. Результатом этого является то, что можно уменьшить скорость передачи битов у видеосигналов.
Однако такое известное межслойное предсказание для пространственного слоя улучшения использует повышающую дискретизацию кадра базового слоя. В силу этого кадр базового слоя с повышенной дискретизацией страдает от нечетких контуров и от малого количества высокочастотных деталей, поскольку такие детали отсутствуют в опорном кадре базового слоя. Кроме того, качество кадра с повышенной дискретизацией также зависит от свойств фильтра 117 повышающей дискретизации. Фильтры с короткими отводами могут подавлять высокие частоты и выдавать интерполированный кадр еще более нечетким. В противоположность им фильтры с длинными отводами могут сохранять высокие частоты, но формировать некоторое ложное оконтуривание возле резких контуров.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Признав вышеупомянутые недостатки и проблемы, настоящее изобретение стремится усовершенствовать данный уровень техники. В частности, задача настоящего изобретения состоит в том, чтобы предоставить видеокодер, способ кодирования, видеодекодер и способ декодирования для улучшенного кодирования и декодирования видеопотока.
Настоящее изобретение предназначено, в частности, для повышения эффективности кодирования с предсказанием. В частности, изобретение также предназначено для лучшего соответствия локальным признакам изображения. Дополнительная задача изобретения состоит в том, чтобы улучшить кодирование с предсказанием путем увеличения резкости контуров и уменьшения ложного оконтуривания в блоках предсказания адаптивно к локальному содержимому изображения.
Вышеупомянутая задача настоящего изобретения достигается с помощью решения, предоставленного в прилагаемых независимых пунктах формулы изобретения. Полезные реализации настоящего изобретения дополнительно задаются в соответствующих зависимых пунктах формулы изобретения.
Первый аспект настоящего изобретения предоставляет видеокодер для кодирования с предсказанием исходного блока исходного кадра в кодированный поток двоичных сигналов видео на основе блока предсказания, полученного из опорного кадра. Видеокодер содержит буфер, сконфигурированный для хранения исходного блока. Видеокодер содержит буфер, сконфигурированный для хранения блока предсказания. Видеокодер содержит адаптивный фильтр увеличения резкости, сконфигурированный для применения пространственной адаптивной фильтрации увеличения резкости к блоку предсказания.
В силу этого применение пространственного адаптивного фильтра увеличения резкости повышает эффективность предсказания и, например, эффективность межслойного или межкадрового предсказания. При условии, что наличие артефактов зависит от наличия контуров и от их интенсивности, полезно предоставить фильтр, который адаптируется к локальному содержимому изображения, то есть адаптируется к наличию и интенсивности контуров в блоках. Это решение также предусматривает адаптацию к локальным признакам для небольших областей кадра кодирования. При межслойном предсказании можно уменьшить ложное оконтуривание, вызванное фильтрами повышающей дискретизации, сохраняя при этом качество контуров. Можно уменьшить размывание контуров, вызванное предсказанием от кадра с меньшим разрешением. Также можно уменьшить служебную нагрузку сигнализации путем использования адаптивного фильтра увеличения резкости только с одним адаптивным коэффициентом. Служебную нагрузку сигнализации можно уменьшить, используя информацию об интенсивности контуров, вычисленную из уже переданного изображения базового слоя. Субъективное качество контуров можно повысить в восстановленных кадрах.
В одном виде реализации видеокодера, в соответствии с первым аспектом для кодирования с предсказанием множества исходных блоков исходного кадра в кодированный поток двоичных сигналов видео на основе, соответственно, множества блоков предсказания, полученных из опорного кадра, адаптивный фильтр увеличения резкости конфигурируется для наличия у него возможности применять разную фильтрацию увеличения резкости к каждому из множества блоков предсказания. В силу этого фильтр может адаптироваться к локальному содержимому изображения, то есть адаптироваться к наличию и интенсивности контуров в блоках.
В одном виде реализации видеокодера в соответствии с первым аспектом видеокодер подходит для межслойного кодирования с предсказанием масштабируемого видеоконтента, содержащего базовый слой и по меньшей мере один слой улучшения. Исходный кадр является кадром слоя улучшения. Опорный кадр является кадром восстановленного базового слоя. Видеокодер содержит фильтр повышающей дискретизации, сконфигурированный для повышения дискретизации опорного кадра, при этом блок предсказания является блоком опорного кадра с повышенной дискретизацией. В силу этого можно повысить эффективность межслойного предсказания.
В одном виде реализации видеокодера в соответствии с первым аспектом видеокодер подходит для межкадрового кодирования с предсказанием видеоконтента, содержащего последующие кадры. Исходный кадр является одним из последующих кадров. Опорный кадр является одним из восстановленных последующих кадров. Видеокодер содержит буфер, сконфигурированный для хранения опорного блока опорного кадра. Видеокодер содержит узел оценки движения, сконфигурированный для получения вектора движения, отражающего движение между опорным блоком и исходным блоком. Видеокодер содержит узел компенсации движения, сконфигурированный для формирования блока предсказания из опорного блока на основе вектора движения. В силу этого можно повысить эффективность межкадрового предсказания.
В одном виде реализации видеокодера в соответствии с первым аспектом видеокодер содержит узел управления, сконфигурированный для управления по меньшей мере одним из выборочного обхода адаптивного фильтра увеличения резкости и выборочного применения адаптивного фильтра увеличения резкости. Видеокодер содержит узел кодирования, сконфигурированный для добавления информации о фильтре увеличения резкости в кодированный поток двоичных сигналов видео, отражающей по меньшей мере одно из выборочного обхода и выборочного применения адаптивного фильтра увеличения резкости. В силу этого узел управления может принять решение применить или обойти фильтр увеличения резкости. Тогда решение можно приспособить к каждому конкретному случаю, например, к конкретному видеопотоку, который нужно кодировать. Также адаптивный фильтр увеличения резкости можно обходить для экономии вычислительных ресурсов видеокодера. С другой стороны, адаптивный фильтр увеличения резкости может применяться, если нужно отдать предпочтение, например, сокращению артефактов.
В одном виде реализации видеокодера в соответствии с первым аспектом узел кодирования конфигурируется для кодирования информации о фильтре увеличения резкости с использованием контекстно-адаптивного двоичного арифметического кодирования, CABAC. Видеокодер содержит узел оценки интенсивности контуров, сконфигурированный для оценки интенсивности контуров в блоке предсказания или опорном блоке опорного кадра. Видеокодер содержит переключатель контекста CABAC, сконфигурированный для выбора контекста CABAC в зависимости от оцененной интенсивности контуров.
В одном виде реализации видеокодера в соответствии с первым аспектом узел управления конфигурируется для управления по меньшей мере одним из выборочного обхода и выборочного применения на основе минимизации остаточного блока, при этом упомянутый остаточный блок является разностью между исходным блоком и блоком предсказания, или на основе стоимостного критерия, например, оптимизации искажения в зависимости от скорости. В силу этого возможность обхода или применения фильтра увеличения резкости может дополнительно использоваться для улучшения кодирования с предсказанием. Путем выбора варианта, который минимизирует остаточный блок, и путем соответственного применения или обхода фильтра увеличения резкости можно уменьшить количество данных и, например, количество коэффициентов преобразования, которое нужно кодировать.
В одном виде реализации видеокодера в соответствии с первым аспектом адаптивный фильтр увеличения резкости конфигурируется для управления им с помощью по меньшей мере одного адаптивного параметра. Видеокодер содержит узел управления, сконфигурированный для определения значения параметра у адаптивного параметра и передачи определенного значения параметра в адаптивный фильтр увеличения резкости. Видеокодер содержит узел кодирования, сконфигурированный для добавления информации об адаптивном параметре в кодированный поток двоичных сигналов видео касательно определенного значения параметра у адаптивного параметра. В силу этого можно оптимизировать адаптивный фильтр увеличения резкости, и одинаковая фильтрация может применяться кодером и декодером.
В одном виде реализации видеокодера в соответствии с первым аспектом узел управления конфигурируется для передачи разных значений параметра для адаптивного параметра и для выбора одного из разных значений параметра на основе минимизации остаточного блока, при этом упомянутый остаточный блок является разностью между исходным блоком и блоком предсказания, или на основе стоимостного критерия, например, оптимизации искажения в зависимости от скорости. В силу этого можно дополнительно оптимизировать адаптивный фильтр увеличения резкости.
В одном виде реализации видеокодера в соответствии с первым аспектом адаптивный фильтр увеличения резкости является нелинейным фильтром, сконфигурированным для управления им с помощью единственного адаптивного параметра. В силу этого можно уменьшить служебную нагрузку сигнализации.
В одном виде реализации видеокодера в соответствии с первым аспектом адаптивный фильтр увеличения резкости содержит узел вычисления карты контуров, выполненный с возможностью формирования карты контуров блока-источника, при этом упомянутый блок-источник является блоком предсказания или опорным блоком опорного кадра. Адаптивный фильтр увеличения резкости содержит фильтр размывания, выполненный с возможностью размывания карты контуров у блока-источника. Адаптивный фильтр увеличения резкости содержит фильтр верхних частот, выполненный с возможностью формирования производного вектора для каждого положения блока-источника путем фильтрации верхних частот карты нечетких контуров. Адаптивный фильтр увеличения резкости содержит узел масштабирования, выполненный с возможностью формирования вектора смещения путем масштабирования производного вектора с коэффициентом интенсивности увеличения резкости. Адаптивный фильтр увеличения резкости содержит узел деформирования, выполненный с возможностью деформации блока предсказания на основе вектора смещения. Адаптивный параметр включает в себя коэффициент интенсивности увеличения резкости. В силу этого данная структура адаптивного фильтра увеличения резкости задает нелинейный фильтр увеличения резкости, который может преимущественно обеспечить лучшие результаты в плане устранения ложного оконтуривания. Также использование коэффициента интенсивности увеличения резкости в качестве адаптивного параметра подразумевает, что необходим только один адаптивный параметр, что дополнительно уменьшает служебную нагрузку сигнализации.
В одном виде реализации видеокодера в соответствии с первым аспектом информация об адаптивном параметре и/или информация о фильтре увеличения резкости добавляется на уровне блока для каждого блока предсказания, для произвольной или постоянной области кадра, на уровне кадра, на уровне GOP (группа изображений), на уровне PPS (набор параметров изображения) или на уровне SPS (набор параметров последовательности). В силу этого можно задать информацию о фильтре увеличения резкости и/или информацию об адаптивном параметре с нужной детализацией, чтобы можно было оптимизировать сигнализацию.
Второй аспект настоящего изобретения предоставляет способ для кодирования с предсказанием исходного блока исходного кадра в кодированный поток двоичных сигналов видео на основе блока предсказания, полученного из опорного кадра. Способ содержит сохранение исходного блока. Способ содержит сохранение блока предсказания. Способ содержит этап адаптивного фильтра увеличения резкости, содержащий применение пространственной адаптивной фильтрации увеличения резкости к блоку предсказания.
Дополнительно признаки или реализации способа в соответствии со вторым аспектом изобретения могут выполнять функциональные возможности видеокодера в соответствии с первым аспектом изобретения и его разными видами реализации.
Третий аспект настоящего изобретения предоставляет видеодекодер для декодирования кодированного потока двоичных сигналов видео, полученного путем кодирования с предсказанием исходного блока исходного кадра на основе блока предсказания, полученного из восстановленного опорного кадра. Видеодекодер содержит узел декодирования, сконфигурированный для восстановления опорного кадра из кодированного потока двоичных сигналов видео. Видеодекодер содержит буфер, сконфигурированный для хранения блока предсказания, полученного из восстановленного опорного кадра. Видеодекодер содержит адаптивный фильтр увеличения резкости, сконфигурированный для применения пространственной адаптивной фильтрации увеличения резкости к блоку предсказания.
В силу этого преимущества, полученные по отношению к видеокодеру в соответствии с первым аспектом, также задаются по отношению к видеодекодеру в соответствии с третьим аспектом.
В одном виде реализации видеодекодера в соответствии с третьим аспектом видеодекодер подходит для декодирования кодированного потока двоичных сигналов видео, полученного путем межслойного кодирования с предсказанием масштабируемого видеоконтента, содержащего базовый слой и по меньшей мере один слой улучшения. Исходный кадр является кадром слоя улучшения. Опорный кадр является кадром восстановленного базового слоя. Видеодекодер содержит фильтр повышающей дискретизации, сконфигурированный для повышения дискретизации восстановленного опорного кадра, при этом блок предсказания является блоком опорного кадра с повышенной дискретизацией.
В одном виде реализации видеодекодера в соответствии с третьим аспектом видеодекодер подходит для декодирования кодированного потока двоичных сигналов видео, полученного путем межкадрового кодирования с предсказанием видеоконтента, содержащего последующие кадры. Исходный кадр является одним из последующих кадров. Опорный кадр является одним из восстановленных последующих кадров. Видеодекодер содержит буфер, сконфигурированный для хранения опорного блока извлеченного опорного кадра. Видеодекодер содержит узел декодирования, сконфигурированный для извлечения вектора движения, отражающего движение между опорным блоком и исходным блоком, из кодированного потока двоичных сигналов видео. Видеодекодер содержит узел компенсации движения, сконфигурированный для формирования блока предсказания из опорного блока на основе вектора движения.
В одном виде реализации видеодекодера в соответствии с третьим аспектом видеодекодер содержит узел декодирования, сконфигурированный для извлечения из кодированного потока двоичных сигналов видео информации о фильтре увеличения резкости, отражающей по меньшей мере одно из выборочного обхода адаптивного фильтра увеличения резкости и выборочного применения адаптивного фильтра увеличения резкости к блоку предсказания. Видеодекодер содержит узел управления, сконфигурированный для управления по меньшей мере одним из выборочного обхода и выборочного применения в зависимости от извлеченной информации о фильтре увеличения резкости. В силу этого можно обеспечить, что видеокодер и видеодекодер осуществляют одинаковое предсказание.
В одном виде реализации видеодекодера в соответствии с третьим аспектом узел декодирования конфигурируется для декодирования информации о фильтре увеличения резкости в соответствии с контекстно-адаптивным двоичным арифметическим кодированием, CABAC. Видеодекодер содержит узел оценки интенсивности контуров, сконфигурированный для оценки интенсивности контуров в блоке предсказания или опорном блоке опорного кадра. Видеодекодер содержит переключатель контекста CABAC, сконфигурированный для выбора контекста CABAC в зависимости от оцененной интенсивности контуров.
В одном виде реализации видеодекодера в соответствии с третьим аспектом адаптивный фильтр увеличения резкости конфигурируется для управления им с помощью по меньшей мере одного адаптивного параметра. Видеодекодер содержит узел декодирования, сконфигурированный для извлечения информации об адаптивном параметре из кодированного потока двоичных сигналов видео касательно значения параметра у адаптивного параметра. Видеодекодер содержит узел управления, сконфигурированный для управления адаптивным фильтром увеличения резкости в соответствии с извлеченной информацией об адаптивном параметре. В силу этого можно обеспечить, что видеокодер и видеодекодер осуществляют одинаковую адаптацию фильтра увеличения резкости, и что полученное видеодекодером видео соответствует видео, кодированному видеокодером.
В одном виде реализации видеодекодера в соответствии с третьим аспектом адаптивный фильтр увеличения резкости является нелинейным фильтром, сконфигурированным для управления им с помощью единственного адаптивного параметра. В силу этого можно дополнительно уменьшить служебную нагрузку сигнализации.
В одном виде реализации видеодекодера в соответствии с третьим аспектом адаптивный фильтр увеличения резкости содержит узел вычисления карты контуров, выполненный с возможностью формирования карты контуров блока-источника, при этом упомянутый блок-источник является блоком предсказания или опорным блоком опорного кадра. Адаптивный фильтр увеличения резкости содержит фильтр размывания, выполненный с возможностью размывания карты контуров у блока-источника. Адаптивный фильтр увеличения резкости содержит фильтр верхних частот, выполненный с возможностью формирования производного вектора для каждого положения блока-источника путем фильтрации верхних частот карты нечетких контуров. Адаптивный фильтр увеличения резкости содержит узел масштабирования, выполненный с возможностью формирования вектора смещения путем масштабирования производного вектора с коэффициентом интенсивности увеличения резкости. Адаптивный фильтр увеличения резкости содержит узел деформирования, выполненный с возможностью деформации блока предсказания на основе вектора смещения. Адаптивный параметр включает в себя коэффициент интенсивности увеличения резкости. В силу этого можно уменьшить артефакты, сохраняя при этом ограниченную служебную нагрузку сигнализации.
В одном виде реализации видеодекодера в соответствии с третьим аспектом информация об адаптивном параметре и/или информация о фильтре увеличения резкости извлекается на уровне блока для каждого блока предсказания, для произвольной или постоянной области кадра, на уровне кадра, на уровне GOP (группа изображений), на уровне PPS (набор параметров изображения) или на уровне SPS (набор параметров последовательности). В силу этого можно задать информацию о фильтре увеличения резкости и/или информацию об адаптивном параметре с нужной детализацией, чтобы можно было оптимизировать сигнализацию.
Четвертый аспект настоящего изобретения предоставляет способ для декодирования кодированного потока двоичных сигналов видео, полученного путем кодирования с предсказанием исходного блока исходного кадра на основе блока предсказания, полученного из восстановленного опорного кадра. Способ содержит этап декодирования, содержащий восстановление опорного кадра из кодированного потока двоичных сигналов видео. Способ содержит сохранение блока предсказания, полученного из восстановленного опорного кадра. Способ содержит этап адаптивного фильтра увеличения резкости, содержащий применение пространственной адаптивной фильтрации увеличения резкости к блоку предсказания.
Дополнительно признаки или реализации способа в соответствии с четвертым аспектом изобретения могут выполнять функциональные возможности видеодекодера в соответствии с третьим аспектом изобретения и его разными видами реализации.
Пятый аспект настоящего изобретения предоставляет компьютерную программу с программным кодом для выполнения такого способа кодирования и/или декодирования, когда компьютерная программа выполняется на вычислительном устройстве.
Нужно отметить, что все устройства, элементы, узлы и средства, описанные в настоящей заявке, можно было бы реализовать в элементах программного обеспечения или аппаратных средств, или в любом виде их сочетания. Все этапы, которые выполняются различными сущностями, описанными в настоящей заявке, а также описанные функциональные возможности для выполнения различными сущностями подразумевают, что соответствующая сущность приспособлена или сконфигурирована для выполнения соответствующих этапов и функциональных возможностей. Даже если в нижеследующем описании характерных вариантов осуществления определенные функциональные возможности или этап, которые должны быть полностью образованы сущностями, не отражены в описании определенного подробного элемента той сущности, которая выполняет тот определенный этап или функциональные возможности, специалисту должно быть понятно, что эти способы и функциональные возможности можно реализовать в соответствующих элементах программного обеспечения или аппаратных средств, или в любом виде их сочетания.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Вышеприведенные аспекты и виды реализации настоящего изобретения будут объясняться в нижеследующем описании характерных вариантов осуществления относительно прилагаемых чертежей, на которых
Фиг. 1 показывает общее представление видеокодера для межслойного кодирования с предсказанием в соответствии с уровнем техники,
Фиг. 2 показывает общее представление видеокодера для межслойного кодирования с предсказанием в соответствии с вариантом осуществления настоящего изобретения,
Фиг. 3 показывает фильтр увеличения резкости в соответствии с вариантом осуществления настоящего изобретения,
Фиг. 4 показывает видеокодер для межслойного кодирования с предсказанием в соответствии с вариантом осуществления настоящего изобретения,
Фиг. 5 показывает видеодекодер для межслойного кодирования с предсказанием в соответствии с вариантом осуществления настоящего изобретения,
Фиг. 6 показывает видеокодер для межкадрового кодирования с предсказанием в соответствии с вариантом осуществления настоящего изобретения,
Фиг. 7 показывает видеодекодер для межкадрового кодирования с предсказанием в соответствии с вариантом осуществления настоящего изобретения,
Фиг. 8 показывает способ кодирования видео в соответствии с вариантом осуществления настоящего изобретения, и
Фиг. 9 показывает способ декодирования видео в соответствии с вариантом осуществления настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
В соответствии с общим вариантом осуществления настоящего изобретения предлагается видеокодер для кодирования с предсказанием исходного блока исходного кадра в кодированный поток двоичных сигналов видео на основе блока предсказания, полученного из опорного кадра. Видеокодер содержит буфер, сконфигурированный для хранения исходного блока, буфер, сконфигурированный для хранения блока предсказания, и адаптивный фильтр увеличения резкости, сконфигурированный для применения пространственной адаптивной фильтрации увеличения резкости к блоку предсказания.
В частности, для кодирования с предсказанием множества исходных блоков исходного кадра в кодированный поток двоичных сигналов видео на основе, соответственно, множества блоков предсказания, полученных из опорного кадра, адаптивный фильтр увеличения резкости конфигурируется для наличия у него возможности применять разную фильтрацию увеличения резкости к каждому из множества блоков предсказания.
В соответствии с общим вариантом осуществления настоящего изобретения предлагается видеодекодер для декодирования кодированного потока двоичных сигналов видео, полученного путем кодирования с предсказанием исходного блока исходного кадра на основе блока предсказания, полученного из восстановленного опорного кадра. Видеодекодер содержит узел декодирования, сконфигурированный для восстановления опорного кадра из кодированного потока двоичных сигналов видео, буфер, сконфигурированный для хранения блока предсказания, полученного из восстановленного опорного кадра, и адаптивный фильтр увеличения резкости, сконфигурированный для применения пространственной адаптивной фильтрации увеличения резкости к блоку предсказания.
Аналогичным образом для декодирования с предсказанием множества исходных блоков исходного кадра на основе, соответственно, множества блоков предсказания, полученных из восстановленного опорного кадра, адаптивный фильтр увеличения резкости конфигурируется для наличия у него возможности применять разную фильтрацию увеличения резкости к каждому из множества блоков предсказания.
Фиг. 2 показывает общее представление видеокодера 200 в соответствии с вариантом осуществления настоящего изобретения. В частности, фиг. 2 показывает видеокодер 200 для межслойного кодирования с предсказанием масштабируемого видеоконтента, содержащего базовый слой и по меньшей мере один слой улучшения.
Видеокодер 200 содержит пространственный слой 202 улучшения для приема видеокадра 201 и формирования кодированного потока двоичных сигналов слоя улучшения. Кодер 200 дополнительно содержит фильтр 208 понижающей дискретизации для формирования видеокадра 211 с пониженной дискретизацией из видеокадра 201 и пространственный базовый слой 212 для приема видеокадра 211 с пониженной дискретизацией и для формирования кодированного потока двоичных сигналов базового слоя. Кодер 200 дополнительно содержит мультиплексный узел 218 для мультиплексирования кодированного потока двоичных сигналов слоя улучшения и кодированного потока двоичных сигналов базового слоя и формирования кодированного потока двоичных сигналов видео.
Пространственный базовый слой 212 содержит узел 213 временного масштабируемого кодирования, принимающий видеокадр 211 с пониженной дискретизацией, где видеокадр 211 с пониженной дискретизацией представляет меньшее разрешение, чем видеокадр 201. Выход узла 213 временного масштабируемого кодирования поступает в узел 214 предсказания, который предоставляет сигнал предсказания на основе временной масштабированной кодированной версии видеокадра 211 с пониженной дискретизацией в узел 215 кодирования базового слоя. Результат узла 215 кодирования базового слоя предоставляется в узел 216 масштабируемого кодирования SNR. Соответствующие выходы узла 215 кодирования базового слоя и узла 216 масштабируемого кодирования SNR предоставляются в мультиплексный узел 218.
Пространственный слой 202 улучшения содержит последовательные узлы, которыми являются узел 203 временного масштабируемого кодирования, принимающий видеокадр 201, узел 204 предсказания, узел 205 кодирования базового слоя и узел 206 масштабируемого кодирования SNR. Соответствующие выходы узла 205 кодирования базового слоя и узла 206 масштабируемого кодирования SNR предоставляются в мультиплексный узел 218. Мультиплексный узел 218 формирует кодированный поток двоичных сигналов видео путем мультиплексирования выхода узла 215 кодирования базового слоя, узла 216 масштабируемого кодирования SNR, узла 205 кодирования базового слоя и узла 206 масштабируемого кодирования SNR.
В соответствии с настоящим изобретением блок предсказания, сформированный фильтром 217 повышающей дискретизации, поступает в адаптивный фильтр 219 увеличения резкости, сконфигурированный для применения пространственной адаптивной фильтрации увеличения резкости к блоку предсказания. Выходом фильтра 217 повышающей дискретизации в пространственном базовом слое 212 является блок предсказания для межслойного кодирования с предсказанием видеокадра 201 в пространственном слое 202 улучшения. Блок предсказания, сформированный фильтром 217 повышающей дискретизации, а также блок предсказания с увеличенной резкостью, сформированный адаптивным фильтром 219 увеличения резкости, предпочтительно передаются в переключатель 220, который подключается к узлу 204 предсказания в пространственном слое 202 улучшения. Кодирование с предсказанием видеокадра 201 в пространственном слое 202 улучшения может выборочно основываться на выходе фильтра 217 повышающей дискретизации или на выходе адаптивного фильтра 219 увеличения резкости.
Ниже изобретение будет описываться по отношению к фиг. 4 и 5, показывающим соответственно видеокодер и декодер для межслойного кодирования с предсказанием в соответствии с вариантом осуществления настоящего изобретения, и по отношению к фиг. 6 и 7, показывающим соответственно видеокодер и декодер для межкадрового кодирования с предсказанием в соответствии с вариантом осуществления настоящего изобретения. Фиг. 3 показывает вариант осуществления адаптивного фильтра увеличения резкости, например, в видеокодере для межслойного кодирования с предсказанием или видеокодере для межкадрового кодирования с предсказанием из фиг. 4 и 6.
Фиг. 4 показывает видеокодер 400 в соответствии с вариантом осуществления настоящего изобретения, и в частности, видеокодер 400 для межслойного кодирования с предсказанием масштабируемого видеоконтента, содержащего базовый слой и по меньшей мере один слой улучшения.
Видеокодер 400 подходит для кодирования с предсказанием исходного блока исходного кадра в кодированный поток двоичных сигналов видео на основе блока предсказания, полученного из опорного кадра. Видеокодер 400 содержит буфер 401, сконфигурированный для хранения исходного блока, буфер 408, сконфигурированный для хранения блока предсказания, и адаптивный фильтр 409 увеличения резкости, сконфигурированный для применения пространственной адаптивной фильтрации увеличения резкости к блоку предсказания.
Применительно к межслойному кодированию с предсказанием исходный кадр является кадром слоя улучшения, а опорный кадр является кадром восстановленного базового слоя. Видеокодер 400 дополнительно содержит фильтр 407 повышающей дискретизации, сконфигурированный для повышения дискретизации восстановленного базового слоя, то есть для повышения дискретизации опорного кадра. Блок предсказания, сохраненный в буфере 408, является блоком опорного кадра с повышенной дискретизацией.
В частности, исходный кадр является кадром слоя улучшения, который кодируется в настоящее время, и его можно получить, например, из видеокадра 201 в видеокодере 200 из фиг. 2. С другой стороны, опорный кадр является кадром базового слоя, который был кодирован и восстановлен. Восстановленный кадр базового слоя можно получить в видеокодере 200 из фиг. 2 с помощью пространственного базового слоя 212 из видеокадра 211 с пониженной дискретизацией. Ниже любую ссылку на признак "кадр" можно заменять ссылкой на признак "изображение".
Исходный блок, сохраненный в буфере 401, и блок предсказания, сохраненный в буфере 408, и в более общем смысле все блоки настоящего изобретения предпочтительно образуют соответствующую область или подобласть кадра. Например, исходный блок является областью или подобластью исходного кадра, тогда как блок предсказания является областью или подобластью опорного кадра с повышенной дискретизацией, который сформирован фильтром 407 повышающей дискретизации. Такой блок может обладать правильной формой, например прямоугольной формой, или неправильной формой. В качестве альтернативы блок может иметь такой же размер, как и кадр. Все блоки, и особенно исходный блок и блок предсказания, имеют одинаковый размер. Размер блоков может задаваться посредством информации о режиме блока, передаваемой декодеру в качестве дополнительной информации или данных сигнализации кодированного потока двоичных сигналов видео. Блок может соответствовать единице кодирования, которая является базовой структурой кодирования видеопоследовательности предопределенного размера, содержащей часть кадра, например 64×64 пикселей.
В частности, видеокодер 400 содержит дополнительные узлы для поддержки кодирования видео с предсказанием. Например, видеокодер 400 содержит узел 404 преобразования и квантования для формирования коэффициентов преобразования посредством преобразования в частотную область и квантования тех коэффициентов, а также энтропийный кодер или узел 405 энтропийного кодирования для энтропийного кодирования квантованных коэффициентов, например, вместе с данными сигнализации. Входом узла 404 преобразования и квантования является остаточный блок, который может храниться в выделенном буфере 403. Остаточный блок формируется узлом 402 вычитания и задается как разность между исходным блоком, сохраненным в буфере 401, и либо блоком предсказания, сохраненным в буфере 408, либо блоком предсказания с увеличенной резкостью, сформированным адаптивным фильтром 409 увеличения резкости.
Видеокодер 400 дополнительно содержит узел 410 управления и узел 414 кодирования. Узел 410 управления конфигурируется для управления по меньшей мере одним из выборочного обхода адаптивного фильтра 409 увеличения резкости и выборочного применения адаптивного фильтра 409 увеличения резкости. Узел 414 кодирования конфигурируется для добавления информации о фильтре увеличения резкости в кодированный поток двоичных сигналов видео, отражающей по меньшей мере одно из выборочного обхода и выборочного применения адаптивного фильтра 409 увеличения резкости. Информация о фильтре увеличения резкости предпочтительно имеет вид признака применения/обхода увеличения резкости.
С помощью узла 410 управления можно выборочно обходить и/или выборочно применять адаптивный фильтр 409 увеличения резкости. Если применяется адаптивный фильтр 409 увеличения резкости, то адаптивный фильтр 409 увеличения резкости формирует блок предсказания с увеличенной резкостью, а остаточный блок получается по разности исходного блока и блока предсказания с увеличенной резкостью, который выводится адаптивным фильтром 409 увеличения резкости. Если адаптивный фильтр 409 увеличения резкости обходят, то остаточный блок получается по разности исходного блока и блока предсказания, который хранится в буфере 408.
В частности, узел 410 управления конфигурируется для управления по меньшей мере одним из выборочного обхода и выборочного применения на основе минимизации остаточного блока или на основе стоимостного критерия, например, оптимизации искажения в зависимости от скорости. Стоимостной критерий может применяться, в частности, к остаточному блоку, полученному из блока предсказания с увеличенной резкостью, который выводится адаптивным фильтром 409 увеличения резкости, и к остаточному блоку, полученному из блока предсказания, сохраненного в буфере 408. В зависимости от результата функции стоимости можно либо применять, либо обходить адаптивный фильтр 409 увеличения резкости.
Решение узла 410 управления обойти или применить адаптивный фильтр 409 увеличения резкости может передаваться в виде данных сигнализации в кодированном потоке двоичных сигналов видео, сформированном узлом кодирования или узлом 405 энтропийного кодирования. Узел 410 управления передает информацию о фильтре увеличения резкости в узел 414 кодирования, который добавляет информацию о фильтре увеличения резкости в виде данных сигнализации в кодированный поток двоичных сигналов видео, сформированный узлом 405 кодирования.
В качестве альтернативы адаптивный фильтр 409 увеличения резкости может применяться всегда. Это означает, что остаточный блок всегда получается по разности исходного блока и блока предсказания с увеличенной резкостью, который выводится адаптивным фильтром 409 увеличения резкости. Очевидно, что в этом случае не требуется никакой дополнительной сигнализации о применении или обходе адаптивного фильтра увеличения резкости.
Узел 414 кодирования конфигурируется, в частности, для кодирования информации о фильтре увеличения резкости с использованием контекстно-адаптивного двоичного арифметического кодирования, CABAC. Видеокодер 400 дополнительно содержит узел 411, 412 оценки интенсивности контуров, сконфигурированный для оценивания интенсивности контуров в блоке предсказания, и переключатель 413 контекста CABAC, сконфигурированный для выбора контекста CABAC в зависимости от оцененной интенсивности контуров. Например, узел 411, 412 оценки интенсивности контуров содержит первый узел 411 для построения карты контуров блока предсказания и второй узел 412 для оценивания интенсивности контуров у карты контуров.
Кроме того, адаптивный фильтр 409 увеличения резкости конфигурируется для управления им с помощью по меньшей мере одного адаптивного параметра. Узел 410 управления конфигурируется для определения значения параметра у адаптивного параметра и передачи определенного значения параметра в адаптивный фильтр 409 увеличения резкости. Видеокодер 400 также содержит узел 415 кодирования, который конфигурируется для добавления информации об адаптивном параметре в кодированный поток двоичных сигналов видео касательно определенного значения параметра у адаптивного параметра.
В частности, узел 410 управления конфигурируется для передачи разных значений параметра для адаптивного параметра и для выбора одного из разных значений параметра на основе минимизации остаточного блока или на основе стоимостного критерия, например, оптимизации искажения в зависимости от скорости.
Решение о применении или обходе адаптивного фильтра 409 увеличения резкости и решение о значении адаптивного параметра в случае применения фильтра увеличения резкости сигнализируется декодеру кодированного потока двоичных сигналов видео посредством информации о фильтре увеличения резкости и информации об адаптивном параметре. Эта сигнализация может выполняться для разных частей видеоконтента. Таким образом, информация об адаптивном параметре и/или информация о фильтре увеличения резкости может добавляться на уровне блока для каждого блока предсказания, для произвольной или постоянной области кадра, на уровне кадра, на уровне GOP (группа изображений), на уровне PPS (набор параметров изображения) или на уровне SPS (набор параметров последовательности). Детализация информации об адаптивном параметре и/или информации о фильтре увеличения резкости может меняться.
Вариант осуществления адаптивного фильтра 409 увеличения резкости показан на фиг. 3. Показанный на фиг. 3 адаптивный фильтр 300 увеличения резкости предпочтительно является нелинейным фильтром. Использование нелинейного фильтра увеличения резкости вместо линейного фильтра предпочтительно для удаления артефактов, вызванных фильтром передискретизации и квантованием опорного кадра. Выбор нелинейного фильтра может уменьшить количество адаптивных параметров у адаптивного фильтра 300 увеличения резкости. В частности, нелинейный фильтр может использовать только один адаптивный параметр, чтобы сократить служебную нагрузку сигнализации у кодированного потока двоичных сигналов видео. Хотя настоящее изобретение также охватывает использование более одного адаптивного параметра для управления адаптивным фильтром увеличения резкости, особенно преимущественным вариантом осуществления является адаптивный фильтр увеличения резкости, использующий только один адаптивный параметр.
В частности, адаптивный фильтр 300 увеличения резкости содержит узел 301, 302 вычисления карты контуров, фильтр 304 размывания, фильтр 305 верхних частот, узел 306 масштабирования и узел 307 деформирования.
Узел 301, 302 вычисления карты контуров приспособлен для формирования карты контуров блока-источника, при этом упомянутый блок-источник является блоком предсказания, сохраненным в буфере 408, и на фиг. 3 называется блоком базового слоя с повышенной дискретизацией. Фильтр 304 размывания приспособлен для размывания карты контуров блока-источника. Фильтр 305 верхних частот приспособлен для формирования производного вектора (d2x, d2y) для каждого положения блока-источника путем фильтрации верхних частот карты нечетких контуров. Узел 306 масштабирования приспособлен для формирования вектора смещения (wx, wy) путем масштабирования производного вектора (d2x, d2y) с коэффициентом k интенсивности увеличения резкости. Узел 307 деформирования приспособлен для деформации блока предсказания на основе вектора смещения (wx, wy).
В силу этого адаптивным параметром, управляющим адаптивным фильтром 300 увеличения резкости, является коэффициент k интенсивности увеличения резкости. Показанный на фиг. 3 адаптивный фильтр 300 увеличения резкости является вариантом осуществления настоящего изобретения только с одним адаптивным параметром.
Узел 301, 302 вычисления карты контуров может содержать узел 301 градиентного вектора, выполненный с возможностью формирования градиентного вектора (dx, dy) для каждого положения блока-источника, и узел 302 длины градиентного вектора, выполненный с возможностью вычисления длины градиентного вектора (dx, dy) в каждом положении, чтобы сформировать карту контуров блока-источника. В силу этого данная структура предусматривает формирование карты контуров, которая может дополнительно обрабатываться фильтром размывания, фильтром верхних частот и узлом масштабирования, чтобы сформировать деформирующий вектор смещения.
Градиентный вектор можно получить путем взятия первой производной отдельно для dx и dy, то есть отдельно для горизонтального и вертикального направления блока-источника, путем применения соответствующего фильтр Прюитта в соответствии со следующими уравнениями:
Карту контуров можно получить с помощью узла 302 длины градиентного вектора путем вычисления длины градиентного вектора в соответствии со следующим уравнением:
Фильтр 300 увеличения резкости преимущественно содержит узел 303 отсечения, выполненный с возможностью отсечения карты контуров блока-источника, при этом упомянутый узел 303 отсечения располагается между узлом 301, 302 вычисления карты контуров и фильтром 304 размывания. В силу этого отсечение карты контуров по пороговым величинам полезно в том, что оно предотвращает обработку очень больших и малых значений деформирующих векторов.
Этап размывания усеченной карты контуров можно получить с помощью фильтра 304 размывания в виде фильтра Гаусса, который можно задать следующим образом:
Фильтр верхних частот используется для получения второй производной отдельно для d2x и d2y, например, в соответствии со следующим:
Вектор смещения (wx, wy) получается путем масштабирования вектора второй производной (d2x, d2y) с коэффициентом k, где коэффициент k можно рассматривать как интенсивность увеличения резкости, в соответствии со следующими уравнениями:
Узел 307 деформирования включает в себя интерполирующий фильтр, который является, например, билинейным интерполирующим фильтром. Узел 307 деформирования использует вектор смещения, сформированный узлом 306 масштабирования.
Узел 308 вычитания приспособлен для создания разности между блоком предсказания с увеличенной резкостью, сформированным узлом 307 деформирования, и исходным блоком, сохраненным в буфере 401, при этом упомянутый исходный блок соответствует блоку, который нужно кодировать. Узел 308 вычитания фактически формирует остаточный блок. Адаптивный фильтр 300 увеличения резкости или узел 410 управления, управляющий адаптивным фильтром 300 увеличения резкости, приспособлен для отыскания оптимальной интенсивности k увеличения резкости, например, путем минимизации остаточного блока или по стоимостному критерию, например, на основе искажения в зависимости от скорости.
Возвращаясь к фиг. 4, видеокодер 400 конфигурируется для выбора во время оптимизации наиболее оптимального адаптивного параметра у адаптивного фильтра 409 увеличения резкости, и решение о применении или обходе адаптивного фильтра увеличения резкости для межслойного предсказания могло бы приниматься по минимальной ошибке предсказания или по стоимостному (скорость/искажение) критерию.
Видеокодер 400 представляет, в частности, процесс обработки, который может выглядеть следующим образом:
- Блок предсказания получается путем восстановления и повышающей дискретизации кадра базового слоя.
- Карта контуров блока предсказания формируется, например, узлом 301, 302 вычисления карты контуров в адаптивном фильтре увеличения резкости. В качестве альтернативы карта контуров может формироваться узлом 411 в узле 411, 412 оценки интенсивности контуров, при этом упомянутый узел 411 располагается вне адаптивного фильтра 409 увеличения резкости.
- Выполняется адаптация фильтра увеличения резкости, то есть выбор адаптивного параметра. Сформированная карта контуров могла бы использоваться преимущественно для адаптации фильтрации.
- Принимается решение, например, узлом 410 управления, о типе предсказания, при этом тип предсказания состоит в применении или обходе адаптивного фильтра 409 увеличения резкости. Решение может основываться на показателе качества предсказания, например минимальной остаточной ошибке, или на стоимостном критерии, например, стоимостном критерии на основе скорости/искажения.
- Уже сформированная карта контуров используется для оценивания интенсивности контуров в блоке предсказания. Интенсивность контуров оценивается, например, путем усреднения значений карты контуров блока предсказания.
- Оцененная интенсивность контуров используется в качестве переключения контекста для CABAC, а тип предсказания, состоящий в применении или обходе адаптивного фильтра 409 увеличения резкости, кодируется в виде информации о фильтре увеличения резкости. Другими словами, тип предсказания сжимается с использованием CABAC при переключении контекста, управляемом интенсивностью контуров. Переключение контекста может выполняться путем сравнения оцененной интенсивности контуров с заданной пороговой величиной. Если оцененная интенсивность контуров больше пороговой величины, то используется первый контекст. Если оцененная интенсивность контуров меньше пороговой величины, то используется второй контекст. В преимущественных вариантах осуществления может использоваться более двух уровней интенсивности контуров и больше соответствующих контекстов CABAC.
- Если применяется адаптивный фильтр 409 увеличения резкости, то интенсивность увеличения резкости кодируется в виде информации об адаптивном параметре.
- Коэффициенты вычисляются для остаточного блока с помощью узла 404 преобразования и квантования, и эти коэффициенты кодируются узлом 405 кодирования.
Фиг. 5 показывает видеодекодер в соответствии с вариантом осуществления настоящего изобретения, в частности, видеодекодер 500 для межслойного декодирования с предсказанием.
Видеодекодер 500 подходит для декодирования кодированного потока двоичных сигналов видео, полученного путем кодирования с предсказанием исходного блока исходного кадра на основе блока предсказания, полученного из восстановленного опорного кадра. Видеодекодер 500 содержит узел декодирования, сконфигурированный для восстановления опорного кадра из кодированного потока двоичных сигналов видео, буфер 514, сконфигурированный для хранения блока предсказания, полученного из восстановленного опорного кадра, и адаптивный фильтр 507 увеличения резкости, сконфигурированный для применения пространственной адаптивной фильтрации увеличения резкости к блоку предсказания.
Применительно к межслойному декодированию с предсказанием исходный кадр является кадром слоя улучшения, а опорный кадр является кадром восстановленного базового слоя. Видеодекодер 500 дополнительно содержит фильтр 513 повышающей дискретизации, сконфигурированный для повышения дискретизации восстановленного базового слоя, то есть для повышения дискретизации опорного кадра. Блок предсказания, сохраненный в буфере 514, является блоком опорного кадра с повышенной дискретизацией.
Видеодекодер 500 дополнительно содержит узел 512 декодирования, сконфигурированный для извлечения информации о фильтре увеличения резкости из кодированного потока двоичных сигналов видео, отражающей по меньшей мере одно из выборочного обхода адаптивного фильтра 507 увеличения резкости и выборочного применения адаптивного фильтра 507 увеличения резкости. Видеодекодер 500 содержит узел 508 управления, сконфигурированный для управления по меньшей мере одним из выборочного обхода и выборочного применения в зависимости от извлеченной информации о фильтре увеличения резкости. Информация о фильтре увеличения резкости может иметь вид признака применения/обхода увеличения резкости. В качестве альтернативы адаптивный фильтр 507 увеличения резкости может применяться всегда.
В частности, узел 512 декодирования конфигурируется для декодирования информации о фильтре увеличения резкости в соответствии с CABAC. Видеодекодер содержит узел 510, 511 оценки интенсивности контуров, сконфигурированный для оценивания интенсивности контуров в блоке предсказания. Видеодекодер содержит переключатель 509 контекста CABAC, сконфигурированный для выбора контекста CABAC в зависимости от оцененной интенсивности контуров. В частности, узел 510, 511 оценки интенсивности контуров может содержать первый узел 511 для построения карты контуров блока предсказания и второй узел 510 для оценивания интенсивности контуров на основе карты контуров.
Адаптивный фильтр 507 увеличения резкости конфигурируется, в частности, для управления им с помощью по меньшей мере одного адаптивного параметра. Видеодекодер дополнительно содержит узел 506 декодирования, сконфигурированный для извлечения информации об адаптивном параметре касательно значения параметра адаптивного параметра из кодированного потока двоичных сигналов видео, и в частности, из кодированного потока двоичных сигналов слоя улучшения. Узел 508 управления конфигурируется для управления адаптивным фильтром 507 увеличения резкости в соответствии с извлеченной информацией об адаптивном параметре.
Адаптивный фильтр 507 увеличения резкости в видеодекодере 500 предпочтительно представляет собой такую же структуру и такие же узлы, как показанный на фиг. 3 адаптивный фильтр 300 увеличения резкости, со следующими отличиями. Отличие между двумя этими фильтрами состоит в том, что адаптивный фильтр 507 увеличения резкости предпочтительно не содержит узел 308 вычитания. Кроме того, в видеодекодере 500 адаптивный параметр, то есть коэффициент k, не задается посредством узла 308 вычитания и минимизации остаточного блока. Вместо этого адаптивный параметр устанавливается в видеодекодере 500 предпочтительно в зависимости от информации об адаптивном параметре, извлеченной в виде данных сигнализации из кодированного потока двоичных сигналов.
Видеодекодер 500 может содержать дополнительные узлы, которыми являются узел 501 декодирования для декодирования принятого кодированного потока двоичных сигналов слоя улучшения и, соответственно, для получения квантованных остаточных коэффициентов преобразования. Квантованные остаточные коэффициенты преобразования поступают в узел 502 обратного квантования и обратного преобразования, чтобы сформировать остаточный блок, сохраняемый в буфере 503. Остаточный блок добавляется сумматором 504 к выходу управляющего узла 508. Затем в зависимости от извлеченной информации о фильтре увеличения резкости остаточный блок добавляется к блоку предсказания, сохраненному в буфере 514, или к блоку предсказания с увеличенной резкостью, выведенному адаптивным фильтром 507 увеличения резкости. Тогда выходом сумматора 504 является восстановленный блок слоя улучшения.
Видеодекодер 500 представляет, в частности, процесс обработки, который может выглядеть следующим образом:
- Блок предсказания получается путем восстановления и повышающей дискретизации кадра базового слоя.
- Карта контуров блока предсказания формируется, например, узлом 301, 302 вычисления карты контуров в адаптивном фильтре увеличения резкости. В качестве альтернативы карта контуров может формироваться узлом 511 в узле 511, 512 оценки интенсивности контуров, при этом упомянутый узел 511 располагается вне адаптивного фильтра 509 увеличения резкости.
- Сформированная карта контуров используется для оценивания интенсивности контуров в блоке предсказания. Интенсивность контуров оценивается, например, путем усреднения значений карты контуров блока предсказания.
- Оцененная интенсивность контуров используется в качестве переключения контекста для CABAC, и декодируется тип предсказания, состоящий в применении или обходе адаптивного фильтра 507 увеличения резкости, то есть информация о фильтре увеличения резкости. Переключение контекста может выполняться путем сравнения оцененной интенсивности контуров с заданной пороговой величиной. Если оцененная интенсивность контуров больше пороговой величины, то используется первый контекст. Если оцененная интенсивность контуров меньше пороговой величины, то используется второй контекст. В преимущественных вариантах осуществления может использоваться более двух уровней интенсивности контуров и больше соответствующих контекстов CABAC.
- Если на основе информации о фильтре увеличения резкости определяется, что применяется адаптивный фильтр 507 увеличения резкости, то декодируется интенсивность увеличения резкости, то есть информация об адаптивном параметре. Адаптивный фильтр 507 увеличения резкости применяется с декодированной интенсивностью увеличения резкости. Уже сформированная карта контуров могла бы использоваться для увеличения резкости, чтобы сэкономить ресурсы.
- Остаточный блок декодируется посредством узлов 501, 502, 503. В зависимости от информации о фильтре увеличения резкости остаточный блок добавляется к блоку предсказания или к блоку предсказания с увеличенной резкостью, чтобы получить восстановленный блок слоя улучшения.
Фиг. 6 показывает видеокодер 600 для межкадрового кодирования с предсказанием в соответствии с вариантом осуществления настоящего изобретения.
Видеокодер 600 подходит для кодирования с предсказанием исходного блока исходного кадра в кодированный поток двоичных сигналов видео на основе блока предсказания, полученного из опорного кадра. Видеокодер 600 содержит буфер 601, сконфигурированный для хранения исходного блока, буфер 608, сконфигурированный для хранения блока предсказания, и адаптивный фильтр 609 увеличения резкости, сконфигурированный для применения пространственной адаптивной фильтрации увеличения резкости к блоку предсказания.
Применительно к межкадровому кодированию с предсказанием видеоконтента, содержащего последующие кадры, исходный кадр является одним из последующих кадров, а опорный кадр является одним из восстановленных последующих кадров. Видеокодер 600 содержит буфер 606, сконфигурированный для хранения опорного блока опорного кадра. Видеокодер 600 содержит узел 616 оценки движения, сконфигурированный для получения вектора движения, отражающего движение между опорным блоком и исходным блоком, и узел 607 компенсации движения, сконфигурированный для формирования блока предсказания из опорного блока на основе вектора движения.
Остальная структура и узлы видеокодера 600 аналогичны структуре и узлам видеокодера 400. Видеокодер 600 содержит узел 610 управления, аналогичный узлу 410 управления. Видеокодер 600 содержит узел 614 кодирования, аналогичный узлу 414 кодирования. Видеокодер 600 содержит узел 611, 612 оценки интенсивности контуров, аналогичный узлу 411, 412 оценки интенсивности контуров, и переключатель 613 контекста CABAC, аналогичный переключателю 413 контекста CABAC. Видеокодер 600 содержит узел 615 кодирования, аналогичный узлу 415 кодирования. Аналогичным образом видеокодер также содержит узел 602 вычитания для формирования остаточного блока, буфер 603 для остаточного блока, узел 604 преобразования и квантования и узел 605 кодирования для кодирования квантованных коэффициентов.
Отличие между видеокодером 600 и видеокодером 400 состоит в том, что в качестве опорного кадра используется ранее кодированный кадр вместо кадра базового слоя с повышенной дискретизацией. Кроме того, для получения блока предсказания применяется компенсация движения. Компенсация движения преимущественно содержит интерполяцию движения.
В отличие от структуры видеокодера 400 узел 611, 612 оценки интенсивности контуров может оценивать интенсивность контуров опорного блока вместо оценки интенсивности контуров блока предсказания.
Также адаптивный фильтр увеличения резкости из фиг. 3 может использоваться в качестве адаптивного фильтра 609 увеличения резкости в видеокодере 600. Хотя узел 301, 302 вычисления карты контуров в видеокодере 400 приспособлен для формирования карты контуров блока-источника, являющегося блоком предсказания, блок-источник адаптивного фильтра увеличения резкости в видеокодере 600 может быть либо блоком предсказания, либо, в качестве альтернативы, опорным блоком. В соответствии с этой альтернативой вектор смещения (wx, wy) выводится из опорного блока, а затем деформирование применяется к блоку предсказания с использованием полученного вектора смещения, что полезно в том, что экономит вычислительные ресурсы на стороне кодера.
Кроме этих отличий и альтернатив между видеокодером 400 и 600, описанные выше дополнительные аспекты со ссылкой на видеокодер 400 также применяются к видеокодеру 600.
Видеокодер 600 представляет, в частности, процесс обработки, который может выглядеть следующим образом:
- Вектор движения получается с помощью процедуры оценки движения.
- Формируется карта контуров опорного блока.
- Выполняется адаптация фильтра увеличения резкости, то есть выбор адаптивного параметра. Сформированная карта контуров могла бы использоваться преимущественно для фильтрации.
- Принимается решение, например, узлом 610 управления, о типе предсказания, при этом тип предсказания состоит в применении или обходе адаптивного фильтра 609 увеличения резкости. Решение может основываться на показателе качества предсказания, например минимальной остаточной ошибке, или на стоимостном критерии, например, стоимостном критерии на основе скорости/искажения.
- Уже сформированная карта контуров используется для оценивания интенсивности контуров у опорного блока. Интенсивность контуров оценивается, например, путем усреднения значений карты контуров опорного блока.
- Оцененная интенсивность контуров используется в качестве переключения контекста для CABAC, а тип предсказания, состоящий в применении или обходе адаптивного фильтра 609 увеличения резкости, кодируется в виде информации о фильтре увеличения резкости. Переключение контекста может выполняться путем сравнения оцененной интенсивности контуров с заданной пороговой величиной. Если оцененная интенсивность контуров больше пороговой величины, то используется первый контекст. Если оцененная интенсивность контуров меньше пороговой величины, то используется второй контекст. В преимущественных вариантах осуществления может использоваться более двух уровней интенсивности контуров и больше соответствующих контекстов CABAC.
- Если применяется адаптивный фильтр 609 увеличения резкости, то интенсивность увеличения резкости кодируется в виде информации об адаптивном параметре.
- Коэффициенты вычисляются для остаточного блока с помощью узла 604 преобразования и квантования, и эти коэффициенты кодируются узлом 605 кодирования.
Фиг. 7 показывает видеодекодер в соответствии с вариантом осуществления настоящего изобретения, в частности, видеодекодер 700 для межкадрового декодирования с предсказанием.
Видеодекодер 700 подходит для декодирования кодированного потока двоичных сигналов видео, полученного путем кодирования с предсказанием исходного блока исходного кадра на основе блока предсказания, полученного из восстановленного опорного кадра. Видеодекодер 700 содержит узел декодирования, сконфигурированный для восстановления опорного кадра из кодированного потока двоичных сигналов видео, буфер 714, сконфигурированный для хранения блока предсказания, полученного из восстановленного опорного кадра, и адаптивный фильтр 707 увеличения резкости, сконфигурированный для применения пространственной адаптивной фильтрации увеличения резкости к блоку предсказания.
Применительно к декодированию кодированного потока двоичных сигналов видео, полученного путем межкадрового кодирования с предсказанием видеоконтента, содержащего последующие кадры, исходный кадр является одним из последующих кадров, а опорный кадр является одним из восстановленных последующих кадров. Видеодекодер 700 содержит буфер 715, сконфигурированный для хранения опорного блока извлеченного опорного кадра, узел 716 декодирования, сконфигурированный для извлечения из кодированного потока двоичных сигналов видео вектора движения, отражающего движение между опорным блоком и исходным блоком, и узел 713 компенсации движения, сконфигурированный для формирования блока предсказания из опорного блока на основе вектора движения.
Видеодекодер 700 дополнительно содержит узел 712 декодирования, сконфигурированный для извлечения информации о фильтре увеличения резкости из кодированного потока двоичных сигналов видео, отражающей по меньшей мере одно из выборочного обхода адаптивного фильтра 707 увеличения резкости и выборочного применения адаптивного фильтра 707 увеличения резкости. Видеодекодер 700 содержит узел 708 управления, сконфигурированный для управления по меньшей мере одним из выборочного обхода и выборочного применения в зависимости от извлеченной информации о фильтре увеличения резкости. Информация о фильтре увеличения резкости может иметь вид признака применения/обхода увеличения резкости. В качестве альтернативы адаптивный фильтр 707 увеличения резкости может применяться всегда.
В частности, узел 712 декодирования конфигурируется для декодирования информации о фильтре увеличения резкости в соответствии с CABAC. Видеодекодер содержит узел 710 оценки интенсивности контуров, сконфигурированный для оценивания интенсивности контуров на основе карты контуров, вычисленной узлом 711, используя опорный блок, сохраненный в буфере 715. Видеодекодер содержит переключатель 709 контекста CABAC, сконфигурированный для выбора контекста CABAC в зависимости от оцененной интенсивности контуров. В частности, узел 710, 711 оценки интенсивности контуров может содержать первый узел 711 для построения карты контуров опорного блока и второй узел 710 для оценивания интенсивности контуров на основе карты контуров.
Адаптивный фильтр 707 увеличения резкости конфигурируется, в частности, для управления им с помощью по меньшей мере одного адаптивного параметра. Видеодекодер дополнительно содержит узел 706 декодирования, сконфигурированный для извлечения информации об адаптивном параметре из кодированного потока двоичных сигналов видео касательно значения параметра у адаптивного параметра. Узел 708 управления конфигурируется для управления адаптивным фильтром 707 увеличения резкости в соответствии с извлеченной информацией об адаптивном параметре.
Адаптивный фильтр 707 увеличения резкости в видеодекодере 700 предпочтительно представляет собой такую же структуру, как и адаптивный фильтр 609 увеличения резкости в видеокодере 600, со следующими отличиями. Отличие между двумя этими фильтрами состоит в том, что адаптивный фильтр 707 увеличения резкости предпочтительно не содержит узел 308 вычитания. Кроме того, в видеодекодере 700 адаптивный параметр, то есть коэффициент k, не задается посредством узла 708 вычитания и минимизации остаточного блока. Вместо этого адаптивный параметр устанавливается в видеодекодере 700 предпочтительно в зависимости от информации об адаптивном параметре, извлеченной в виде данных сигнализации из кодированного потока двоичных сигналов.
Видеодекодер 700 может содержать дополнительные узлы, которыми являются узел 701 декодирования для декодирования принятого кодированного потока двоичных сигналов и, соответственно, для получения квантованных остаточных коэффициентов преобразования. Квантованные остаточные коэффициенты преобразования поступают в узел 702 обратного квантования и обратного преобразования, чтобы сформировать остаточный блок, сохраняемый в буфере 703. Остаточный блок добавляется сумматором 704 к выходу управляющего узла 708. Затем в зависимости от извлеченной информации о фильтре увеличения резкости остаточный блок добавляется к блоку предсказания, сохраненному в буфере 714, или к блоку предсказания с увеличенной резкостью, выведенному адаптивным фильтром 707 увеличения резкости. Тогда выходом сумматора 704 является восстановленный блок заданного кадра.
Видеодекодер 700 представляет, в частности, процесс обработки, который может выглядеть следующим образом:
- Вектор движения получается в виде данных сигнализации из кодированного потока двоичных сигналов видео.
- Карта контуров формируется из опорного блока.
- Сформированная карта контуров используется для оценивания интенсивности контуров у опорного блока. Интенсивность контуров оценивается, например, путем усреднения значений карты контуров.
- Оцененная интенсивность контуров используется в качестве переключения контекста для CABAC, и декодируется тип предсказания, состоящий в применении или обходе адаптивного фильтра 707 увеличения резкости, то есть информация о фильтре увеличения резкости. Переключение контекста может выполняться путем сравнения оцененной интенсивности контуров с заданной пороговой величиной. Если оцененная интенсивность контуров больше пороговой величины, то используется первый контекст. Если оцененная интенсивность контуров меньше пороговой величины, то используется второй контекст. В преимущественных вариантах осуществления может использоваться более двух уровней интенсивности контуров и больше соответствующих контекстов CABAC.
- Если на основе информации о фильтре увеличения резкости определяется, что применяется адаптивный фильтр 707 увеличения резкости, то декодируется интенсивность увеличения резкости, то есть информация об адаптивном параметре. Адаптивный фильтр 707 увеличения резкости применяется с декодированной интенсивностью увеличения резкости. Уже сформированная карта контуров могла бы использоваться для увеличения резкости, чтобы сэкономить ресурсы.
- Остаточный блок декодируется посредством узлов 701, 702, 703. В зависимости от информации о фильтре увеличения резкости остаточный блок добавляется к блоку предсказания или к блоку предсказания с увеличенной резкостью, чтобы получить восстановленный блок заданного кадра.
Фиг. 8 показывает способ кодирования видео в соответствии с вариантом осуществления настоящего изобретения.
Способом кодирования видео является способ 800 для кодирования с предсказанием исходного блока исходного кадра в кодированный поток двоичных сигналов видео на основе блока предсказания, полученного из опорного кадра.
Способ содержит сохранение 801 исходного блока.
Способ содержит сохранение 802 блока предсказания.
Способ содержит этап 803 адаптивного фильтра увеличения резкости, содержащий применение пространственной адаптивной фильтрации увеличения резкости к блоку предсказания.
Фиг. 9 показывает способ декодирования видео в соответствии с вариантом осуществления настоящего изобретения.
Способом кодирования видео является способ 900 для декодирования кодированного потока двоичных сигналов видео, полученного путем кодирования с предсказанием исходного блока исходного кадра на основе блока предсказания, полученного из восстановленного опорного кадра.
Способ содержит этап 901 декодирования, содержащий восстановление опорного кадра из кодированного потока двоичных сигналов видео.
Способ содержит этап 902 сохранения блока предсказания, полученного из восстановленного опорного кадра.
Способ содержит этап 903 адаптивного фильтра увеличения резкости, содержащий применение пространственной адаптивной фильтрации увеличения резкости к блоку предсказания.
Настоящее изобретение описано в сочетании с различными вариантами осуществления в качестве примеров, а также реализаций. Однако специалисты в данной области техники, путем применения на практике заявленного изобретения и из изучения чертежей, данного раскрытия изобретения и независимых пунктов формулы изобретения, могут представить и осуществить другие изменения. В формуле изобретения, а также в описании слово "содержащий" не исключает других элементов или этапов, а форма единственного числа не исключает множества. Один элемент или другой узел может выполнять функции нескольких сущностей или элементов, перечисленных в формуле изобретения. Сам факт, что некоторые критерии перечисляются во взаимно разных зависимых пунктах формулы изобретения, не указывает на то, что сочетание этих критериев нельзя использовать в полезной реализации.