Способ и устройство для видеокодирования

Изобретение относится к вычислительной технике. Технический результат − обеспечение последовательности фильтров для уменьшения объема сигнализации и чрезмерного сглаживания. Устройство для конфигурирования последовательности фильтров для видеокодирования содержит: последовательность фильтров, которые конфигурируют первичными параметрами и вторичными параметрами; и контроллер фильтра, регулирующий вторичные параметры на основании первичных параметров и на основании критерия мощности последовательности фильтров, в котором критерий мощности содержит: отношение коэффициента усиления для высокочастотной области и коэффициента усиления для низкочастотной области и/или отношение значения контрастности перед фильтрованием и значения контрастности после фильтрации. 3 н. и 10 з.п. ф-лы, 16 ил.

 

Область техники, к которой относится изобретение

Настоящее изобретение относится к устройству для видеокодирования и к способу конфигурирования последовательности фильтров для видеокодирования.

Настоящее изобретение также относится к машиночитаемому носителю информации, хранящий программный код, причем программный код содержит инструкции для осуществления способа для конфигурирования последовательности фильтров для видеокодирования.

Уровень техники

Приложения цифровой видеосвязи и хранения реализуют посредством применения широкого спектра цифровых устройств, например, цифровых камер, сотовых радиотелефонов, ноутбуков, систем вещания, систем видеоконференцсвязи и т. д. Одной из наиболее важных и сложных задач при использовании этих приложений является процесс сжатия видео. Задача сжатия видео сложна и ограничена двумя противоречивыми параметрами: эффективностью сжатия и вычислительной сложностью. Стандарты видеокодирования, такие как ITU-T H.264/AVC или ITU-T H.265/HEVC, обеспечивают хороший компромисс между этими параметрами.

Современные стандарты видеокодирования, в основном, основаны на разбивке исходного изображения на блоки. Процесс обработки этих блоков зависит от их размера, пространственного положения и режима кодирования, заданного кодером. Режимы кодирования можно разделить на две группы в соответствии с типом предсказания: режимы внутреннего и внешнего предсказания. В режимах внутреннего предсказания используют пиксели одного и того же изображения для генерирования опорных отсчетов для вычисления значений предсказания для пикселей восстанавливаемого блока. Внутреннее предсказание можно также назвать пространственным предсказанием. Режимы внешнего предсказания предназначены для временного предсказания и используют опорные отсчеты предшествующих или следующих изображений для предсказания пикселей блока текущего изображения.

В виду наличия различных типов избыточности, процессы предсказания для внутреннего и внешнего кодирования являются различными. Внутреннее предсказание обычно формирует одномерный буфер опорных отсчетов. Внешнее предсказание обычно использует суб-пиксельную интерполяцию двумерного массива опорных пикселей. Для улучшения результатов предсказания могут применять дополнительную обработку, как для внутреннего, так и для внешнего кодирования (например, сглаживание опорных отсчетов для внутреннего предсказания, повышение резкости опорных блоков для внешнего предсказания).

Недавно принятый ITU-T H.265/HEVC стандарт (ISO/IEC 23008-2: 2013, «Информационные технологии - высокоэффективное кодирование и доставка мультимедиа в гетерогенных средах - часть 2: высокоэффективное видеокодирование», ноябрь 2013 г.) определяет набор современных инструментов видекодирования, которые обеспечивают разумный компромисс между эффективностью кодирования и сложностью вычислений.

Подобно стандарту видеокодирования ITU-T H.264/AVC, стандарт видеокодирования HEVC/H.265 обеспечивает разбивку исходного изображения на блоки, например, блоки кодирования (CUs). Каждый из CUs может быть дополнительно разделен либо на меньшие CUs, либо на блоки предсказания (PUs). PU может быть обработан, либо посредством внутреннего, либо внешнего предсказания, в соответствии с типом обработки, применяемой для пикселей PU. В случае внешнего предсказания, PU представляет собой область пикселей, которую обрабатывают посредством компенсации движения, используя вектор движения, указанный для PU. Для внутреннего предсказания PU задает режим предсказания для набора блоков преобразования (TUs). TU может иметь разные размеры (например, 4x4, 8x8, 16x16 и 32x32 пикселей) и может обрабатываться по-разному. Для TU преобразования выполняют процесс кодирования, то есть, ошибку предсказания преобразуют дискретным косинусным преобразованием (DCT) и квантуют. Следовательно, восстановленные пиксели содержат шум квантования и артефакты блокинга, которые могут влиять на точность предсказания.

Чтобы уменьшить уровень данного влияния на внутреннее предсказание, в HEVC/H.265 был предложен процесс фильтрации опорных пикселей. Для внешнего предсказания опорные пиксели вычисляют с использованием суб-пиксельной интерполяции. Процесс сглаживания опорных пикселей, в случае компенсации движения, может быть объединен с процессом фильтрации-сглаживания суб-пиксельной интерполяции.

Были представлены технологии сглаживания в адаптивном режиме внутреннего предсказания. Процесс фильтрация-сглаживание зависит от выбранного режима внутреннего предсказания и флага, закодированного в битовом потоке видео. В зависимости от определенного режима внутреннего предсказания для блока, опорные отсчеты могут быть либо сглажены фильтром, либо использованы без изменения. В случае сглаживания опорных отсчетов, выбор сглаживающего фильтра может основываться также на режиме внутреннего предсказания. Дополнительно, этот выбор может выполняться в соответствии со значением флага, восстановленного из битового потока.

В текущем HEVC/H.265 стандарте настоящую технологию используют частично. В частности, фильтр сглаживания отключают для нескольких комбинаций внутреннего режима и размера блока.

В качестве расширения фильтра опорных отсчетов, принятого для HEVC/H.265 стандарта, был предложен адаптивный фильтр опорных отсчетов (RSAF). Перед сглаживанием данный адаптивный фильтр разбивает на сегменты опорные отсчеты для применения различных фильтров к различным сегментам. Дополнительно, использовалась процедура сокрытия данных для сигнализации флага сглаживания. Была принята упрощенная версия адаптивного фильтра для опорных отсчетов для модели 1 совместного исследования (JEM1), которая содержит несколько другие инструменты, которые используют сглаживание, включающие в себя:

- четырехканальный фильтр внутренней интерполяции,

- фильтры граничного предсказания, и/или

- многопараметрическое внутреннее предсказание (MPI), которое может быть

заменено на пространственно-зависимую комбинацию внутреннего предсказания (PDPC).

Недостатки вышеуказанных способов включают в себя наличие значительного объема сигнализации и чрезмерного сглаживания видео во время кодирования или декодирования.

Сущность изобретения

Целью настоящего изобретения является обеспечение устройства для видеокодирования и способа для конфигурирования последовательности фильтров для видеокодирования, в котором устройство для видеокодирования и способ для конфигурирования последовательности фильтров устраняют один или несколько из вышеупомянутых недостатков.

Первый аспект изобретения предусматривает устройство для видеокодирования, содержащее:

- последовательность фильтров, которые конфигурируют одним или несколькими первичными параметрами и одним или несколькими вторичными параметрами, и

- контроллер фильтра, выполненный с возможностью регулировать один или несколько вторичных параметров на основании одного или нескольких первичных параметров и на основании критерия мощности последовательности фильтров.

Устройство для видеокодирования по первому аспекту может регулировать один или несколько вторичных параметров для удовлетворения критерия мощности последовательности фильтров. Например, как указано ниже, критерий мощности может относиться к общей сглаженности, и контроллер фильтра может устанавливать вторичные параметры таким образом, чтобы общая сглаженность последовательности этапов фильтрации была не слишком высокой и не слишком низкой. Другими словами, контроллер фильтра может быть выполнен с возможностью обеспечивать способ нахождения критерия мощности последовательности фильтров в заданном диапазоне.

Устройство для видеокодирования по первому аспекту может быть выполнено с возможностью кодировать и/или декодировать видео.

Контроллер фильтра может быть выполнен с возможностью устанавливать только частично один или несколько вторичных параметров. Например, вторичный параметр может быть считан из битового потока или пользовательской установки и отрегулирован, например, в пределах определенного диапазона контроллером фильтра. В других вариантах осуществления контроллер фильтра также может быть выполнен с возможностью переопределять значение вторичного параметра, который был получен иначе, например, из битового потока или пользовательской установки.

В предшествующем уровне техники негармоничная работа инструментов видеокодирования, включающая в себя RSAF, может привести к чрезмерному сглаживанию, что

- снижает общую производительность кодирования, поскольку следующий фильтр не учитывает эффекты, вызванные предшествующими фильтрами, и/или

- увеличивает общую вычислительную сложность, так как все вышеупомянутые фильтры постоянно включены.

Данная техническая задача может быть решена с помощью устройства для видеокодирования по первому аспекту. Кроме того, поскольку не требуется сохранять вторичные параметры в битовом потоке, в некоторых вариантах осуществления объем сигнализации может быть снижен.

В предпочтительном варианте осуществления устройство для видеокодирования по первому аспекту может решить упомянутую задачу чрезмерного сглаживания путем регулировки параметра тех фильтров последовательности фильтров, которые используют сглаживание. Данная регулировка может быть выполнена, например, путем введения флага или некоторых условий для фильтров, которые используют сглаживание. Можно использовать флаг и/или условия для

- включения и выключения механизмов сглаживания и/или

- изменения степени сглаживания фильтров (например, переход от сильных фильтров к слабым).

Контроллер фильтра устройства для видеокодирования по первому аспекту может быть выполнен с возможностью управлять не только одним фильтром, но и несколькими фильтрами. Это можно рассматривать как механизм для гармонизации работы различных фильтров, которые влияют на результаты внутреннего предсказания, например, путем сглаживания. В частности, контроллер фильтра может быть выполнен с возможностью выполнять следующие регулировки:

- механизм обработки отсчета может быть изменен, поскольку некоторые модули фильтров могут быть отключены с учетом значения флага и/или выполнения некоторых условий;

- может быть введен новый модуль фильтра для обеспечения управления всеми фильтрами, которые могут влиять на результаты внутреннего предсказания посредством сглаживания.

В первом варианте осуществления устройства для видеокодирования по первому аспекту критерий мощности содержит:

- критерий сглаженности,

- отношение коэффициента усиления для высокочастотной области и коэффициента усиления для низкочастотной области, и/или

- отношение значения контрастности до фильтрации и значение контрастности после фильтрации.

Это позволяет оптимизировать последовательность фильтров для одного или нескольких из вышеперечисленных критериев. Как указано выше, предпочтительно контроллер фильтр может выполнять регулировку таким образом, чтобы критерий мощности последовательности фильтров находился в определенном диапазоне, например, в заданном диапазоне.

Во втором варианте осуществления устройства для видекодирования по первому аспекту один или несколько первичных параметров являются заданными параметрами, в частности, параметрами, которые заданы из кодированного битового потока, пользовательской установки и/или цикла поиска параметров на устройстве для кодирования.

Определение вторичных параметров из первичных параметров, в которых, например, заданы только первичные параметры, имеет преимущество, заключающееся в том, что объем сигнализации может быть снижен. Например, битовая скорость может быть снижена, если вторичные параметры не сохраняют в битовом потоке, но могут быть получены из первичных параметров в битовом потоке.

В третьем варианте осуществления устройства для видеокодирования по первому аспекту последовательность фильтров содержит один или несколько первичных фильтров, которые конфигурируют одним или несколькими первичными параметрами, и один или несколько вторичных фильтров, которые могут быть сконфигурированы одним или несколькими вторичными параметрами, в котором один или несколько первичных фильтров расположены последовательно перед одним или несколькими вторичными фильтрами.

Регулировка параметров фильтров на более поздних этапах имеет преимущество, заключающееся в том, что эффект работы фильтров на более ранних этапах может быть ослаблен или, по меньшей мере, не будет интенсифицироваться. Например, если фильтры на раннем этапе обеспечили определенную степень сглаживания, то можно рассматривать, что фильтры на более поздних этапах не усилили эффект сглаживания. Например, флаг сглаживания фильтров на более поздних этапах может быть отключен.

В других вариантах осуществления изобретения первичные параметры могут относиться к фильтрам на более поздних этапах и вторичные параметры к фильтрам на ранних этапах процесса обработки.

В четвертом варианте осуществления устройства для видекодирования по первому аспекту последовательность фильтров содержит:

- фильтр опорных отсчетов, выполненный с возможностью адаптивно фильтровать один или несколько соседних отсчетов текущего блока видео для получения одного или нескольких опорных отсчетов, и

- фильтр интерполяции, выполненный с возможностью предсказывать один или несколько отсчетов текущего блока видео с использованием интерполяции одного или нескольких опорных отсчетов,

в котором один или несколько первичных параметров содержат опорный параметр фильтра опорных отсчетов, и один или несколько вторичных параметров содержат параметр выбора фильтра интерполяции, в котором фильтр интерполяции выполнен с возможностью использовать способ интерполяции согласно параметру выбора.

Последовательность фильтров устройства для видеокодирования четвертого варианте осуществления может быть, например, последовательностью фильтров для внутреннего предсказания.

Предпочтительно, контроллер фильтра выполнен с возможностью определять параметр выбора на основании опорного параметра. Очевидно, что представлен эффективный способ улучшения общего критерия мощности фильтра.

В пятом варианте осуществления устройства для видеокодирования по первому аспекту один или несколько первичных параметров включают в себя флаг фильтра опорных отсчетов фильтра опорных отсчетов, и один или несколько вторичных параметров включают в себя параметр мощности фильтра интерполяции фильтра интерполяции внутреннего предсказания.

Предпочтительно, контроллер фильтра выполнен с возможностью определять параметр мощности фильтра на основании флага фильтра опорных отсчетов. Очевидно, что представлен эффективный способ улучшения общего критерия мощности фильтра.

В шестом варианте осуществления устройства для видекодирования по первому аспекту последовательность фильтров содержит фильтр сглаживания границ, который выполнен с возможностью выполнять процесс сглаживания границ для одного или нескольких блоков преобразования, которые принадлежат к одному или нескольким блокам предсказания, которые удовлетворяют размерному ограничению.

Преимущество заключается в том, что фильтр сглаживания границ уменьшает видимость артефактов блокинга для восстановленных блоков. Блок предсказания, как правило, содержит область изображения определенного типа: контур, текстуру, сглаженную область и т.д. Однако для более крупных PUs вероятность появления сглаженной области выше. Для сглаженных областей артефакты блокинга имеют более важное значение и, следовательно, процесс сглаживание границ для больших PUs является более предпочтительным, чем для более мелких. Следовательно, предлагают ограничить сглаживание границ размером PU (например, размером 32x32 пикселя). С помощью этого ограничения можно, с одной стороны, избежать нежелательного размытия для несглаженных областей меньших PUs, а с другой стороны, уменьшить артефакты блокинга для больших PUs. Это позволяет улучшить как объективное, так и субъективное качество обработки по сравнению со случаем, когда задана степень сглаживания границ для внутреннего предсказания.

В седьмом варианте осуществления устройства для видеокодирования по первому аспекту один или несколько первичных параметров включают в себя параметр направления предсказанного блочного фильтра, и один или несколько вторичных параметров включают в себя параметр включения-выключения фильтра сглаживания границ.

Предпочтительно, контроллер фильтра выполнен с возможностью определять параметр включения-выключения фильтра сглаживания границ на основании параметра направления предсказанного блочного фильтра. Как показано, представлен эффективный способ улучшения общего критерия мощности фильтра.

В восьмом варианте осуществления устройства для видеокодирования по первому аспекту последовательность фильтров содержит:

- фильтр суб-пиксельной интерполяции, выполненный с возможностью адаптивно фильтровать отсчеты опорного блока для получения интерполированного опорного блока, и

- фильтр нижних частот и/или фильтр верхних частот, выполненный с возможностью сглаживать и/или повышать резкость интерполированного опорного блока для получения отфильтрованного опорного блока,

в котором один или несколько первичных параметров содержат параметр интерполяции фильтра интерполяции, и один или несколько вторичных параметров содержат параметр выбора фильтров повышения резкости и/или сглаживания, в котором отклонение вторичных параметров определяют параметром фильтра интерполяции.

Последовательность фильтров устройства для видеокодирования по восьмому варианту осуществления может быть, например, последовательностью фильтров для внешнего предсказания.

Предпочтительно, контроллер фильтра выполнен с возможностью определять параметр выбора фильтров повышения резкости и/или сглаживания на основании параметра интерполяции. Очевидно, что представлен эффективный способ улучшения общего критерия сглаживания.

Следует отметить, что критерий сглаживания последовательности фильтров также может быть зависимым от положения. Например, фильтр может обеспечить высокую степень сглаживания в одной области и высокую степень резкости в другой области. Таким образом, контроллер фильтра может быть выполнен с возможностью устанавливать различные вторичные параметры для разных областей одного или нескольких кадров изображения видео.

В девятом варианте осуществления устройства для видеокодирования по первому аспекту последовательность фильтров содержит адаптивный контурный фильтр, выполненный с возможностью использовать выбранную кодовую книгу для указания одного или более коэффициентов фильтра в битовом потоке, в котором контроллер фильтра выполнен с возможностью выбирать кодовую книгу из множества кодовых книг на основании одного или нескольких первичных параметров.

Коэффициенты адаптивного контурного фильтра, кодируемые множеством кодовых книг, используют преимущества предшествующей информации об обработке, которая была применена к входному сигналу адаптивного контурного фильтра. Если сглаживание уже было применено к сигналу, обрабатываемому адаптивным контурным фильтром, то адаптивный контурный фильтр может выполнять только фильтрацию верхних частот. Поэтому некоторые комбинации коэффициентов адаптивного контурного фильтра становятся недоступными. Это свойство используют для сохранения двух или более кодовых книг соответственно, по меньшей мере, для двух случаев: когда применяют адаптивный контурный фильтр к уже сглаженному входному сигналу, и когда не был выполнен процесс сглаживания входного сигнала адаптивного контурного фильтра.

Например, множество кодовых книг может содержать первую и вторую кодовые книги, в котором первая кодовая книга содержит только коэффициенты как для фильтрации верхних частот, так и для низких частот, и вторая кодовая книга содержит только коэффициенты для фильтрации нижних частот.

В предпочтительном варианте осуществления множество кодовых книг содержит более двух кодовых книг, в котором предпочтительно, чтобы различные кодовые книги из множества кодовых книг соответствовали разным значениям мощности фильтрации фильтров, применяемых перед ALF.

В десятом варианте реализации устройства для видеокодирования согласно девятому варианту осуществления первого аспекта последовательность фильтров дополнительно содержит:

- фильтр деблокинга, выполненный с возможностью обрабатывать вертикальные края на основании параметра мощности фильтра на вертикальных и/или горизонтальных краях на основании параметра мощности фильтра по горизонтали, и

- фильтр адаптивного смещения отсчета, SAO, выполненный с возможностью классифицировать пиксели и добавлять значения смещения в пиксели в соответствии с параметром SAO класса,

в котором один или несколько первичных параметров содержат параметр SAO класса и параметр SAO типа SAO фильтра, и один или несколько вторичных параметров содержат параметр мощности фильтра по горизонтали и параметр мощности по вертикали, в котором контроллер фильтра выполнен с возможностью получать вторичные параметры на основании параметра SAO класса и/или параметра SAO типа SAO фильтра и/или, в котором контроллер фильтра выполнен с возможностью выбирать кодовую книгу из множества кодовых книг на основании параметра SAO типа.

Последовательность фильтров устройства для видеокодирования десятого варианта осуществления может быть использована для примера последовательности контурных фильтров.

Дополнительный вариант осуществления устройства для видеокодирования по первому аспекту относится к устройству для видеокодирования одного из предшествующих вариантов осуществления по первому аспекту, в котором вторичные параметры мощности фильтра артефактов блочности на вертикальных и горизонтальных краях различны, и в котором отношение мощности фильтра деблокинга по вертикали и мощности фильтра деблокинга по горизонтали регулируют на основании упомянутого SAO класса.

Дополнительный вариант осуществления устройства для видеокодирования по первому аспекту относится к устройству для видеокодирования одного из предшествующих вариантов осуществления по первому аспекту, в котором последовательность фильтров не содержит адаптивный контурный фильтр или в котором контроллер фильтра не регулирует параметры контурного фильтра.

Дополнительный вариант осуществления устройства для видеокодирования по первому аспекту относится к устройству для видеокодирования одного из предшествующих вариантов осуществления по первому аспекту, в котором последовательность фильтров не содержит фильтр деблокинга или в котором контроллер фильтра не регулирует параметры фильтра деблокинга.

Второй аспект изобретения относится к способу конфигурирования последовательности фильтров для кодирования видео, причем способ содержит:

- регулировку одного или нескольких вторичных параметров на основании одного или нескольких первичных параметров и на основании критерия мощности последовательности фильтров, и

- конфигурирование последовательности фильтров первичными и вторичными параметрами.

В первом варианте осуществления способа второго аспекта способ дополнительно содержит начальный этап определения одного или нескольких первичных параметров из битового потока.

Способы согласно второму аспекту изобретения выполняют устройством для видеокодирования по первому аспекту изобретения. Дополнительные признаки или варианты осуществления способа согласно второму аспекту изобретения могут выполнять функциональные возможности устройства для видеокодирования по первому аспекту изобретения и его различным вариантам воплощения.

Третий аспект изобретения относится к машиночитаемому носителю информации, хранящему программный код, причем программный код содержит инструкции для осуществления способа третьего аспекта или одного из вариантов осуществления третьего аспекта.

Краткое описание чертежей

С целью более четкой иллюстрации технических признаков вариантов осуществления настоящего изобретения далее представлены сопровождающие чертежи, предусмотренные для описания вариантов осуществления. Сопроводительные чертежи в нижеследующем описании просто показывают некоторые варианты осуществления настоящего изобретения. Модификации этих вариантов осуществления возможны без отхода от объема настоящего изобретения, как определено в формуле изобретения.

Фиг. 1 представляет собой блок-схему, иллюстрирующую устройство для видеокодирования в соответствии с вариантом осуществления настоящего изобретения.

Фиг. 2 представляет собой блок-схема последовательности операций способа для конфигурирования последовательности фильтров для видеокодирования в соответствии с дополнительным вариантом осуществления настоящего изобретения.

Фиг. 3 представляет собой схему последовательности фильтров для внутреннего предсказания в соответствии с дополнительным вариантом осуществления настоящего изобретения.

Фиг. 4 представляет собой блок-схему последовательности операций способа конфигурирования последовательности фильтров для управляемой адаптивной фильтрации опорного отсчета в соответствии с дополнительным вариантом осуществления настоящего изобретения.

Фиг. 5 представляет собой блок-схему последовательности операций способа для конфигурирования последовательности фильтров для внутреннего предсказания в соответствии с дополнительным вариантом осуществления настоящего изобретения.

Фиг. 6 представляет собой блок-схему последовательности операций способа конфигурирования последовательности фильтров для сглаживания границ в соответствии с еще одним вариантом осуществления настоящего изобретения.

Фиг. 7 представляет собой блок-схему последовательности фильтров для внутреннего предсказания в соответствии с дополнительным вариантом осуществления настоящего изобретения.

Фиг. 8 представляет собой блок-схему алгоритма способа конфигурирования последовательности фильтров для внутреннего предсказания в соответствии с дополнительным вариантом осуществления настоящего изобретения.

Фиг. 9 представляет собой блок-схему последовательности операций способа для внутреннего предсказания с модулем управления фильтром на стороне декодера в соответствии с дополнительным вариантом осуществления настоящего изобретения.

Фиг. 10 представляет собой схему варианта осуществления последовательно-параллельного внешнего предсказания с модулем управления фильтром в соответствии с дополнительным вариантом осуществления настоящего изобретения.

Фиг. 11 представляет собой блок-схему последовательности операций способа конфигурирования последовательности фильтров для внешнего предсказания с модулем управления фильтром на стороне декодера в соответствии с еще одним вариантом осуществления настоящего изобретения.

Фиг. 12 является структурной схемой цепи контурного фильтра в соответствии с дополнительным вариантом осуществления настоящего изобретения.

Фиг. 13 представляет собой блок-схему последовательности операций способа для конфигурирования последовательности фильтров, в котором фильтрация деблокинга зависит от одного или более SAO параметров в соответствии с дополнительным вариантом осуществления настоящего изобретения.

Фиг.14 представляет собой блок-схему последовательности операций дополнительного способа конфигурирования последовательности фильтров, в котором фильтрация деблокирования зависит от SAO параметров и в котором фильтрацию выполняют на стороне декодера в соответствии с дополнительным вариантом осуществления настоящего изобретения.

Фиг. 15 представляет собой блок-схему последовательности операций способа конфигурирования последовательности фильтров, в котором способ регулирует один или несколько ALF параметров в соответствии с одним или несколькими SAO параметрами на стороне декодера в соответствии с дополнительным вариантом осуществления настоящего изобретения, и

Фиг. 16 представляет собой блок-схему последовательности операций способа конфигурирования последовательности фильтров, в котором способ регулирует один или несколько ALF параметров в соответствии с одним или несколькими SAO параметрами на стороне декодера в соответствии с дополнительным вариантом осуществления настоящего изобретения.

Подробное описание вариантов осуществления

На фиг.1 показано устройство 100 для видеокодирования, которое содержит последовательность фильтров 110 и контроллер 120 фильтра.

Последовательность фильтров 110 конфигурируют одним или несколькими первичными параметрами и одним или несколькими вторичными параметрами. Например, первый набор фильтров последовательности фильтров может быть сконфигурирован первичными параметрами, и второй набор фильтров последовательности фильтров может быть конфигурирован вторым набором фильтров. Первый и второй набор фильтров могут перекрываться.

Контроллер 120 фильтра выполнен с возможностью регулировать один или более вторичных параметров на основании одного или более первичных параметров и на основании критерия мощности последовательности фильтров 110. В частности, контроллер 120 фильтра может быть выполнен с возможностью регулировать один или более вторичные параметры, частично основанные на одном или нескольких первых параметрах. Например, значение вторичного параметра может быть частично основано на заданном значении, например, из битового потока и частично на основании корректировки, основанной на первичных параметрах.

На фиг.2 показан способ 200 для конфигурирования последовательности фильтров для видеокодирования. Способ 200 содержит первый этап 210 регулировки одного или более вторичных параметров на основании одного или нескольких первичных параметров и на основании критерия мощности последовательности фильтров. Способ дополнительно содержит второй этап 220 конфигурирования последовательности фильтров первичными и вторичными параметрами.

Процедура внутреннего предсказания может быть частью цепи инструмента гибридного видеокодирования на стороне кодера и/или на стороне декодера. Аналогично, процедура внешнего предсказания может содержать последовательность фильтров (например, фильтры интерполяции и, так называемые, фильтры предсказания), которые потенциально могут вызывать либо чрезмерное сглаживание, либо чрезмерное повышение резкости блока, используемого в качестве опорного, которое, по сути, является аналогом, внутренне предсказанного блока для внешнего предсказания.

Последовательность фильтров может содержать, например, один или несколько из следующих фильтров:

- сглаживания опорного отсчета (например, RSAF),

- интерполяционная фильтрация для внутреннего предсказания,

- внутренне предсказанная блочная фильтрация (например, MPI или PDPC) и/или

- сглаживания границ.

Эти фильтры могут влиять на результаты внутреннего предсказания путем сглаживания.

Фиг. 3 иллюстрирует последовательность 300 фильтров, которая содержит модуль 360 управления фильтром для регулировки параметров фильтрации на разных этапах внутреннего предсказания. Модуль 360 контроллера фильтра является контроллером фильтра.

Параметры внутреннего предсказания могут включать в себя, но не ограничиваются:

- размер блока предсказания,

- размер предсказанного блока,

- режим внутреннего предсказания,

- многопараметрический индекс внутреннего режима и/или

- флаг фильтрации опорных отсчетов.

Один или несколько из приведенных выше параметров могут содержать первичные или вторичные параметры.

Помимо модуля 360 управления фильтром последовательность фильтров 300 содержит блок 310 сглаживания опорных отсчетов, блок 320 внутреннего предсказания, блок 330 предсказанного блочного фильтра и блок 340 сглаживания границ. Блок 310 сглаживания опорных отсчетов выполнен с возможностью получать один или несколько соседних отсчетов 302 в качестве входных данных. Выполнен с возможностью сглаживать и/или выполнять дополнительную обработку одного или нескольких соседних отсчетов 302 для получения одного или нескольких опорных отсчетов 312, которые поставляют в блок 320 внутреннего предсказания в качестве входных данных. Блок 320 внутреннего предсказания содержит фильтр 322 интерполяции. Блок 320 внутреннего предсказания поставляет его выходной сигнал 324 на вход предсказанного блочного фильтра 330.

Предсказанный блочный фильтр 330 выполнен с возможностью вычислять один или несколько предсказанных блоков 332, которые предоставляются в блок 340 сглаживания границ в качестве входных данных. Блок 340 сглаживания границ генерирует в качестве выходного сигнала 342 один или несколько внутренне предсказанных блоков 350.

Устройство для видеокодирования, содержащее последовательность фильтров 300, может быть выполнено с возможностью выборочно использовать неявную или явную сигнализацию фильтра опорных отсчетов, то есть, только тех TUs, которые соответствуют конкретным условиям.

Модуль 360 управления фильтром может быть выполнен с возможностью считывать параметры 362 внутреннего предсказания в качестве первичных параметров. Может быть выполнен с возможностью извлекать вторичные параметры на основании тех первичных параметров.

Результаты разбиения на дерево квадратов могут использовать как указание выбора фильтра опорных отсчетов с использованием явной или неявной сигнализации. В частности, если размер PU больше, чем пороговое значение (например, 32x32), то флаг фильтра опорного отсчета устанавливают на ноль. Это присвоение переопределяет условия предшествующего уровня техники. Если условие PU размера истинно, можно выбрать только опции «НЕТ ФИЛЬТРА» и «ПРИМЕНИТЬ СЛАБЫЙ ФИЛЬТР» в соответствии с условиями PU размера и/или внутреннего режима.

Фиг. 4 представляет собой блок-схему последовательности операций способа 400 для конфигурирования последовательности фильтров для управляемой адаптивной фильтрации опорных отсчетов.

Способ 400 содержит первый этап 402 оценки состояния, относящегося к размеру блока предсказания. Если оценка условия истинна, то способ продолжают выполнять на этапе 404, в котором получен флаг фильтра опорных отсчетов. Если оценка состояния, относящегося к размеру блока предсказания, является ложным, то способ продолжают выполнять на этапе 406, в котором флаг фильтра опорных отсчетов установлен как ложный. За этапом 404 или этапом 406 выполняют этап 408, в котором оценивают одно или несколько условий, относящиеся к внутреннему режиму и размеру блока.

Если результат оценки на этапе 408 является ложным, способ продолжается на этапе 410, в котором оценивают флаг фильтра опорного отсчета. Если ложно, то способ продолжается на этапе 414, в котором фильтр опорного отсчета адаптивно устанавливают в состояние не применять фильтр. Если на этапе 410 флаг оценивают как истинный, на этапе 416 применяют слабый фильтр. Альтернативно, если оценка состояния на этапе 408 была оценена как истинная, то способ продолжается на этапе 412, в котором оценивают флаг фильтра опорного отсчета. Если оценка ложна, то на этапе 416 применяют слабый фильтр. Если флаг фильтра опорного отсчета на этапе 412 оценен как истинный, то на этапе 418 применяют сильный фильтр.

Как только выбранный фильтр из набора отображают на внутренний режим и размер предсказанного блока, могут выбирать фильтр из заданного набора фильтров на этапах «ПРИМЕНИТЬ СЛАБЫЙ ФИЛЬТР» и «ПРИМЕНИТЬ СИЛЬНЫЙ ФИЛЬТР». Этот конкретный вариант осуществления, который имеет всего 3 фильтра, не означает, что количество фильтров в наборе фильтров не может быть увеличено до произвольной величины (например, 5 состояний, включающие в себя состояние «БЕЗ ФИЛЬТРА», «СЛАБЫЙ ФИЛЬТР», «СИЛЬНЫЙ ФИЛЬТР» и два промежуточных фильтра).

При направленном внутреннем предсказании рассчитывают значение пикселей предсказанного блока и проекцию на левую и верхнюю границы блоков. Однако проекция может иметь дробное положение, то есть, она может находиться между фактическими положениями опорных отсчетов на границе. Рассчитывают взвешенную сумму значений смежных опорных отсчетов для определения значения отсчета внутренне предсказанного блока. Этот процесс, фактически, представляет собой двухканальный линейный интерполяционный фильтр, который может быть дополнительно расширен до четырехканального интерполяционного фильтра.

Для повышения точности направленного внутреннего предсказания могут использовать четырехканальные интерполяционные фильтры. В HEVC для генерирования блока внутреннего предсказания в режимах направленного предсказания использовали, например, двухканальный линейный интерполяционный фильтр (т.е. исключающий планарный и DC предикторы). В качестве альтернативы, можно использовать два типа четырехканальных интерполяционных фильтров: фильтры кубической интерполяции для блоков 4x4 и 8x8 и фильтры гауссовской интерполяции для блоков 16x16 и более. Параметры фильтров фиксируют в соответствии с размером блока, и тот же фильтр используют для всех предсказанных пикселей во всех направлениях.

В HEVC, после того, как блок внутреннего предсказания был сгенерирован для VER и HOR внутренних режимов, дополнительно корректируют граничный левый столбец и граничную верхнюю строку отсчетов предсказания, соответственно. Это может быть дополнительно расширено до нескольких диагональных внутренних режимов, и граничные отсчеты до четырех столбцов или строк дополнительно корректируют с использованием двухканального (для внутреннего режима 2 & 34) или трехканального фильтра (для внутреннего режима 3-6, 30-33).

Фиг. 4 и фиг. 5 иллюстрируют два варианта осуществления для синхронизации выбора типа фильтра интерполяции с процессом фильтрации опорных отсчетов. Оба варианта осуществления предполагают, что могут применять два типа фильтров интерполяции: слабый и сильный, например, Гауссовский фильтр используют для предсказанных блоков 16x16 и более, и для других размеров блоков выбирают кубический фильтр. В обоих вариантах осуществления выбор фильтра интерполяции может быть согласован с процессом фильтрации опорных отсчетов.

Фиг. 5 представляет собой блок-схему последовательности операций способа 500 для конфигурирования фильтра интерполяции для внутреннего предсказания.

Способ 500 содержит первый этап 502 извлечения флага фильтра опорных отсчетов. На этапе 504 оценивают флаг фильтра опорных отсчетов. Если он оценивается как истинный, то способ продолжают на этапе 506, в котором оценивают условие, относящиеся к размеру блока преобразования. Если условие оценивают как ложное, то способ продолжают на этапе 508, при этом применяют слабый фильтр интерполяции. Аналогично, если флаг фильтра опорных отсчетов оценивают как ложный на этапе 504, то способ также продолжают на этапе 508. Если условие, относящиеся к размеру блока преобразования, оценивают на этапе 506 как истинное, то способ продолжают на этапе 510, в котором применяют сильный фильтр интерполяции внутреннего предсказания.

Варианты осуществления, показанные на фиг. 4 и фиг. 5, имеют отличия в отношении операции извлечения флага фильтра опорных отсчетов. В варианте осуществления, показанном на фиг. 4, флаг фильтра опорных отсчетов является истинным, если предсказанный блок в соответствии с условием, имеет опцию иного фильтра опорных отсчетов. Данный выбор фильтра могут сигнализировать явно или неявно (то есть, путем отображения на режим предсказания или используя данные, скрытые в квантованных остаточных данных). Для варианта осуществления, показанного на фиг. 4, фактически выбранное значение опорного фильтра не учитывают при извлечении флага фильтра опорных отсчетов. Но, если осуществляют выбор фильтра опорных отсчетов для предсказанного блока на стороне кодера, и выбор сигнализируют в декодер явно или неявно, то значение флага опорных отсчетов является истинным. В противном случае, если предсказанный блок имеет заданный опорный фильтр или не выполняют фильтрацию опорных отсчетов, значение флага фильтра опорных отсчетов является ложным.

Вариант осуществления, показанный на фиг. 5, использует значение выбора опорного фильтра в качестве значения флага опорных отсчетов. Если выбран сильный фильтр для опорных отсчетов (например, {1 2 1} или 5-канальный фильтр), то значению флага опорных отсчетов присваивают значение истинно. И аналогично первому варианту осуществления, значение флага опорных отсчетов является ложным для предсказанных блоков, которые не имеют опорной фильтрации или был выбран слабый фильтр опорных отсчетов.

Благоприятные эффекты вышеописанных вариантов осуществления получают путем согласования процессов фильтрации опорных отсчетов и интерполяции внутреннего предсказания. Можно заметить, что эти варианты осуществления не допускают чрезмерного сглаживания предсказанных блоков.

Фиг. 6 представляет собой блок-схему последовательности операций способа 600 для конфигурирования последовательности фильтров для сглаживания границ.

Способ 600 содержит первый этап 602 определения, является ли предсказанный блочный фильтр направленным. Если это так, то способ продолжается на этапе 604, в котором оценивается условие размера блока. Если условие размера блока оценивается как ложное или направленность предсказанного блочного фильтра оценивают как ложное, способ продолжают на этапе 606, в котором оценивают состояние внутреннего режима. Если состояние внутреннего режима оценивают как истинное, то способ продолжают на этапе 608, в котором применяют сглаживание границы. В противном случае и, если условие размера блока на этапе 604 оценивают как истинное, не применяют сглаживание границ.

Сглаживание границ могут применять, если выбран режим внутреннего предсказания как DC, горизонтальный, вертикальный или диагональный. Предлагаемое изобретение синхронизирует сглаживание границ с выбором фильтра для предсказанного блока. В частности, используют направленность предсказанного блочного фильтра для принятия решения о применении сглаживания границ. Направленность является свойством пространственного фильтра, которое указывает разницу в степени фильтрации между направлениями фильтрации. Например, если двумерный фильтр имеет одинаковую мощность, как в вертикальном, так и в горизонтальном направлении, то этот фильтр является ненаправленным. В частности, для ненаправленных фильтров сглаживание границы не применяется. Многопараметрическое внутреннее предсказание может быть примером предсказанного блочного фильтра. Если этот способ используют в качестве предсказанного блочного фильтра, то первое условие на фиг. 6 можно было бы сформулировать как «MPI индекс больше одного».

В противоположном случае, когда предсказанный блочный фильтр является направленным, изобретение рассматривает другое ограничение. Если размер фильтруемого блока меньше 32 пикселей, то для этого блока опускают процесс сглаживания границ, несмотря на направленность предсказанного блочного фильтра.

Фиг. 7 является структурной схемой последовательности 700 фильтра для внутреннего предсказания. Последовательность 700 фильтра могут использовать для кодирования или декодирования видео.

Последовательность 700 фильтра содержит модуль 760 управления фильтром, который выполнен с возможностью регулировать параметры нескольких фильтров. В частности, последовательность 700 фильтра принимает в качестве входных данных один или несколько соседних отсчетов 702. Эти соседние отсчеты 702 предоставляют как входные данные в адаптивный фильтр 710 опорных отсчетов, SAF, который представляет собой первый фильтр последовательности 700 фильтра. Адаптивный фильтр 710 опорного отсчета генерирует один или несколько опорных отсчетов 712, которые предоставляют в качестве входных данных в блок 720 внутреннего предсказания. Блок 720 внутреннего предсказания содержит набор 4-канальных фильтров 722 интерполяции, которые конфигурируют одним или несколькими параметрами фильтра интерполяции.

Выходные данные 724 блока внутреннего предсказания предоставляют в качестве входных данных для фильтров 730 предсказания границ. Выходные данные 732 фильтров предсказания границ предоставляют в качестве входных данных для многопараметрического блока 740 комбинирования внутреннего предсказания/пространственно-зависимого внутреннего предсказания. Блок 740 генерирует в качестве выходных данных 742 один или несколько внутренне предсказанных блоков 750.

Адаптивный фильтр 710 опорных отсчетов, блок 720 внутреннего предсказания, фильтры 730 предсказания границ и блок 740 комбинирования внутреннего предсказания/пространственно-зависимого внутреннего предсказания могут быть каждый конфигурированы одним или несколькими параметрами, которые могут быть установлены модулем 760 управления фильтром.

Многопараметрическое внутреннее предсказание (MPI) представляет собой пост-обработку для внутреннего предсказания, которая вызывает дополнительное сглаживание с декодированной границей. Это можно реализовать как

при этом вне блока равен восстановленному сигналу

если .

Уровнем мощности этой пост-обработки (параметры ) управляют на уровне CU и сигнализирую двумя битами.

Пространственно-зависимая комбинация внутреннего предсказания (PDPC), которая может заменить MPI, представляет собой адаптивную пост-обработку контента для внутреннего предсказания, которая вызывает комбинацию внутреннего предсказания, как описано выше, с нефильтрованной границей. Его можно реализовать следующим образом:

pred(i,j)=(α ·temp(i,j)+β ·temp(i – 1,j) + γ · temp(i,j – 1)+ 4)>>3

Здесь (i, j) указывает местоположение отсчета относительно левого верхнего угла, temp (i, j) равно внутреннему предсказанию, описанному выше для i≥0, j≥0 и равному нефильтрованному опорному значению для i = -1, j = -1.

Уровнем мощности этой пост-обработки управляют параметрами α + β + γ = 8. Различные наборы {α, β, γ} составляют словарь, обобщенный в таблице 1. Уровень интенсивности сглаживания после обработки различна для блоков, закодированных как 2N × 2N и N × N. Такой же запрет последующей обработки применяют как для блоков яркости, так и для цветности внутри CU.

Таблица 1: Словарь параметров пост-обработки в объединенном внутреннем предсказании

Индекс объединенного внутреннего предсказания 2N×2N CU внутреннего предсказания N×N CU внутреннего предсказания Эффект
α β γ α β γ
0 8 0 0 8 0 0 Отсутствует пост-обработка
1 4 2 2 6 1 1 Сглаживание слева и выше
2 4 4 0 6 2 0 Сглаживание выше границы
3 4 0 4 6 0 2 Сглаживание с левой границей

Объединенный индекс внутреннего предсказания, который определяет пост-обработку, сигнализируется двумя битами на CU уровне. Этот синтаксический элемент не сигнализируют, если левая или верхняя граница CU является границей изображения. Нулевое значение этого индекса указывает, что пост-обработка не используется.

Если каждый инструмент имеет флаг для переключения состояния включено и выключено, и выполняют RDO процедуру не для каждого инструмента отдельно, но совместно для всех инструментов, которые используют сглаживание, то можно решить техническую задачу чрезмерного сглаживания. Однако это решение может иметь недостаток избыточной сигнализации, что может снизить общую производительность кодирования.

Фиг. 8 представляет собой блок-схему способа 800 для конфигурирования последовательности фильтров для внутреннего предсказания.

Способ 800 содержит первый этап 810 определения, используют ли адаптивную фильтрацию опорной отсечки, RSAF. Например, это можно определить, оценив RASF флаг. Если определено, что RSAF используется, на этапе 812 применяют адаптивную фильтрацию опорной отсечки. Затем на этапе 814 применяют интерполяцию с использованием 4-канального кубического фильтра. Этого можно достичь, установив параметр режима интерполяции фильтра интерполяции последовательности фильтров для внутреннего предсказания на 4-канальный кубический фильтр.

Если на этапе 810 определено, что RSAF не используют, на этапе 816 применяют интерполяцию с использованием набора 4-канальных фильтров В частности, это может быть заданным набором 4-канальных фильтров. Установка фильтра интерполяции для использования набора 4-канальных фильтров может быть достигнута, например, путем установки параметра интерполяции фильтра интерполяции на «набор 4-канальных фильтров».

На следующем этапе 820 MPI индекс переменной i устанавливают равным 0. Затем на этапе 822 определяют, превышает ли эта переменная 1. Если это так, то на этапе 824 определяют, превышает ли размер текущего блока предсказания, PU, 32. Если это так, то на этапе 826 применяют фильтрация пограничного предсказания. Фильтрация пограничного предсказания применяют также, если на этапе 822 определено, что i не превышает 1. Если на этапе 824 определено, что текущий размер PU не превышает 32, то способ продолжают выполнять на этапе 828 с многопараметрической комбинацией внутреннего предсказания/пространственно-зависимого внутреннего предсказания.

Затем на этапе 830 вычисляют стоимость искажения от скорости передачи, RD-стоимость Ji для текущей конфигурации. В частности, текущая конфигурация может соответствовать текущему значению MPI индекса i. В других вариантах осуществления также изменяют и другие параметры, и может быть определена RD-стоимость для установки различных параметров.

На этапе 832 определяют, превышает или равен ли MPI индекс i 3. Если нет, MPI индекс увеличивают на 1 на этапе 834, и этот способ продолжается на этапе 822. Если MPI индекс больше или равен 3, способ продолжают на этапе 836 путем выбора наилучшего MPI индекса. Этого можно достичь, выбирая MPI индекс, который соответствует наименьшей RD-стоимости Ji.

Фиг. 9 представляет собой блок-схему последовательности операций способа 900 для конфигурирования последовательности фильтров для внутреннего предсказания с модулем управления фильтром на стороне декодера.

Механизм внешнего предсказания может содержать, например, следующие фильтры:

- регулярный фильтр, основанный на лагранжевой интерполяции,

- фильтр повышенной резкости, использующий интерполяцию на основе DCT (в основном вокруг краев с повышенной резкостью) и/или

- сглаживающий фильтр без интерполяции.

Предпочтительно, может быть выбран только один из фильтров. Для четверть-пиксельной интерполяции может быть включен по умолчанию фильтр повышенной резкости, то есть, его параметры должны быть получены путем синтаксического разбора битового потока на стороне декодера без извлечения каких-либо других флагов и параметров. Для полу-пиксельной интерполяции может быть отключена повышенная резкость. Для целочисленной пиксельной интерполяции оба фильтр повышенной резкости и сглаживания включены и, следовательно, при необходимости могут быть отключены. Однако, если один из них включен, его параметры должны извлекаться из битового потока перед выполнением фильтрации.

Способ 900 содержит первый этап 910 определения, используют ли адаптивную фильтрацию опорного отсчета, RSAF. Например, могут определить посредством оценки RASF флага. Если определено, что RSAF используют, на этапе 912 применяют адаптивную фильтрацию опорных отсчетов. Затем на этапе 914 применяют интерполяцию с использованием 4-канального кубического фильтра. Этого можно достичь, установив параметр режима интерполяции фильтра интерполяции последовательности фильтров для внутреннего предсказания на 4-канальный кубический фильтр.

Если на этапе 910 определено, что RSAF не используют, на этапе 916 применяют интерполяцию с использованием набора 4-канальных фильтров. В частности, это может быть заданным набором 4-канальных фильтров. Установка фильтра интерполяции для использования набора 4-канальных фильтров может быть достигнута, например, путем установки параметра интерполяции фильтра интерполяции на «набор 4-канальных фильтров».

На этапе 920 определяют, превышает ли MPI индекс 1. MPI индекс может быть определен, например, путем выполнения синтаксического анализа или иного определения значения MPI индекса из битового потока. Если MPI индекс больше 1, то способ продолжают выполнять на этапе 924 путем оценки, превышает ли текущий размер PU 32. Если это так, и если MPI индекс не превышает 1, то продолжают выполнять способ на этапе 926, применяя фильтрацию граничного предсказания. Если, однако, текущий размер PU не превышает 32, то продолжают выполнять способ на этапе 928 с помощью многопараметрической комбинации внутреннего предсказания/пространственно-зависимого внутреннего предсказания.

Фиг. 10 является структурной схемой последовательности фильтров 1000, в котором последовательность 1000 имеет последовательную/параллельную структуру.

Последовательность фильтров 1000 выполнена с возможностью обрабатывать блока отсчетов 1002 для получения опорного блока 1040 (предсказания). Последовательность 1000 содержит один или несколько фильтров 1010 суб-пиксельной интерполяции, которые выполнена с возможностью интерполировать отсчеты 1002 блока. Результат 1012 суб-пиксельной интерполяции предоставляют как входной сигнал в сглаживающий фильтр 1020 и/или фильтр 1030 повышенной резкости. Предпочтительно используют либо сглаживающий фильтр 1020, либо фильтр 1030 повышенной резкости.

Выходной сигнал сглаживающего фильтра 1020 и/или фильтра 1030 повышенной резкости является опорным (предсказанным) блоком 1040. Последовательность 1000 фильтра управляется модулем 1050 управления фильтром, который выполнен с возможностью устанавливать параметры фильтров 1010 суб-пиксельной интерполяции, сглаживающего фильтра 1020 и/или фильтра 1030 повышенной резкости.

Фиг. 11 представляет собой блок-схему последовательности операций способа конфигурирования последовательности фильтров для внешнего предсказания с модулем управления фильтром на стороне декодера.

Способ 1100 содержит первый этап определения, используют ли ¼-¾-PEL интерполяцию. Если это не так, то способ продолжается на этапе 1104 путем определения, используют ли ½-PEL интерполяцию. Если это так, то способ продолжается на этапе 1106 путем выполнения синтаксического анализа битового потока для извлечения одного или нескольких значений управляющего флага. Затем на этапе 1112 определяют, включен ли фильтр повышенной резкости. В частности, это может быть определено из одного или нескольких значений управляющего флага, определенных на этапе 1106. В качестве альтернативы, если на этапе 1104 было определено, что не используют ½-PEL интерполяцию, способ продолжается на этапе 1108 с синтаксическим разбором битового потока для извлечения одного или нескольких значений одного или нескольких управляющих флагов. Затем на этапе 1110 определяют, включен ли сглаживающий фильтр. В частности, это может быть определено из одного или нескольких значений одного или нескольких управляющих флагов.

Если активен сглаживающий фильтр, то способ продолжается на этапе 1116, в котором выполняют синтаксический анализ битового потока для извлечения одного или нескольких значений параметра мощности сглаживающего фильтра и соответственно выполняется фильтрация. Альтернативно, если на этапе 1110 определяют, например, из битового потока, что сглаживающий фильтр не включен, способ продолжается на этапе 1112, в котором определяют, включен ли фильтр повышенной резкости. Если фильтр повышенной резкости включен, способ продолжается на этапе 1114, в котором битовый поток анализируется для извлечения одного или нескольких значений параметра мощности фильтра повышенной резкости, и соответственно выполняется фильтрация.

В настоящее время в процессе кодирования видео также обеспечивают этапы фильтрации на заключительном этапе кодера и декодера. Эта фильтрация называется контурной фильтрацией, при этом выходные данные в процессе обработки поставляют в контур компенсации движения.

Некоторые последовательности фильтров могут использовать как в кодере, так и в декодере. Предпочтительно первый этап последовательности фильтров выполнен с возможностью удалять артефакты блокинга посредством использования фильтра деблокинга. Фильтры нижних частот применяют к краям TUs в соответствии с набором предопределенных правил. Эти правила имеют параметры, называемые параметрами деблокинга, которые могут быть указаны для всей последовательности или для каждого кадра отдельно.

Предпочтительно, второй этап выполнен с возможностью удалять шум квантования с использованием адаптивного смещения отсчета. Кадр можно разделить на области пикселей с SAO параметрами, назначенными каждой из этих областей. SAO параметры могут содержать:

• SAO тип, который управляет типом классификатора:

o BO (смещение полосы): этот SAO тип выбирает, чтобы добавлять смещения к пикселям, которые имеют значения в диапазоне, указанном SAO категорией

o EO (смещение края): этот SAO тип выбирает, чтобы добавлять разные смещения в пиксели в зависимости от SAO категории

• SAO класс: задает шаблон пикселей, который должен использоваться для получения SAO категории

• SAO смещения: справочная таблица, которая присваивает каждой SAO категории и смещение. В соответствии с категорией пикселей необходимо добавить соответствующее смещение.

Предпочтительно, один или несколько из этих SAO параметров извлекают на стороне кодирования и кодируют в битовый поток, так что декодер может их анализировать.

Следующий этап предусматривает применение адаптивного контурного фильтра (ALF), который довольно близок к фильтру Винера. На стороне кодера получают такие коэффициенты фильтра, которые обеспечивают минимальную среднеквадратичную ошибку после фильтрации восстановленных пикселей. Эти коэффициенты дополнительно квантуют и передают в декодер в битовом потоке.

Предпочтительно, модуль управления фильтром для сопоставления уровня мощности фильтра на разных этапах цепи контурной фильтрации выполнен с возможностью регулировать процесс обработки на этапе фильтрации в соответствии со значениями параметров на другом этапе (этапах).

Фиг. 12 является структурной схемой цепи 1200 контурных фильтров, которая представляет собой последовательность фильтров.

Цепь 1200 контурных фильтров выполнена с возможностью выполнять обработку восстановленного кадра 1202 для получения буфера 1240 опорного изображения. Восстановленный кадр 1202 предоставляют в качестве входных данных в фильтр 1210 деблокинга. Выходной сигнал фильтра деблокинга поставляют в качестве входных данных 1212 в фильтр 1220 адаптивного смещения. Выходной сигнал адаптивного фильтра 1220 смещения поставляют в качестве входных данных 1222 в адаптивный контурный фильтр 1230. Выходной сигнал адаптивного контурного фильтра 1230 предусмотрен в качестве входных данных 1232 опорного изображения 1240.

Фильтр 1210 деблокинга, фильтр 1220 адаптивного смещения отсчета и адаптивный контурный фильтр 1230 конфигурируют параметрами, которые могут быть установлены модулем 1250 управления фильтром. Модуль 1250 управления фильтром выполнен с возможностью определять эти параметров на основании входных параметров, которые включают в себя один или несколько параметров 1252 фильтра деблокинга, один или несколько SAO параметров 1254 и один или несколько ALF параметров 1256. Например, эти параметры могут быть определены пользователем или получены из битового потока.

Фильтр 1210 деблокинга может зависеть от одного или нескольких SAO параметров. Предпочтительно, на стороне кодера, если SAO тип выбран как EO (смещение по краю) и шаблон пикселя (SAO класс) выровнен по горизонтали или по вертикали, операция деблокинга отключена для краев, которые имеют направление, ортогональное к выбранному направлению шаблона пикселя.

Фиг. 13 представляет собой блок-схему последовательности операций способа 1300 для конфигурирования последовательности фильтров, в котором фильтрация деблокинга зависит от одного или нескольких SAO параметров.

Способ 1300 содержит первый этап 1302 оценки одного или более SAO параметров. SAO параметры могут включать в себя параметр смещения края и SAO класс.

На этапе 1304 определяют, установлено ли значение параметра смещения края как истинное. Если это так, то на этапе 1306 оценивают SAO параметр класса. Если SAO параметр класса установлен как вертикальный, то способ на этапе 1308 отключает деблокинг горизонтальных краев. Если SAO параметр класса установлен как горизонтальный, на этапе 1310 деблокинг вертикальных краев отключен. Если для SAO класса установлено другое значение или если на этапе 1304 параметр смещения по краю определяется как ложный, то на этапе 1312 применяют фильтр деблокинга в соответствии с вышеописанной конфигурацией. Впоследствии способ продолжается на этапе 1314 с помощью фильтрации адаптивного смещения отсчета и, возможно, дополнительные этапы фильтрации.

Фиг. 14 представляет собой блок-схему последовательности операций дополнительного способа 1400 для конфигурирования последовательности фильтров, в котором фильтрация деблокинга зависит от SAO параметров и, в котором фильтрацию выполняют на стороне декодера.

На первом этапе 1402 один или несколько SAO параметров извлекают из битового потока.

На этапе 1404 определяют, установлено ли значение параметра смещения по краю как истинное. Если это так, на этапе 1406 оценивают SAO параметр класса. Если SAO параметр класса установлен как вертикальный, то способ на этапе 1408 отключает деблокинг горизонтальных краев. Если SAO параметр класса установлен как горизонтальный, на этапе 1410 деблокинг вертикальных краев отключен. Если для SAO класса установлено другое значение или, если на этапе 1404 параметр смещения по краю определяют как ложный, на этапе 1412 применяют фильтр деблокинга в соответствии с вышеописанной конфигурацией. Впоследствии способ продолжают на этапе 1414 с помощью фильтрации адаптивного смещения отсчетов и, возможно, дополнительных этапов фильтрации.

Фиг. 15 представляет собой блок-схему последовательности операций способа 1500 для конфигурирования последовательности фильтров, в котором способ 1500 регулирует один или несколько параметров адаптивного контурного фильтра в соответствии с одним или несколькими SAO параметрами на стороне декодера.

В частности, способ 1500 содержит первый этап 1502 оценки SAO параметров. На втором этапе 1504 определяют, установлен ли флаг смещения по краю. Если он установлен, на этапе 1506 сглаживающие фильтры в адаптивном контурном фильтре, ALF, отключены.

Затем на этапах с 1508 по 1514 применяют деблокинг, фильтрацию адаптивного смещения отсчета, оценку параметров адаптивного контурного фильтра и адаптивную контурную фильтрацию.

По сравнению со способами, иллюстрируемыми, например, на фиг. 13 и фиг. 14, отключают выбор кодовой книги для кодирования и декодирования ALF параметров, в частности, для случаев SAO смещения по краю и смещения полосы.

Фиг.16 представляет собой блок-схему последовательности операций способа 1600 для регулировки одного или более ALF параметров в соответствии с одним или несколькими SAO параметрами на стороне кодера.

На первом этапе 1602 извлекают SAO параметры из битового потока. На втором этапе 1604 определяют, установлен ли флаг смещения по краю. Если он не установлен, на этапе 1606 выбирают первую кодовую книгу ALF параметра. Если флаг смещения по краю не установлен, на этапе 1608 выбирают вторую кодовую книгу ALF параметра.

Затем на этапах с 1610 по 1616 извлекают ALF параметры из битового потока, применяют фильтр деблокинга, применяют фильтрацию адаптивного смещения отсчетов и применяют адаптивную контурную фильтрацию.

Варианты осуществления изобретения могут относиться к следующим дополнительным аспектам:

1. Способ кодирования и декодирования видеоданных содержит процесс внутреннего

предсказания, который состоит из

а. Конфигурирования параметров фильтра для приведенных ниже этапов, в соответствии с параметрами внутреннего предсказания

b. Подготовки опорных отсчетов путем адаптивного применения фильтра к соседним отсчетам подлежащего предсказанию блока.

с. Вычисления предсказанного значения для каждого отсчета, подлежащего предсказанию блока с использованием интерполированных значений опорных отсчетов.

d. Применения фильтра к предсказанному блоку.

е. Выполнения сглаживания границ

2. Способ по аспекту 1, в котором результаты разбиения на дерево квадратов

используют как указание выбора фильтра опорных отсчетов с использованием явной или неявной сигнализации.

3. Способ по аспекту 1, в котором вычисление предсказанного значения для каждого

отсчета подлежащего предсказанию блока выполняют с использованием фильтра интерполяции, который выбирают в соответствии с процессом фильтрации опорных отсчетов.

4. Способ по аспекту 3, в котором выбор фильтра интерполяции выполняют для

подлежащих предсказанию блоков, которые были рассчитаны без неявной или явной сигнализации выбора фильтра опорных отсчетов.

5. Способ по аспекту 3, в котором выбирают фильтр интерполяции для подлежащих

предсказанию блоков, которые были получены из опорных отчетов, отфильтрованных слабым фильтром опорных отсчетов.

6. Способ по аспекту 1, в котором сглаживание границ выполняют для TUs, которые

принадлежат PUs, которые удовлетворяют ограничениям размера.

7. Способ по аспекту 6, в котором направленность фильтра предсказанного блока

влияет на решение применения сглаживания границ.

8. Способ кодирования и декодирования видеоданных содержит процесс внешнего

предсказания, который состоит из

а. Конфигурирования параметров фильтра для приведенных ниже этапов, в соответствии с параметрами внешнего предсказания.

b. Подготовки опорных отсчетов путем адаптивного применения фильтра к области поиска, используемой для поиска такого блока, который будут использовать в качестве опорного после обработки фильтрами интерполяции и предсказания.

с. Применения фильтра интерполяции к блоку, который в данный момент обрабатывают.

d. Применения фильтров предсказания к блоку, который в данный момент обрабатывают.

9. Способ по аспекту 8, в котором этап d предшествует этапу c.

10. Способ фильтрации сигнала содержит

а. Несколько этапов итерационной фильтрации, в котором мощность фильтра зависит от дополнительных условий.

b. Указание, ассоциированное с некоторыми этапами фильтрации, которые определяют мощность фильтрации на ассоциированном этапе, и

с. Блок управления, который переопределяет дополнительные условия на этапах а) фильтрации в зависимости от индикации, ассоциированной с предшествующими этапами.

11. Способ по аспекту 10, в котором индикация сильного фильтра на этапе i

фильтрации переопределяет дополнительные условия проверить на этапах k> i, чтобы выбрать более слабый фильтр.

Варианты осуществления настоящего изобретения обеспечивают одно или несколько из следующих преимуществ:

- многие потенциальные приложения в гибридной системе кодирования видео, совместимые с JEM, являются основой для стандарта кодирования следующего поколения;

- снижение BD-коэффициента и повышение субъективного качества по сравнению с JEM1.

- снижение вычислительной сложности как кодера, так и декодера по сравнению с JEM1 со встроенным RSAF, что делает изобретение потенциально привлекательным для многих мобильных приложений;

- отсутствие избыточной сигнализации (синтаксис).

Вышеупомянутые описания являются только способами реализации настоящего изобретения, объем настоящего изобретения не ограничивается этим. Любые варианты или замены могут быть легко сделаны специалистом в данной области техники. Следовательно, объем защиты настоящего изобретения определен объемом защиты прилагаемых пунктов формулы изобретения.

1. Устройство для конфигурирования последовательности фильтров для видеокодирования, содержащее:

последовательность фильтров, которые конфигурируют одним или несколькими первичными параметрами и одним или несколькими вторичными параметрами; и

контроллер фильтра, выполненный с возможностью регулировать один или нескольких вторичных параметров на основании одного или нескольких первичных параметров и на основании критерия мощности последовательности фильтров, в котором критерий мощности содержит:

отношение коэффициента усиления для высокочастотной области и коэффициента усиления для низкочастотной области и/или

отношение значения контрастности перед фильтрованием и значения контрастности после фильтрации.

2. Устройство по п. 1, в котором один или несколько первичных параметров представляют собой заданные параметры, в частности параметры, которые заданы из кодированного битового потока, пользовательской установкой и/или циклом поиска параметров на устройстве для кодирования.

3. Устройство по п. 1, в котором последовательность фильтров содержит один или несколько первичных фильтров, которые могут быть сконфигурированы одним или несколькими первичными параметрами, и один или несколько вторичных фильтров, которые могут быть сконфигурированы одним или несколькими вторичными параметрами, в котором один или несколько первичных фильтров расположены в последовательности фильтров перед одним или несколькими вторичными фильтрами.

4. Устройство по п. 1, в котором последовательность фильтров содержит:

фильтр опорных отсчетов, выполненный с возможностью адаптивно фильтровать один или несколько соседних отсчетов текущего видеоблока для получения одного или нескольких опорных отсчетов, и

фильтр интерполяции, выполненный с возможностью предсказывать один или несколько отсчетов текущего видеоблока с использованием интерполяции одного или нескольких опорных отсчетов,

в котором один или несколько первичных параметров содержат опорный параметр фильтра опорных отсчетов и один или несколько вторичных параметров содержат параметр выбора фильтра интерполяции, в котором фильтр интерполяции выполнен с возможностью использовать способ интерполяции в соответствии с параметром выбора.

5. Устройство по п. 1, в котором один или несколько первичных параметров включают в себя флаг фильтра опорных отсчетов фильтра опорных отсчетов и один или несколько вторичных параметров включают в себя параметр мощности фильтра интерполяции внутреннего предсказания.

6. Устройство по п. 1, в котором последовательность фильтров содержит фильтр сглаживания границ, который выполнен с возможностью выполнять сглаживание границ для одного или нескольких блоков преобразования, которые принадлежат одному или нескольким блокам предсказания, которые соответствуют ограничению размера.

7. Устройство по п. 1, в котором один или несколько первичных параметров включают в себя параметр направления предсказанного блочного фильтра и один или несколько вторичных параметров включают в себя параметр включения-выключения фильтра сглаживания границ.

8. Устройство по п. 1, в котором последовательность фильтров содержит:

фильтр субпиксельной интерполяции, выполненный с возможностью адаптивно фильтровать отсчеты опорного блока для получения интерполированного опорного блока, и

фильтр нижних частот и/или верхних частот, выполненный с возможностью сглаживать и/или повышать резкость интерполированного опорного блока для получения отфильтрованного опорного блока,

в котором один или несколько первичных параметров содержат параметр интерполяции фильтра интерполяции и один или несколько вторичных параметров содержат параметр выбора фильтров повышения резкости и/или сглаживания, в котором контроллер фильтра выполнен с возможностью извлекать вторичные параметры, основанные на параметре интерполяции фильтра интерполяции.

9. Устройство по п. 1, в котором последовательность фильтров содержит адаптивный контурный фильтр, выполненный с возможностью использовать выбранную кодовую книгу для указания одного или нескольких коэффициентов фильтра в битовом потоке, в котором контроллер фильтра выполнен с возможностью выбирать кодовую книгу из множества кодовых книг на основании одного или нескольких первичных параметров.

10. Устройство по п. 1, в котором последовательность фильтров дополнительно содержит:

фильтр деблокинга, выполненный с возможностью выполнять обработку вертикальных краев на основании параметра мощности фильтра по вертикали и горизонтальных краев на основании параметра мощности фильтра по горизонтали,

фильтр адаптивного смещения отсчета, SAO, выполненный с возможностью классифицировать пиксели и добавлять значения смещения в пиксели в соответствии с параметром SAO класса, и

адаптивный контурный фильтр, выполненный с возможностью использовать две или более кодовые книги для указания одного или нескольких коэффициентов фильтра в битовом потоке,

в котором один или несколько первичных параметров содержат параметр SAO класса и параметр SAO типа SAO фильтра и один или несколько вторичных параметров содержат параметр мощности фильтра по горизонтали и параметр мощности фильтра по вертикали, в котором контроллер фильтра выполнен с возможностью извлекать вторичные параметры, основанные на параметре SAO класса и/или параметре SAO типа SAO фильтра, и/или в котором контроллер фильтра выполнен с возможностью выбирать две или более кодовые книги на основании параметра SAO типа.

11. Способ для конфигурирования последовательности фильтров для видеокодирования, при этом способ содержит:

регулировку одного или нескольких вторичных параметров на основании одного или нескольких первичных параметров и на основании критерия мощности последовательности фильтров и

конфигурирование последовательности фильтров первичными и вторичными параметрами, в котором критерий мощности содержит:

отношение коэффициента усиления для высокочастотной области и коэффициента усиления для низкочастотной области и/или

отношение значения контрастности перед фильтрованием и значения контрастности после фильтрации.

12. Способ по п. 11, дополнительно содержит начальный этап определения одного или нескольких первичных параметров из битового потока.

13. Машиночитаемый носитель информации, хранящий программный код, при этом программный код содержит инструкции для осуществления способа по одному из пп. 11 или 12.



 

Похожие патенты:

Изобретение относится к кодированию и декодированию видеосигналов с компенсацией аффинного движения и предназначено для управления буфером системы кодирования видеосигналов.

Изобретение относится к вычислительной технике. Технический результат заключается в сокращении нежелательного использования памяти.

Изобретение относится к области видеокодирования. Техническим результатом является обеспечение режима кодирования с планарным предсказанием с низкой сложностью, который может улучшить эффективность кодирования с внутрикадровым предсказанием.

Изобретение относится к вычислительной технике. Технический результат – повышение эффективности кодирования/декодирования видеопотока.

Изобретение относится к вычислительной технике. Технический результат – улучшение качества предсказания путем уменьшения артефактов квантования опорного кадра.

Изобретение относится к вычислительной технике. Технический результат – улучшение качества кодирования/декодирования потока видео.

Изобретение относится к вычислительной технике. Технический результат - улучшение кодирования/декодирования видеопотока последовательных кадров.

Изобретение относится к области декодирования видеосигнала. Технический результат заключается в повышении эффективности декодирования видеосигнала на основе блока-кандидата на слияние.

Изобретение относится к области декодирования видеосигнала на основе блока-кандидата на слияние. Технический результат заключается в повышении эффективности декодирования видеосигнала на основе блока-кандидата на слияние.

Изобретение относится к области кодирования/декодирования, в частности к кодированию в интра-режиме стандарта Высокоэффективного Кодирования Видеосигнала (HEVC). Техническим результатом является повышение эффективности кодирования/декодирования информации о режимах предсказания.
Наверх