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

Иллюстрации

Показать все

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

Реферат

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

Передающая система, аналогичная изображенной на Фиг.1, в общем используется для передачи цифрового видеоизображения в сжатой форме. Видеоизображение формируют из последовательных кадров. В некоторых известных системах передачи видеосигнала, например, системах, соответствующих рекомендациям ITU-T H.261/H.263 (Комитет по стандартизации в составе ITU (Международного союза по электросвязи)), определены, по меньшей мере, три типа кадра: I-кадр (внутренний), P-кадр (предсказуемый или промежуточный) и B-кадр (двунаправленный кадр). I-кадр формируют исключительно на основании информации, содержащейся непосредственно в изображении, причем на приемном конце этот I-кадр можно использовать для формирования полного изображения. P-кадры формируют на основании предшествующего I-кадра или P-кадра, причем на стадии приема предшествующий I-кадр или P-кадр, соответственно, используют вместе с принятым P-кадром для восстановления изображения. В компоновке P-кадров, например, для сжатия количества информации используют компенсацию движения. B-кадры формируют на основании одного или нескольких предшествующих P-кадров или I-кадров и/или одного или нескольких последующих P- или I-кадров.

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

Рассмотрим Фиг.1, которая иллюстрирует типичную систему кодирования и декодирования (кодек), используемую, например, при передаче цифрового видеосигнала, при этом подлежащий кодированию текущий кадр видеосигнала поступает в передающую систему 10 в виде входных данных In(x,y). Входные данные In(x,y) обычно принимают форму информации значения пиксела. В дифференциальном сумматоре 11 она преобразуется в кадр En(x,y) ошибки предсказания посредством вычитания из нее прогнозируемого кадра Pn(x,y), сформированного на основании предыдущего изображения. Кадр ошибки предсказания кодируют в блоке 12 описанным ниже способом, и закодированный кадр ошибки предсказания направляют в мультиплексор 13. Для формирования нового прогнозируемого кадра, закодированный кадр ошибки предсказания также направляют в декодер 14, образующий декодированный кадр Кn(x,y) ошибки предсказания, который суммируют в сумматоре 15 с прогнозируемым кадром Pn(x,y), формируя в результате декодированный кадр Ĩn(x,y). Декодированный кадр сохраняют в памяти 16 кадров. Чтобы закодировать следующий кадр, сохраненный в памяти 16 кадров, кадр считывают, как эталонный кадр Rn(x,y), и преобразуют в новый прогнозируемый кадр Pn(x,y) в блоке 17 компенсации и предсказания движения согласно формуле

Pn(x,y) = Rn[x + Dx(x,y), y + Dy(x,y)] (1)

Пара чисел [Dx(x,y), Dy(x,y)] называется вектором движения пиксела в местоположении (x,y), а числа Dx(x,y) и Dy(x,y) являются горизонтальным и вертикальным сдвигами пиксела. Они рассчитываются в блоке 18 оценки движения. Набор векторов движения [Dx(·), Dy(·)], состоящий из всех векторов движения, связанных с пикселами подлежащего сжатию кадра, также кодируется с использованием модели движения, содержащей базисные функции и коэффициенты. Базисные функции известны и кодеру, и декодеру. Значения коэффициентов кодируют и направляют в мультиплексор 13, который мультиплексирует их в один и тот же поток данных с закодированным кадром ошибки предсказания для посылки в приемное устройство. Таким образом, количество подлежащей передаче информации сильно сокращается.

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

В системе 20 приемного устройства демультиплексор 21 разделяет закодированные кадры ошибки предсказания и информацию движения, передаваемую векторами движения, и направляет закодированные кадры ошибки предсказания в декодер 22. Декодер 22 создает декодированный кадр ошибки предсказания Кn(x,y), который суммируется сумматором 23 с прогнозируемым кадром Pn(x,y), сформированным на основании предыдущего кадра, давая в результате декодированный кадр Ĩn(x,y). Декодированный кадр направляют к выходу 24 декодера и в то же время сохраняют в памяти 25 кадров. При декодировании следующего кадра сохраненный в памяти кадров кадр считывают, как эталонный кадр, и преобразуют в новый прогнозируемый кадр в блоке 26 компенсации и предсказания движения, в соответствии с представленной выше формулой (1).

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

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

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

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

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

- округлением нового значения до самого близкого цифрового значения пиксела.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

a) типа блоков с обеих сторон границы (например, промежуточный, копирования, кодированный, не кодированный),

b) разности значений Δ пикселов через границу блоков. Разность можно определять несколькими путями. Одним определением является Δ = |r1 - l1|, где r1 - значение пиксела на первой стороне границы блоков, ближайшего к границе, а l1 - значение пиксела на второй стороне границы блоков, ближайшего к границе,

c) размера шага QP квантования коэффициентов, полученных в результате используемого при кодировании преобразования, и

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

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

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

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

Фиг.1 представляет систему кодирования и декодирования (кодек) цифрового видеоизображения, известную из уровня техники,

Фиг.2 представляет расположение пикселов относительно границы блоков в примерном варианте осуществления способа согласно изобретению,

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

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

Фиг.5 представляет устройство согласно Фиг.4 в действии, и

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

В приведенном выше описании в связи с описанием уровня техники сделана ссылка на Фиг.1. В последующем описании изобретения и его предпочтительных вариантов осуществления ссылка будет сделана главным образом на Фиг. 2-5. На чертежах одни и те же ссылочные позиции используются для обозначения соответствующих частей.

Фиг.2 изображает местоположение пикселов r1-r6 и l1-l6 относительно вертикальной границы 30 блоков. Для осуществления способа по изобретению определяют некоторые параметры. Параметр n представляет самое большое количество подлежащих исследованию пикселов от границы блоков в одном направлении, и в случае Фиг.2 это значение составляет 6. Целесообразно выбирать значение параметра n так, чтобы он имел некоторое отношение и к разности значений Δ пикселов через границу блоков, и к размеру шага QP квантования коэффициентов, полученных в результате кодирования изображения. Кроме того, значение параметра n преимущественно меньше или равно количеству пикселов в блоке в направлении исследования для исключения возможности блокирующих искажений, связанных с границами предыдущих блоков, распространяющимися к исследуемой границе блоков. Для использования в предпочтительном варианте осуществления изобретения применяемого для блоков изображения, содержащих 8×8 пикселов, рекомендуется следующее определение:

где α = QP·log(QP). Если QP имеет различное значение в блоках на разных сторонах границы блоков, в вычислениях используется меньшее значение QP, а также во всех представленных ниже случаях, в которых определение содержит ссылку только на одно значение QP. Изобретение не накладывает никакие ограничения на определение значения параметра n, но согласно установкам выражения (2), преимущественно его значение в общем выше, когда разность Δ значений пикселов через границу блоков маленькая по сравнению с размером шага QP квантования коэффициентов, полученных в результате преобразования кодирования. Если разность между значениями Δ пикселов большая, есть высокая вероятность того, что на границе блоков имеется край действительного изображения, и в этом случае пикселы предпочтительно вообще не исследуют для фильтрации (n=0).

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

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

Таблица 1
Тип блока на второй стороне границы
Тип блока на первой стороне границы ВНУТРЕННИЙ КОПИРОВАНИЯ КОДИРОВАННЫЙ НЕ КОДИРОВАННЫЙ
ВНУТРЕННИЙ n n 2 2 n 4 N 2
КОПИРОВАНИЯ 2 2 2 2 2 4 2 2
КОДИРОВАННЫЙ 4 n 4 2 4 4 4 2
НЕ КОДИРОВАННЫЙ 2 n 2 2 2 4 2 2

Каждая ячейка таблицы 1, соответствующая конкретной комбинации типов областей, разбита на две части. Значение слева дает сокращенное значение (СЗ) для первой стороны границы блоков, а значение справа дает сокращенное значение СЗ для второй стороны границы. Если значение параметра n превышает значение, данное в таблице 1, n сокращается до сокращенного значения СЗ, приведенного в таблице 1. Однако, если значение полного параметра использования n не превышает значение, данное в таблице 1, значение параметра n (первоначально определенное из выражения (2)) сохраняется. В таблице 1 символ "n" указывает, что дополнительное сокращение не выполняется и значение параметра сохраняется. Сокращенное значение nсокр для параметра n также может быть представлено формулой.

nсокр = мин(СЗ,n). (3)

Одну и ту же таблицу можно использовать как для фильтрации через вертикальные границы блоков (горизонтальная фильтрация), посредством введения "Левая/Правая" вместо "Первая/Вторая", так и для фильтрации через горизонтальные границы блоков (вертикальная фильтрация), посредством введения "Нижняя/Верхняя" вместо "Первая/Вторая" соответственно. Теперь значение слева дает сокращенное значение для пикселов слева/ниже границы блоков, а значение справа дает сокращенное значение для пикселов справа/сверху границы.

Чтобы дополнительно пояснять использование таблицы 1, дальше представлена примерная ситуация. В этой иллюстративной примерной ситуации "горизонтальная фильтрация" выполняется на протяжении вертикальной границы 30 блоков. При предположении, что значение для параметра n, рассчитанное из уравнения 2, составляет, например 4, блок на левой стороне от рассматриваемой границы 30 блоков имеет внутренний тип, а блок на правой стороне рассматриваемой границы 30 блоков имеет некодированный тип, таблица 1 указывает, что сокращенное значение для левой стороны составляет n, а сокращенное значение для правой стороны равно 2. Это значит, что выбираются 4 пиксела, ближайшие к границе блоков (= расчетному значению n), для исследования с левой стороны границы и выбираются 2 пиксела, ближайшие к границе блоков (= сокращенному значению n), для исследования с правой стороны.

Ниже представлена другая примерная ситуация. В этой иллюстративной примерной ситуации "горизонтальная фильтрация" выполняется через вертикальную границу 30 блоков. При предположении, что значение параметра n, рассчитанное из уравнения (2), составляет, например, 4, и блоки с обеих сторон рассматриваемой границы 30 блоков имеют тип копирования, таблица 1 указывает, что сокращенное значение для левой стороны равно 2 и сокращенное значение для правой стороны равно 2. Это означает, что выбираются 2 пиксела, ближайшие к границе блоков (= сокращенному значению n), для исследования с левой стороны границы и выбираются 2 пиксела, ближайшие к границе блоков (= сокращенному значению n), для исследования с правой стороны.

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

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

иначе: , где удовлетворяет условиям

, и

Здесь вспомогательный параметр β = 4·log(QP). Значение параметра dl определяется точно также, за исключением того, что все символы r заменяются на символы l, а для параметра n должно использоваться соответствующее сокращенное значение nсокр. В определении (4) появляется число 6, поскольку согласно уравнению (2) самое высокое возможное значение n в этом случае составляет 6. Если n определяется по-другому, но параметры dr и dl определяются согласно определению (4), число 6 следует заменить самым высоким возможным значением n в соответствии с новым определением.

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

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

Если блоки с обеих сторон границы блоков являются блоками внутреннего типа, сокращение не влияет на выбор значений параметров n, dr и dl. С другой стороны, если по меньшей мере один из блоков имеет тип, отличающийся от внутреннего, сокращение значения n согласно формуле (3) может ограничивать количество фильтруемых пикселов. Это имеет преимущество, что границы блоков не сглаживаются слишком сильно.

Кроме того, следует принять решение относительно самого большого возможного количества пикселов, которые подлежат фильтрации. Это не имеет своего собственного обозначения на Фиг.2, но может составлять, например, 3, а это означает, что фильтрация может использоваться только для корректирования значения пикселов r1, r2, r3, l1, 12 и l3.

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

В таблице 2 показано определение ширины полосы пропускания фильтрации для пикселов r1, r2 и r3 в соответствии со значением параметра dr в предпочтительном варианте осуществления изобретения. Значения пикселов l1, 12 и l3 определяются таким же способом в соответствии со значением параметра dl. В таблице 2 символ "X" означает, что рассматриваемый пиксел не фильтруется вообще, а число означает, что полоса пропускания фильтрации содержит количество пикселов, показанных этим числом, с каждой стороны исследуемого пиксела. Помимо всего прочего, в таблице 2 показано, что для фильтрации, которую нужно применять к какому-либо пикселу, оба параметра dr и dl должны иметь значение, превышающее 1.

Таблица 2
1 X X X
2 1 X X
3 1 1* X
4 2 2 X
5 2 2 2**
6 3 или 2*** 3 3
* Отфильтрованное значение пиксела r1 используется для фильтрации пиксела r2 ** Отфильтрованные значения пикселов r1 и r2 используются для фильтрации пиксела r3 *** 3, если dl > 2, в ином случае 2.

Приведенное выше описание касается осуществления фильтрации на одной горизонтальной части строки пикселов, которая имеет длину 12 пикселов и расположена симметрично с обеих сторон от вертикальной границы блоков. Описание можно легко обобщить относительно вертикальных частей столбцов пикселов, которые расположены симметрично с обеих сторон от горизонтальной границы блоков. Фиг.2 можно повернуть на 90 градусов против часовой стрелки, посредством чего граница 30 блоков становится горизонтальной, и пикселы, изображенные на чертеже, образуют часть вертикального столбца пикселов, так что пикселы r1-r6 становятся пикселами, расположенными выше границы, а пикселы l1-l6 - пикселами, расположенными ниже границы. Чтобы фильтровать границы блоков по всему кадру, применяя способ согласно изобретению, все вертикальные границы блоков кадра подвергаются исследованию строка за строкой и все горизонтальные границы блоков исследуются столбец за столбцом. Порядок по существу не имеет никакого значения, и таким образом, сначала могут быть исследованы все горизонтальные границы блоков кадра столбец за столбцом, а затем все вертикальные границы блоков строка за строкой. В преимущественном варианте осуществления изобретения фильтрация повторяется строка за строкой, то есть сначала фильтруется первая строка пикселов в блоках (помимо границы), затем вторая строка и т.д.

Фиг.3 изображает, в каких точках известную систему кодирования и декодирования (кодек) цифрового изображения можно улучшить посредством применения фильтрации согласно изобретению. Первый альтернативный вариант заключается в размещении блока, осуществляющего способ фильтрации согласно изобретению, на выходе декодера приемного устройства, как иллюстрируется ссылочной позицией 31. В этом случае границы блоков в кадре изображения фильтруются после декодирования всех блоков внутри кадра. Это требует, чтобы информация о типе блоков сохранялась для всех блоков в одном кадре. Другой альтернативный вариант заключается в размещении блока фильтрации в приемном устройстве перед точкой, в которой декодированный кадр направляется в память 25 кадров для формирования прогнозируемого кадра, как иллюстрируется ссылочной позицией 32. В этом случае, информация о типе блоков для всех блоков внутри кадра также должна сохраняться, поскольку фильтрация границы блоков все еще выполняется после декодирования и восстановления полного кадра. Однако этот альтернативный вариант имеет преимущество, заключающееся в том, что удаление блокирующих искажений также оказывает влияние на формирование прогнозируемого кадра, посредством чего блокирующие искажения в одном кадре не распространяются через прогнозируемый кадр к последующим кадрам. Для достижения только что описанного эффекта блок, который исполняет фильтрацию согласно изобретению, можно поместить либо перед, либо после памяти 25 кадров. Однако предпочтительным является местоположение, изображенное ссылочной позицией 32, поскольку когда фильтрация применяется на этой стадии, она влияет одновременно на кадр, подлежащий выведению декодером приемного устройства, и на кадр, подлежащий сохранению в памяти. В передающем устройстве блок, осуществляющий способ фильтрации согласно изобретению, можно помещать, как изображено ссылочными позициями 33 и 34, либо перед, либо после памяти 16 кадров. Таким образом, изобретение также можно использовать для создания откорректированного прогнозируемого кадра на передающем конце.

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