Управление деблочной фильтрацией

Иллюстрации

Показать все

Изобретение относится к управлению фильтрацией и, в частности, к управлению деблочной фильтрацией на границах блоков в видеокадре. Техническим результатом является повышение эффективности деблочной фильтрации за счет устранения или уменьшения блочных артефактов. Специфическое для блока значение решения о фильтрации вычисляется для блока пикселей в видеокадре. Если специфическое для блока значение решения о фильтрации ниже специфического для блока порогового значения, каждая линия или столбец в блоке индивидуально обрабатывается для того, чтобы сделать выбор между сильным и слабым деблочным фильтром. По этой причине вычисляется соответствующее специфическое для линии значение решения о фильтрации для каждой строки или столбца в блоке и сравнивается со специфическим для линии пороговым значением. Если специфическое для линии значение решения о фильтрации, вычисленное для строки или столбца, ниже специфического для линии порогового значения, то для строки или столбца выбирается сильный деблочный фильтр, в противном случае, вместо этого выбирается слабый деблочный фильтр, чтобы бороться с любыми блочными артефактами. 5 н. и 6 з.п. ф-лы, 11 ил.

Реферат

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

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

УРОВЕНЬ ТЕХНИКИ

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

Традиционным подходом для борьбы с подобными блочными артефактами является использование деблочной фильтрации. В уровне техники для видеокодирования, например в H.264, цикличная фильтрация с адаптивным деблочным фильтром осуществляется после предсказания и остаточного кодирования, но перед сохранением восстановленного кадра для использования его в дальнейшем при кодировании последующих кадров, см. List et al., Adaptive Deblocking Filter, IEEE Transactions on Circuits and Systems for Video Technology, 2003, 13(7):614-619. Цикличная фильтрация состоит из решения о фильтрации, операции фильтрации, функции отсечения и изменения значений пикселей. Решение о том, осуществлять или нет фильтрацию границы, принимается на основе оценки нескольких условий. Решение о фильтрации зависит от типа макроблока, разности вектора движения (MV) между соседними блоками, если один из соседних блоков имеет закодированный остаток, и от локальной структуры текущего блока или соседних блоков.

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

В H.264 решение о фильтрации принимается на основе значений пикселей между границей блоков двух соседних блоков. Это применяется как к вертикальной границе блока, так и к горизонтальной границе блока. Граница может представляться пикселями a, b, c и d в одном блоке и e, f, g и h в другом блоке, где граница блока находится между d и e, см. ниже:

abcd|efgh

Решение о фильтрации основывается на сравнении трех разностей пикселей с различными пороговыми значениями. Пороговые значения адаптируются к параметру квантования (QP). Если следующие условия выполняются, то решение о фильтрации является положительным |d-e|<T1, |c-d|<T2 и |e-f|<T2, где T1 и T2 подбираются на основе QP.

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

d' =d+∆c и e' =e-∆c

где ∆c было отсечено до порогового значения ±T3 и ограничено QP. Для высоких QP разрешается большая фильтрация, чем для низких QP. Отсечка может описываться как:

c=Max(-T3, Min(T3, ∆))

Сила фильтрации может увеличиваться, если соблюдается любое из следующих условий |b-d|< T2 и |e-g|< T2. Сила фильтрации также корректируется путем отсечки менее, чем дельта-значения, например для обеспечения большей вариации.

Второй (сильный) режим фильтрации применяется только для границы интрамакроблока, когда выполняется следующее условие |d-e|<T1/4.

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

В US 2006/0078048 раскрывается упрощение, применяемое к деблочной фильтрации в H.264, которое снижает вычислительную сложность по сравнению со стандартными решениями о фильтрации H.264. Проверка решения для проведения нормальной фильтрации или непроведения фильтрации осуществляется на основе одной строки или столбца или подгруппы строк или столбцов, пересекающих границу между двумя макроблоками. Это решение затем применяется ко всем строкам или столбцам, пересекающим эту границу. Как следствие, единственное решение о фильтрации вычисляется для каждой границы макроблока, и это единственное решение о фильтрации применяется ко всем линиям, пересекающим границу макроблока. Существенным ограничением, связанным с адаптивной деблочной фильтрацией, раскрытой в US 2006/0078048, является то, что выполняется только нормальная фильтрация, которая может приводить к видимым артефактам на границах блоков, поскольку более сильная фильтрация не является возможной.

РАСКРЫТИЕ ИЗОБРЕТЕНИЯ

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

Эта и другие цели достигаются вариантами осуществления, раскрытыми в данном документе.

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

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

Фиг.1 - схематичная иллюстрация решения о фильтрации на основе блока и на основе строки, в соответствии с вариантом осуществления;

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

Фиг.3A и 3B - два варианта осуществления соседних блоков и границы блока, для которых может быть применена деблочная фильтрация;

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

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

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

Фиг.7 - реализация устройства управления фильтрацией в соответствии с вариантом осуществления;

Фиг.8 - блок-схема кодера в соответствии с вариантом осуществления;

Фиг.9 - блок-схема декодера в соответствии с вариантом осуществления; и

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

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ

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

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

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

Далее варианты осуществления описаны более подробно со ссылкой на фиг.2, которая иллюстрирует блок-схему последовательности операций способа управления фильтрацией в соответствии с вариантом осуществления, применимым к блоку множества пикселей в видеокадре. Как хорошо известно в данной области техники, видеокадр разделяется на неперекрывающиеся блоки пикселей, которые кодируются и декодируются в соответствии с различными доступными режимами интер- и интракодирования. Обычно, видеокадр разделяется на неперекрывающиеся макроблоки из 16×16 пикселей. Такой макроблок, в свою очередь, может разделяться на меньшие блоки различных размеров, например 4×4 или 8×8 пикселей. Однако в соответствии с вариантами осуществления также возможны прямоугольные блоки, такие как 4×8, 8×4, 8×16 или 16×8. Варианты осуществления изобретения могут применяться к любым подобным блокам пикселей, включая макроблоки или даже более крупные блоки пикселей. В конкретном варианте осуществления способ управления фильтрацией применим ко всем блокам множества пикселей, имеющим, по меньшей мере, 8 пикселей в вертикальном направлении и/или горизонтальном направлении. В данной области техники часто применяются разделение на единицы предсказания и единицы преобразования, чтобы обозначить такой блок из множества пикселей.

В новом стандарте высокоэффективного видеокодирования (HEVC) используются единицы кодирования (CU). Размер CU в настоящее время варьируется от 64×64 пикселей (наибольший) до 4×4 пикселей (наименьший). Таким образом, наибольший CU может быть разделен на меньшие CU c «уровнем гранулярности», зависящим от локальных характеристик кадра. Это означает, что наибольший CU может разделяться на меньшие CU различных размеров. Варианты осуществления также могут использоваться в связи с такими единицами кодирования, которые могут рассматриваться как подпадающие под определение «блок пикселей», используемое в данном документе.

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

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

Адаптивная деблочная фильтрация проводится вдоль границы, края или раздела между соседними блоками. Как следствие, такие границы могут являться вертикальными границами 1, см. фиг.3A, между двумя соседними блоками 10, 20, находящимися бок о бок в видеокадре. Альтернативно, границы являются горизонтальными границами 1, см. фиг.3B, между двумя соседними 10, 20, где один блок 10 располагается над другим блоком 20 в видеокадре. В конкретном варианте осуществления сначала фильтруются вертикальные границы, начиная с самой левой границы и продолжая по границам по направлению к правой стороне в их геометрическом порядке. Затем фильтруются горизонтальные границы, начиная с границы наверху и продолжая по границам по направлению книзу в их геометрическом порядке. Однако варианты осуществления не ограничиваются этим конкретным порядком фильтрации и по существу могут применяться с любым предварительно определенным порядком. В конкретном варианте осуществления границы на краю видеокадра предпочтительно не фильтруются и, вследствие этого, исключаются из деблочной фильтрации.

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

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

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

Следующий этап S2 сравнивает специфическое для блока значение решения о фильтрации (BS FDV) со специфическим для блока пороговым значением (TBS). Если специфическое для блока значение решения о фильтрации ниже специфического для блока порогового значения, способ продолжается этапом S3. Однако если специфическое для блока значение решения о фильтрации не ниже специфического для блока решающего значения, то деблочная фильтрация не должна применяться к блоку по отношению к соответствующей границе. Это означает, что способ заканчивается или возвращается на этап S1, на котором обрабатывается следующий блок множества пикселей в видеокадре, что схематично иллюстрируется строкой L2.

Если специфическое для блока значение решения о фильтрации ниже специфического для блока порогового значения, что определяется на этапе S2, то деблочная фильтрация должна применяться к блоку и соответствующей границе. Тогда способ продолжается на этапе S3. Этап S3 формирует, вместе с этапами S4-S6, цикл, который выполняется для каждой линии пикселей в блоке, т.е. строки или столбца, в зависимости от того, является ли граница вертикальной или горизонтальной. На этапе S3 вычисляется специфическое для линии значение решения о фильтрации для текущей линии в блоке. Специфическое для линии значение решения о фильтрации вычисляется на основе, по меньшей мере, одного значения пикселя в текущей линии и, по меньшей мере, одного значения пикселя в соответствующей линии в соседнем блоке. В варианте осуществления только единственное значение пикселя в линии и единственное значение пикселя в соответствующей линии применяются в вычислении. В других вариантах осуществления применяется множество, т.е., по меньшей мере, два значения пикселей в линии и множество значений пикселей в соответствующей линии. По меньшей мере, одно значение пикселя в линии представляет собой значение пикселя для, по меньшей мере, одного пикселя в предварительно определенной(ых) позиции(ях) в линии, по отношению к границе. Например, если применяется единственное значение пикселя, то оно может соответствовать значению пикселя для пикселя в ближайшей к границе линии. Неограничивающие примеры применения множества значений пикселей включают в себя использование значений пикселей для двух пикселей в ближайшей к границе линии, трех пикселей в ближайшей к границе линии или ближайшего к линии пикселя и третьего ближайшего к линии пикселя.

Вычисленное специфическое для линии значение решения о фильтрации (LS FDV) сравнивается со специфическим для линии пороговым значением (TLS) на этапе S4. Если специфическое для линии значение решения о фильтрации ниже специфического для линии порогового значения, способ продолжается на этапе S5, где выбирается второй или сильный деблочный фильтр для применения к пикселям в текущей линии пикселей, чтобы подвергнуть фильтрации и изменить значение, по меньшей мере, одного значения пикселя в текущей линии. Однако если специфическое для линии значение решения о фильтрации не ниже специфического для линии порогового значения на этапе S4, то вместо этого способ продолжается на этапе S6, где выбирается первый, нормальный или слабый деблочный фильтр. Затем слабый деблочный фильтр применяется к пикселям в текущей линии пикселей, чтобы подвергнуть фильтрации и изменить значение, по меньшей мере, одного значения пикселя в текущей линии. Сильный деблочный фильтр, выбираемый на этапе S6, в этом случае имеет сравнительно более высокую силу фильтрации по сравнению со слабым деблочным фильтром, выбираемом на этапе S6.

Цикл этапов с S3 по S5/S6 повторяется для каждой линии в блоке, что схематично проиллюстрировано строкой L1. Это означает, что для данного блока имеется возможность того, что сильный деблочный фильтр выбирается для всех линий, что слабый деблочный фильтр выбирается для всех линий или что сильный деблочный фильтр выбирается для некоторых линий, тогда как слабый деблочный фильтр выбирается для других линий в этом блоке. Различные строки пикселей или столбцы пикселей могут обрабатываться последовательно, начиная, например, с верхней строки или самого левого столбца и затем продолжая по направлению к нижней строке или самому правому столбцу в блоке. Альтернативно, различные линии пикселей в блоке могут обрабатываться параллельно, чтобы ускорить способ управления фильтрацией.

Как только все линии блока будут обработаны циклом этапов S3-S5/S6, способ заканчивается или возвращается на этап S1, чтобы начаться заново для другого блока пикселей в видеокадре.

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

Различные варианты осуществления решений о фильтрации далее описываются более подробно.

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

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

В конкретном варианте осуществления специфическое для блока значение решения о фильтрации вычисляется на основе значений пикселей в первой предварительно определенной линии 14 в блоке 10 и соответствующей первой предварительно определенной линии 24 в соседнем блоке 20, и во второй предварительно определенной линии 16 в блоке 10 и соответствующей второй предварительно определенной линии 26 в соседнем блоке 20. Первая и вторая предварительно определенные линии 14, 16 преимущественно соответствуют предварительно определенным номерам строк в блоке 10 (фиг.3A) или предварительно определенным номерам столбцов (фиг.3B), и соответствующие первая и вторая предварительно определенные линии 24, 26 представляют собой соответствующие предварительно определенные номера строк или номера столбцов в соседнем блоке 20.

Две предварительно определенные линии предпочтительно являются разнесенными. Следовательно, первое значение решения о фильтрации может вычисляться как |p22-2p12+p02|+|q22-2q12+q02|+ |p25-2p15+p05|+|q25-2q15+q05|. В этой формуле и далее здесь pki обозначает значение пикселя для пикселя с номером i строки и номером k столбца в блоке 10, см. фиг.3A, или значение пикселя для пикселя с номером i строки и номером k столбца в блоке 10, см. фиг.3B. qki соответственно обозначает значение пикселя для пикселя в соседнем блоке 20. В конкретном варианте осуществления блока, проиллюстрированного на фиг.3A и 3B, k=0, 1, 2, 3, i=0, 1, 2, 3, 4, 5, 6, 7. Это означает, что абсолютное значение вычисляется для строки/столбца с номером два 14, и строки/столбца с номером пять 16 в блоке 10, и для строки/столбца с номером два 24, и строки/столбца с номером пять 26 в соседнем блоке 20. Каждое абсолютное значение определяется как абсолютное значение значения пикселя для пикселя, ближайшего к границе 1 блока в соответствующих строке/столбце 14, 16, 24, 26, плюс значение пикселя для второго ближайшего пикселя к границе 1 блока в соответствующих строке/столбце 14, 16, 24, 26, за вычетом удвоенного значения пикселя для следующего ближайшего пикселя к границе 1 блока в соответствующих строке/столбце 14, 16, 24, 26.

Альтернативные варианты осуществления для вычисления специфического для блока значения решения о фильтрации включают в себя |p22-2p13+p04|+|q22-2q13+q04|+|p25-2p14+p03|+|q25-2q14+q03| или |p22-2p13+p04+p25-2p14+p03|+|q22-2q13+q04+q25-2q14+q03|. В этих двух вариантах осуществления линии в блоке 10 и соответствующие линии в соседнем блоке 20 представляют собой диагональные линии множества пикселей.

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

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

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

Способ управления фильтрацией может применяться к различным вариантам осуществления вычисления специфического для линии значения решения о фильтрации. Например, специфическое для линии значение решения о фильтрации может вычисляться на основе значения пикселя для пикселя 11, ближайшего к границе 1 в линии 12 из пикселей 11, 13, 15, 17, и значения пикселя для пикселя 21, ближайшего к границе 1 в соответствующей линии 22 из пикселей 21, 23, 25, 27 в соседнем блоке 20: |p0i-q0i|. Альтернативное специфическое для линии значение решения о фильтрации, которое может использоваться в соответствии с вариантами осуществления изобретения, представляет собой |p3i-p0i|+|q0i-q3i|, т.е. равняется сумме абсолютной разности между значениями пикселей для пикселя 11, ближайшего к границе, и пикселя 17, четвертого ближайшего к границе 1 в линии 12, и абсолютной разности между значениями пикселей для пикселя 21, ближайшего к границе, и пикселя 27, четвертого ближайшего к границе 1 в соответствующей линии 22 соседнего блока 20. Дополнительный пример специфического для линии решения о фильтрации представляет собой |2p3i-p2i-2p1i|+|q0i-2q1i-q2i-2q3i|.

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

Первое подобное специфическое для линии значение решения о фильтрации может указывать, насколько близко значения пикселей в текущей линии пикселей аппроксимируют гладкую линию и насколько близко значения пикселей в соответствующей линии пикселей в соседнем блоке аппроксимируют гладкую линию. В конкретном варианте осуществления первое специфическое для линии решение о фильтрации вычисляется как |p3i-p0i|+|q0i-q3i|. Это специфическое для линии решение о фильтрации затем может дополняться, по меньшей мере, одним дополнительным специфическим для линии решением о фильтрации. Причиной для этого является то, что любые изменения в значениях пикселей, вызванные сильной фильтрацией (этап S5 на Фиг.2) не являются ограниченными. Например, если, по меньшей мере, значения пикселей в текущей линии блока и значения пикселей в соответствующей текущей линии соседнего блока являются практически равными, то первое специфическое для линии значение решения о фильтрации будет равным или близким нулю. Однако возможно, что значения пикселей в текущей линии, хотя и будучи примерно равными, довольно сильно отличаются от значений пикселей в соответствующей текущей линии. Такая ситуация может произойти, если имеется реальная структура или край, совпадающий с границей блока. Это означает, что край возникает не по причине блочного артефакта, но является изначальной принадлежностью конкретного видеокадра, и поэтому его не нужно отфильтровывать. Вследствие этого может являться преимущественным добавление второго специфического для линии решения о фильтрации, чтобы обнаруживать такие края, совпадающие с границей блока.

Второе специфическое для линии значение решения о фильтрации преимущественно показывает абсолютную разницу между значением пикселя для пикселя, ближайшего к границе блока в текущей линии, и значения пикселя для пикселя, ближайшего к границе блока в соответствующей текущей линии в соседнем блоке. Другими словами, второе специфическое для линии значение решения о фильтрации преимущественно равняется |p0i-q0i|. Затем этап S4 сравнивает первое специфическое для линии значение решения о фильтрации с первым специфическим для линии пороговым значением и сравнивает второе специфическое для линии значение решения о фильтрации со вторым специфическим для линии пороговым значением. Если оба специфических для линии значения решения о фильтрации находятся ниже их соответствующих ассоциированных специфических для линии пороговых значений, то способ продолжается на этапе S5 по фиг.2, где сильный деблочный фильтр выбирается для применения к пикселям в текущей линии. В противном случае, способ продолжается на этапе S6 по фиг.2, на котором вместо этого выбирается слабый деблочный фи