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

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

 

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

Изобретение относится к области обработки и кодирования изображений, в частности к способу пространственной фильтрации (loop filtering) при обработке и кодировании изображений.

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

По мере быстрого развития и распространения мультимедийных технологий и их приложений стандарт сжатия видеоданных и/или изображений Н.264, который был установлен рабочей группой по стандартизации JVT, совместно созданной организациями по стандартизации MPEG и ITU, стал широко применяться в видеоконференциях, видеотелефонии, потоковых мультимедийных данных, HD DVD, видеомониторинге, цифровом телевидении, в области связи 3-го поколения (3G) и т.д. благодаря выдающимся техническим характеристикам и хорошим показателям сжатия.

Схема осуществления сжатия стандарта Н.264 приведена на фиг.1. Основным элементом обработки является макроблок размером 16×16. Применяются ведущие технологии, такие как использование нескольких опорных кадров (multi-frame reference), предсказание без использования компенсации движения (intra prediction), режим обработки многих макроблоков (multi-macroblock mode), интегральное преобразование и дискретизация 4×4, пространственная фильтрация, компенсация движения по 1/4 пикселя, контекстно зависимое адаптивное кодирование с переменной длиной кодового слова (Context Adaptive Variable Length Coding, CAVLC), контекстнозависимое адаптивное бинарное арифметическое кодирование (Context Adaptive Binary Arithmetic Coding, CABAC), энтропийное кодирование и т.п.По этим причинам степень сжатия по сравнению с MPEG-2, H.263 и MPEG-4 ASP удваивается.

Кроме того, рабочая группа КНР по стандартам цифрового видео- и аудиокодирования/декодирования (также известная как AVS) начала устанавливать серию стандартов, сходных с стандартом MPEG, с 2002 г., включая стандарт видеокодирования, стандарт аудиокодирования, системный стандарт, стандарт цифрового управления правами (Digital Rights Management, DRM) и т.д., и выпустила системный стандарт AVS, часть 1 и видеостандарт AVS, часть 2 в декабре 2003 г., а видеостандарт AVS, часть 7 - в декабре 2004 г.

В стандартах видеокодирования Н.264 и AVS изображения должны обрабатываться блоками и до некоторой степени в каждом кодовом блоке после преобразования и дискретизации появляется артефакт блочности. Появление артефактов блочности главным образом вызвано погрешностями при дискретизации и является результатом обработки блоками. Артефакты блочности представлены двумя различными видами: трапециевидный шум (trapezoid noise) и сеточный шум (grid noise) в зависимости от содержания изображения в области блоков. Подобные шумы увеличивают резкость краев изображения и даже могут вызвать области с блочностью.

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

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

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

Далее приводится описание реализации пространственной фильтрации в стандарте AVS, часть 2. Процедура, в частности, состоит в следующем.

Прежде всего рассчитываются «сила» (отчетливость) границы и разность величин пикселей, как описано ниже.

Исходя из информации кодирования макроблока, вычисляется сила Bs границы. Если макроблок является интрамакроблоком (т.е. макроблоком, кодируемым без использования компенсации движения), тогда Bs=2. Если макроблок является интермакроблоком (т.е. макроблоком, кодируемым с использованием компенсации движения) и вектор движения в текущем кадре отличается от вектора движения в опорном кадре на границе блока, тогда Bs=1. Если макроблок является интермакроблоком и вектор движения в текущем кадре совпадает с вектором движения в опорном кадре на границе блока, тогда Bs=0.

Согласно параметру дискретизации (quantization parameter, QP) создается таблица пороговых величин разности величин пикселей между двумя парами смежных пикселей и разность между смежными парами пикселей на границе блока сравнивается с таблицей пороговых величин.

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

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

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

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

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

Раскрытие изобретения

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

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

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

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

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

Шаг определения силы границы включает определение силы границы, равной 0, если количество сходных пикселей меньше, чем первая заданная величина;

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

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

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

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

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

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

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

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

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

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

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

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

На фиг.1 представлена схема, иллюстрирующая сжатие в соответствии со стандартом Н.264;

На фиг.2 представлена диаграмма, иллюстрирующая примерный вариант осуществления способа по настоящему изобретению;

На фиг.3 схематично представлена граница кодового блока.

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

Осуществление изобретения

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

Настоящее изобретение описано ниже с помощью прилагаемых фигур 1-4. Кодовый блок в данном случае представляет собой блок 8×8. Способы для других кодовых блоков (например, блока 4×4) аналогичны описываемому здесь способу. Как показано на фиг.2, способ в соответствии с примерным вариантом осуществления настоящего изобретения включает следующие этапы.

Прежде всего вычисляется «сила» (отчетливость) границы.

На шаге 21 вычисляется число «num» сходных пикселей в граничной области кодового блока. Граничная область может состоять из одной строки или одного столбца, а также из нескольких строк или нескольких столбцов.

Под так называемыми сходными пикселями имеются в виду пара пикселей с разностью величин пикселей меньшей, чем пороговая величина равномерности. Пороговая величина равномерности может быть получена поиском в таблице посредством индекса, вычисляемого через среднюю величину QP (параметра дискретизации), обозначаемую QPav, двух кодовых блоков. Под числом сходных пикселей имеется в виду сумма пар сходных пикселей на одной стороне и на обеих сторонах края кодового блока. Как показано на фиг.3, Ln, Hn, Rn, Kn (0<=n<=7) представляют собой 32 пикселя на границе кодового блока, и параметр "num" рассчитывается по следующей формуле:

В приведенной выше формуле abs (A-B) представляет собой операцию взятия абсолютной величины (A-B). Этот же способ применим и к горизонтальной границе. Рассчитываются разности между тремя группами пикселей в горизонтальном направлении, а затем вычисляется сумма разностей для получения параметра «num». Символ «?» означает взятие величины А из А:В, если величина перед символом больше 0, и взятие величины В, если величина перед символом равна или меньше 0.

Th1 и Th2 являются пороговыми величинами равномерности, которые могут быть получены поиском в таблице посредством индекса, вычисляемого через среднюю величину QP, обозначаемую QPav, двух блоков.

QPav между двумя блоками берется как QPav=(QPp+QPq+1) » 1, а индекс равен QPav / 5.

Величины Th1 и Th2 могут быть получены из следующей таблицы в соответствии с установленной взаимосвязью между индексом и Th1 и Th2:

Индекс Th1 Th2
0 0 0
1 0 0
2 0 1
3 1 1
4 1 2
5 2 2
6 2 2
7 2 2
8 2 2
9 2 2
10 2 2
11 2 3
12 2 3

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

В частности, если изображение является изображением высокой четкости или стандартной четкости (ширина в горизонтальном направлении больше, чем 500 или равна 500 пикселям):

1. Если num<4, сила=0;

2. Если num>=4 и num<12, сила=1;

3. Если num>=12, сила=2.

Если изображение не является изображением высокой четкости или стандартной четкости (например, ширина в горизонтальном направлении меньше 500 пикселей):

1. Если num<4, сила=0;

2. Если num>=4 и num<16, сила=1;

3. Если num>=16, контрастность=2.

Здесь «4», «12» и «16» являются примерами пороговых величин, используемых в воплощениях настоящего изобретения. В другом примерном варианте могут быть также использованы и другие величины.

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

На шаге 23 определяется, имеется ли интра-блок. Если интра-блок имеется, то далее выполняется шаг 24. Если интра-блока нет, то далее выполняется шаг 25.

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

При выполнении шага 24, если кодовый блок является интра-блоком, сила границы кодового блока увеличивается на 1, после чего выполнение переходит на шаг 25.

Затем в соответствии с вычисленной силой границы производится фильтрация.

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

При выполнении шага 25 определяется, является ли текущий край реальным краем. Если текущий край не является реальным краем, то выполнение переходит на шаг 26. В противном случае выполнение завершается.

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

Чтобы определить, является ли край кодового блока реальным краем, прежде всего необходимо вычислить разности величин пикселей посредством одномерного линейного оператора. Операндом может выступать предварительно заданное одномерное окно. Например, могут быть использованы пара пикселей на обеих сторонах края кодового блока (RO и LO, как показано на фиг.4) и две пары пикселей в кодовом блоке (LO и L1, RO и R1).

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

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

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

(1) Таблица α представляется как:

byte ALPHAA-TBLE [64]=

{

0,0,0,0,0,0,1,1,

1,1,1,2,2,2,3,3,

4,4,5,5,6,7,8,9,

10,11,12,13,15,16,18,20,

22,24,26,28,30,33,33,35,

35,36,37,37,39,39,42,44,

46,48,50,52,53,54,55,56,

57,58,59,60,61,62,63,64

};

(2) Таблица β представляется как:

byte BETA_TABLE[64]=

{

0,0,0,0,0,0,1,1,

1,1,1,1,1,2,2,2,

2,2,3,3,3,3,4,4,

4,4,5,5,5,5,6,6,

6,7,7,7,8,8,8,9,

9,10,10,11,11,12,13,14,

15,16,17,18,19,20,21,22,

23,23,24,24,25,25,26,27

};

Индекс α β Индекс α β Индекс α β Индекс α β
0 0 0 16 4 2 32 22 6 48 46 15
1 0 0 17 4 2 33 24 7 49 48 16
2 0 0 18 5 3 34 26 7 50 50 17
3 0 0 19 5 3 35 28 7 51 52 18
4 0 0 20 6 3 36 30 8 52 53 19
5 0 0 21 7 3 37 33 8 53 54 20
6 1 1 22 8 4 38 33 8 54 55 21
7 1 1 23 9 4 39 35 9 55 56 22
8 1 1 24 10 4 40 35 9 56 57 23
9 1 1 25 11 4 41 36 10 57 58 23
10 1 1 26 12 5 42 37 10 58 59 24
11 2 1 27 13 5 43 37 11 59 60 24
12 2 1 28 15 5 44 39 11 60 61 25
13 2 2 29 16 5 45 39 12 61 62 25
14 3 2 30 18 6 46 42 13 62 63 26
15 3 2 31 20 6 47 44 14 63 64 27

Как показано на фиг.4, например, в горизонтальном направлении R0 вычитается из L0 для получения разности С1, R0 вычитается из R1 для получения разности С2, а L0 вычитается из L1 для получения разности С3. Если С1 меньше а, С2 меньше β и С3 меньше β, то устанавливается, что край изображения не является реальным краем и что можно выполнять фильтрацию. В противном случае фильтрация не производится.

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

На шаге 26 осуществляется фильтрация в режиме фильтрации, соответствующем силе границы.

Именно прежде всего определяется, равна ли сила границы 0. Если сила границы равна 0, выполнение завершается, т.к. фильтрация при силе границы 0 не нужна. Если сила границы не равна 0, процесс определения продолжается.

После этого определяется, равна ли сила границы 1. Если сила границы равна 1, то фильтрация выполняется в режиме фильтрации, соответствующем силе границы равной 1, т.е. в режиме дифференциальной фильтрации; в противном случае процесс определения продолжается, чтобы определить, не равна ли сила границы 2. Если сила границы равна 2, то фильтрация выполняется в режиме фильтрации, соответствующем силе границы равной 2; если нет, то фильтрация выполняется в режиме фильтрации, соответствующем силе границы равной 3.

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

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

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

Операторы фильтра, используемые в настоящем изобретении, делятся на три разновидности, что соответствует трем ненулевым значениям силы границы. Поскольку кодовый блок представляет собой блок 8×8, то окно фильтрации может быть расширено до фильтра с восемью элементами. Ниже описаны операторы со ссылкой на фиг.4. L0, L1, L2, L3 и R0, R1, R2, R3 представляют собой первоначально восстановленные величины пикселей, которые не фильтрованы, а I0, I1, I2, I3 и r0, r1, r2, r3 представляют собой величины пикселей, которые прошли фильтрацию.

(1) Если сила=1, фильтрация выполняется в режиме дифференциальной фильтрации;

разность Δ1=ICIip(-C0, C0, ((R0-L0)·3+(L1-R1)+4)>>3); после фильтрации I0=L0+Δ1, r0=R0-Δ1;

Δ2=ICIip(-C0, C0, ((I0-L1)·3+(L2-r0)+4)>>3), после фильтрации I1=L1+Δ2;

Δ3=ICIip(-C0, C0, ((R1-r0)·3+(I0-R2)+4)>>3), после фильтрации r1=R1-Δ3.

(2) Если сила=2, фильтрация выполняется в режиме усредняющей фильтрации:

r0=aq?(R1+(R0<<1)+L0+2)>>2:((R1<<1)+R0+L0+2)>>2;

I0=ар?((L0<<1)+L1+R0+2)>>2:((L1<<1)+L0+R0+2)>>2;

r1=aq?(R2+R1+r0+I0+2)>>2:R1;

I1=ар?(L2+L1+I0+r0+2)>>2:L1;

в используемом выше режиме фильтрации пара весовых коэффициентов (1,2, 1) и (1, 1,2) используется для RO;

пара весовых коэффициентов (1,2,1) и (1,1,1) используется для L0; и пара весовых коэффициентов (1,1,1,1) используется для R1 и L1.

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

r1=aq?(R2+R1+R0+L0+2)>>2:R1;

I1=ар?(L2+L1+L0+R0+2)>>2:L1;

где «d=a?b:c» означает, что d=b, если а>0, а в противном случае d=c.

(3) Если сила=3, фильтрация также выполняется в режиме усредняющей фильтрации:

r0=aq?((R1<<1)+R2+((R0+L0)<<1)+L1+4)>>3:(R1+(R0<<1)+L0+2)>>2;

I0=ар?(L2+(L1<<1)+((R0+L0)<<1)+R1+4)>>3:((L0<<1)+L1+R0+2)>>2;

r1=aq?(R0+(R1<<1)+L0+2)>>2:R1;

I1=ар?((L1<<1)+L0+R0+2)>>2:L1;

r2=aq?(R0+R1+(R2<<2)+(R3<<1)+4)>>3:R2;

I2=ар?(L0+L1+(L2<<2)+(L3<<1)+4)>>3:L2;

в используемом выше режиме фильтрации

пара весовых коэффициентов (1,2,2,2,2,1) и (1,2,1) используется для R0 и L0;

пара весовых коэффициентов (1,1,2) и (2,1,1) используется для R1 и L1; и

пара весовых коэффициентов (1,1,4,2) и (2,4,1,1) используется для R2 и L2;

где aq=(abs(R0-R2)<β; ар=(abs(L0-L2)<β.

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

byte CLIP_TAB[64]=

{

0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,

1,1,1,1,1,1,1,1,

1,1,1,1,1,1,2,2,

2,2,2,2,2,2,3,3,

3,3,3,3,3,4,4,4,

5,5,5,6,6,6,7,7,

7,7,8,8,8,9,9,9

},

Индекс CI Индекс CI Индекс CI Индекс CI
0 0 16 1 32 2 48 5
1 0 17 1 33 2 49 5
2 0 18 1 34 2 50 5
3 0 19 1 35 2 51 6
4 0 20 1 36 2 52 6
5 0 21 1 37 2 53 6
6 0 22 1 38 3 54 7
7 0 23 1 39 3 55 7
8 0 24 1 40 3 56 7
9 0 25 1 41 3 57 7
10 0 26 1 42 3 58 8
11 0 27 1 43 3 59 8
12 0 28 1 44 3 60 8
13 0 29 1 45 4 61 9
14 0 30 2 46 4 62 9
15 0 31 2 47 4 63 9

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

В заключение можно сказать, что способ пространственной фильтрации, примененный в настоящем изобретении, объективно может улучшить отношение сигнал/шум (SNR) приблизительно на 0,08 дБ и уменьшить кодовую скорость примерно на 1,5%.

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

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

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

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

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

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

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

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

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

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

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

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

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

9. Способ по п.8, отличающийся тем, что таблицы пороговых величин представляют собой следующие таблицы:

Индекс α β Индекс α β Индекс α β Индекс α β
0 0 0 16 4 2 32 22 6 48 46 15
1 0 0 17 4 2 33 24 7 49 48 16
2 0 0 18 5 3 34 26 7 50 50 17
3 0 0 19 5 3 35 28 7 51 52 18
4 0 0 20 6 3 36 30 8 52 53 19
5 0 0 21 7 3 37 33 8 53 54 20
6 1 1 22 8 4 38 33 8 54 55 21
7 1 1 23 9 4 39 35 9 55 56 22
8 1 1 24 10 4 40 35 9 56 57 23
9 1 1 25 11 4 41 36 10 57 58 23
10 1 1 26 12 5 42 37 10 58 59 24
11 2 1 27 13 5 43 37 11 59 60 24
12 2 1 28 15 5 44 39 11 60 61 25
13 2 2 29 16 5 45 39 12 61 62 25
14 3 2 30 18 6 46 42 13 62 63 26
15 3 2 31 20 6 47 44 14 63 64 27

или же таблица α и таблица β могут быть представлены в виде одномерного массива, именно, таблица α как:
byte ALPHA-TABLE [64]=
{
0,0,0,0,0,0,1,1,
1,1,1,2,2,2,3,3,
4,4,5,5,6,7,8,9,
10,11,12,13,15,16,18,20,
22,24,26,28,30,33,33,35,
35,36,37,37,39,39,42,44,
46,48,50,52,53,54,55,56,
57,58,59,60,61,62,63,64
};
а таблица β как:
byte BETA-TABLE[64]=
{
0,0,0,0,0,0,1,1,
1,1,1,1,1,2,2,2,
2,2,3,3,3,3,4,4,
4,4,5,5,5,5,6,6,
6,7,7,7,8,8,8,9,
9,10,10,11,11,12,13,14,
15,16,17,18,19,20,21,22,
23,23,24,24,25,25,26,27
}.

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



 

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

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

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

Изобретение относится к системам сжатия видеоизображения. .

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

Изобретение относится к системам сжатия видео и, в частности, к фильтру устранения блочности. .

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

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

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

Изобретение относится к способам и устройствам обработки видеосигналов и изображений, а именно к способам и устройствам подавления шумов в видеосигналах и изображениях.

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

Изобретение относится к цифровой фотографии, в частности к анализу качества цифрового изображения. .

Изобретение относится к области обработки цифровых рентгеновских изображений. .

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

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

Изобретение относится к сжатию данных и, в частности, к понижению уровня шума обработанного видео
Наверх