СПОСОБ ВЫЯВЛЕНИЯ ИСКАЖЕНИЙ, ВЫЗВАННЫХ ЭФФЕКТОМ ГИББСА, ПРИ JPEG-КОДИРОВАНИИ
METHOD OF DETECTING DISTORTIONS, CAUSED BY GIBBS EFFECT, IN JPEG-CODING

Изобретение относится к цифровой фотографии, а более конкретно к анализу качества цифрового изображения, и может найти применение для эффективного выявления искажений при использовании JPEG-кодирования.
Методика кодирования, известная как JPEG (термин JPEG образован от английского названия Объединенной Группы Экспертов-Фотографов), была принята в качестве стандарта (см. http://www.jpeg.org/) [1], который широко используется для сжатия цифровых данных, образующих фотоизображение. Обычно, чтобы добиться заметного коэффициента сжатия, применяют дискретное косинусное преобразование (DCT) и квантование. При JPEG-кодировании изображение разбивают на мелкие блоки, обычно имеющие размер 8×8 пикселей, и к этим блокам применяют кодировочное преобразование, а именно дискретное косинусное преобразование (DCT). В результате кодировочного преобразования вместо конкретного числа пикселей получают эквивалентное число коэффициентов преобразования (DCT коэффициенты). Затем эти коэффициенты квантуются.
Квантование - это операция, заключающаяся в том, что DCT коэффициенты делят нацело на матрицу квантования, чье значение соответствует каждой частоте области. За счет квантования значение частотной компоненты с малым DCT коэффициентом становится нулевым. Вообще энергия концентрируется в низкочастотной области сигнала изображения, и, следовательно, высокочастотная составляющая удаляется посредством этой операции.
Таким образом, некоторый объем информации об изображении утрачивается в процессе квантования, вызывая появление так называемых блочных артефактов (искажений) и артефактов, вызванных эффектом Гиббса, после восстановления цифрового изображения путем применения обратного кодировочного преобразования к набору квантованных коэффициентов преобразования для реконструкции кодированного изображения. Искажения проявляются в районе границ смежных блоков в виде неоднородности (скачка) яркости, контраста и/или цвета. Искажения, вызванные эффектом Гиббса, проявляются на резких границах яркости (краях объектов) и обычно представляют собой нечеткие, серые линии вблизи края. С увеличением коэффициента сжатия проявление этих искажений также увеличивается.
Чтобы уменьшить искажения, вызванные эффектом Гиббса, было предложено большое количество различных алгоритмов и способов. Однако большинство решений основано на выявлении краев, что является сложной и ненадежной процедурой, оптимальные параметры которой неизвестны.
Решение, предложенное в патенте США №6,845,180 [1], связано с обнаружением областей, на которых возможны искажения, вызванные эффектом Гиббса. Изобретатель пришел к выводу о том, что эти искажения можно предвидеть путем выявления тех областей изображения, которые имеют относительно высокое значение яркости и высокую контрастность. Блоки, которые могут быть подвержены таким искажениям, выявляются путем сравнения яркости каждого пикселя и его соседа по горизонтали с первым пороговым значением Т1 и абсолютной величиной яркостного контраста между соседними по горизонтали пикселями со вторым пороговым значением Т2. Если одно из значений яркости превышает первый порог, и разность больше, чем второй порог, пиксель маркируют. Ту же самую проверку проводят с вертикальным соседом. Если число маркированных (отмеченных) пикселей превышает третий порог, блок считается кандидатом на последующую обработку.
T.
В патенте США №6,707,952 [2] блоки-кандидаты на последующую обработку отбираются в том случае, если они имеют доминирующий край. Для этого используются маски горизонтального и вертикального края: [-101] и [-101] Абсолютные значения величин разностей пикселей накапливаются в двух переменных, для разностей по горизонтали и по вертикали. Направление края определяют путем сравнения этих двух величин друг с другом, при этом если «горизонтальная» сумма больше, чем «вертикальная», то предполагается присутствие горизонтального края и наоборот. Максимум вычисленных значений называется "содержимым края", и после сопоставления "содержимого края" с заданным порогом гладкости решают, является ли самый сильный край доминантой или нет (если "да", то текущий блок обрабатывают с целью удаления искажения).
В международной патентной публикации № WO 99/22509 [3] упоминаются так называемые "блочный семафор" и "семафор звона", которые определяют, нуждается ли текущий кодирующий блок в последующей обработке. Блочный семафор и семафор звона обнаруживают путем анализа распределения обратных коэффициентов квантования, которые являются коэффициентами дискретно-косинусного преобразования (DCT), после того как сжатый двоичный поток подвергнется обратному квантованию. "Предполагая, что самый верхний с левой стороны пиксель блока среди 64 пикселей, составляющих блок размером 8×8 пикселей, является пикселем А, пиксель справа от пикселя А является пикселем В, и пиксель ниже пикселя А является пикселем С, семафор звона (RS) устанавливают на "I", что означает, что требуется последующая обработка, если какой-либо из пикселей, помимо пикселей А, В и С обратного квантования блока 8×8 пикселей, имеет ненулевой коэффициент". Однако это простое решение обеспечивает недостаточную точность и приводит к получению многочисленных ложных срабатываний.
В патенте США №6,748,113 [4] присутствие искажения, вызванного эффектом Гиббса, выявляется путем классификации кодировочного блока по трем классам, используя четыре предопределенных процедуры. Классификация в любую из процедур заключается в сравнении абсолютных значений коэффициентов DCT в заштрихованных областях с некоторой предопределенной величиной.
В патенте США №7,050,649 [5] присутствие искажений, вызванных эффектом Гиббса, выявляется путем сравнения локального градиента, вычисленного с использованием четырех смежных выборок изображения, с предопределенным порогом.
В патенте США №7,003,173 [6] первые края вычисляют, используя фильтр Roberts. Затем края классифицируют в те края, которые нуждаются в устранении искажений, вызванных эффектом Гиббса, края, которые нуждаются в повышении четкости, или края, которые не нуждаются ни в том, ни в другом, при этом классификация основана на «силе» края и "True Edge Threshold" (пороге истинного края), а также на признаке, является ли текущий край "истинным визуальным краем" или нет.
В патенте США №6,807,317 [7] выявляют первые края и сглаживают для удаления искажений.
Различные метрики для искажений, вызванных эффектом Гиббса, были предложены в литературе, они основаны, главным образом, на обнаружении края и оценке колебаний около основных краев.
В публикации Feng, X., J.P.Allebach, "Measurement of ringing artifacts in JPEG images". Digital Publishing. Edited by Allebach, Jan P.; Chao, Hui. Proceedings of the SPIE, Volume 6076, pp.74-83 (2006). [8] предлагается выявлять ложные блоки, содержащие искажения, вызванные эффектом Гиббса, путем анализа усредненного краевого градиента в блоке. Метрики для искажений, вызванных эффектом Гиббса, основываются на измерении локального воздействия, как усредненного абсолютного значения градиентов яркости, с учетом концепции «Едва Различимых Отличий» по Chou и Li из статьи С. Chou and Y. Li, "A perceptually tuned sub-band image coder based on the measure of just-noticeable distortion profile," IEEE Trans. Circuits Syst. Video Technol. 5(6), pp.467-476, 1995 [9].
В работе Oguz, S.H.; Hu, Y.H.; Nguyen, T.Q, "Image coding ringing artifact reduction using morphological post-filtering", Multimedia Signal Processing, 1998 IEEE Second Workshop on Volume, Issue, 7-9 Dec 1998 Page(s): 628-633 [10] предложено использовать так называемую «Метрику Измерения Искажений, вызванных эффектом Гиббса» (VRM), основанную на усредненной локальной дисперсии в области основных краев. Сначала создают маску VRM путем выполнения операций по обнаружению краев и морфологических операций над краями. Затем строят локальную усредненную дисперсию вокруг краев, избегая слишком плавных краев.
В статье Ying-Wen Chang and Yen-Yu Chen, "Alleviating-Ringing-Artifact Filter Using Voting Scheme", ICGST International Journal on Graphics, Vision and Image Processing, Special Issue on Applicable Image Processing [11] изображение разбивается на гладкие, краевые или текстурированные области путем применения метода дерева. Способ устранения искажений, вызванных эффектом Гиббса, в этом случае основан на применении морфологических операций. Для выбора оптимального структурирующего элемента для морфологической операции применяют голосование.
Способ, описанный в статье Marziliano, P., Dufaux, F., Winkler, S., and T. Ebrahimi "Perceptual Blur and Ringing Metrics: Application to JPEG 2000", Signal Processing: Image Communication, Volume 19, No 2, February 2004, pp.163-172 (10) [12], основан на вычислении разности между исходным и кодированным изображениями. Предлагается определить метрику искажений, вызванных эффектом Гиббса, для каждого значительного вертикального края. Сначала определяют вертикальные края в исходном изображении (слабые края и шум вновь отсеиваются путем применения порогового значения), и вычисляют разность между обработанным изображением и исходным. Затем каждый ряд в обработанном изображении сканируют и измеряют искажения вокруг каждого края.
В докладе S.Yang, Y.Hu, T.Q.Nguyen, and D.L.Tull, "Maximum-likelihood parameter estimation for image ringing-artifact removal," IEEE Trans. Circuits Syst. Video TechnoL, vol.11, no. 8, pp.963-973, Aug 2001 [13] авторы предлагают применить кластеризацию методом k-средних к блоку, содержащему искажения, вызванные эффектом Гиббса, для создания плоскостной модели, заменяющей волнистую поверхность плоскостью, для оценки интенсивности исходного (несжатого) изображения. Авторы исходят из предположения, что оценка исходного изображения представляет собой монтаж из плоских поверхностей. Чтобы обрабатывать широкий класс изображений, плоскостную модель применяют локально к малым областям изображения. Прежде всего определяют число классов для различных кусочков изображения (для областей с текстурой и для областей, содержащих только резкие края). Затем авторы сводят модель к группированию по трем классами для простоты расчетов. Этот способ наиболее близок к заявляемому изобретению.
Все упомянутые способы требуют весьма высоких вычислительных ресурсов, поскольку либо применяют операцию по выявлению краев, либо предусматривают использование исходного (несжатого) изображения.
Задача, на решение которой направлено заявляемое изобретение, состоит в разработке такого способа выявления искажений, вызванных эффектом Гиббса, при JPEG-кодировании, который позволял бы обойтись без операции по обнаружению краев и без проведения сравнительного анализа кодированного изображения с исходным изображением.
Технический результат достигается за счет использования нового способа, заключающегося в том, что выполняют следующие операции:
- оценивают размер кодировочного блока по отношению к заданному разрешению печатающего устройства;
- определяют для каждого кодировочного блока в случае, если размер блока делает его различимым для человеческого глаза при требуемом разрешении печати, приблизительную метрику различимости искажения, вызванного эффектом Гиббса;
- устанавливают на нуль соответствующие элементы приблизительной метрики различимости искажения, вызванного эффектом Гиббса, в случае, если они имеют значения ниже предопределенного порога;
- вычисляют для ненулевых элементов приблизительной метрики различимости искажения, вызванного эффектом Гиббса, соответствующую дисперсию искажения, для остальных элементов дисперсию считают нулевой (обнуляют).
Для эффективного функционирования заявляемого способа важно, чтобы приблизительную метрику различимости искажения, вызванного эффектом Гиббса, для текущего кодировочного блока изображения вычисляли на основе числа ненулевых DCT коэффициентов, наибольшего индекса ненулевого DCT коэффициента при зигзагообразном сканировании текущего кодировочного блока изображения и восьми кодировочных блоков изображения, прилегающих к текущему кодировочному блоку изображения.
Для эффективного функционирования заявляемого способа важно, чтобы предопределенный порог вычисляли на основе максимального значения приблизительной метрики различимости искажения помимо всех других значений.
Для эффективного функционирования заявляемого способа важно, чтобы дисперсию искажения вычисляли на основе группирования (кластеризации) интенсивностей декодированного изображения.
Заявляемый способ применим как для черно-белых, так и для цветных изображений.
Новизна заявляемого изобретения подтверждается следующими факторами:
- в заявляемом изобретении не применяется поиск краев;
- вероятность присутствия искажения, вызванного эффектом Гиббса, рассчитывают в частотной области на основе простой и эффективной формулы;
- заявляемый способ определения серьезности (силы) искажения, вызванного эффектом Гиббса, основан на кластеризации интенсивностей пикселей.
Для лучшего понимания существа заявляемого изобретения далее приводится его детальное описание с привлечением графических материалов.
Фиг.1 - Схема основных компонентов системы, реализующей заявляемый способ.
Фиг.2 - Основные операции процедуры выявления искажений, вызванных эффектом Гиббса.
Фиг.3 - Процедура вычисления приблизительной метрики различимости искажения, вызванного эффектом Гиббса, этап 202.
Фиг.4 - Базисные функции решетки косинусного преобразования с надпечатанным индексом зигзагообразного сканирования на каждой базисной функции, аналогично упорядочению блока 8×8 коэффициентов DCT после квантования.
Фиг.5 - Процедура вычисления дисперсии искажения, этап 204.
Фиг.6 - Результаты выявления искажения, вызванного эффектом Гиббса, где исходное (сжатое) изображение помещено сверху, а дисперсия искажения надпечатана на нижнем изображении.
На Фиг.1 представлена блок-схема основных компонентов системы, с помощью которой реализуется заявляемый способ. Функционирование системы управляется процессором 101, который выполняет код программы, записанный в памяти 102. В памяти 102 хранится исходное черно-белое или цветное фотоизображение. Изображение обрабатывают и передают на устройство 104 отображения. Обмен информацией осуществляется через шину 106 данных.
На Фиг.2 представлены основные этапы обнаружения искажений. На этапе 201 определяют, различим ли кодировочный блок изображения человеческим глазом при данном разрешении печатающего устройства. Пусть разрешение печатающего устройства равно Х точек/дюйм (обычно 300-400 точек/дюйм), размер пикселя кодировочного блока равен 8 пикселям, тогда ширина и высота блока при печати равны 8/Х дюймов. В случае, если этот размер неразличим человеческим глазом, изображение далее не обрабатывают, поскольку блочные искажения в этом случае также неразличимы, и никакие искажения окружения не обнаружены, этап 205.
В противном случае выполняют следующие процедуры. На этапе 202 для каждого кодировочного блока изображения вычисляют приблизительную метрику искажения, вызванного эффектом Гиббса. Детали этапа 202 приведены ниже. На этапе 203 вычисленная приблизительная метрика искажения, вызванного эффектом Гиббса, сопоставляется с пороговым значением таким образом, что все элементы, которые меньше, чем предопределенное пороговое значение, обнуляются. Пороговое значение определено как максимальное значение среди всех значений приблизительной метрики различимости искажения, вызванного эффектом Гиббса, умноженных на число, которое меньше единицы, в предпочтительном варианте реализации изобретения это значение равно 0,5. На этапе 204 для всех блоков, чья соответствующая приблизительная метрика различимости искажения больше нуля, осуществляют вычисление дисперсии искажения. Детали этапа 204 представлены ниже. В результате устанавливают, что все блоки, имеющие ненулевую дисперсию, подвержены искажениям, вызванным эффектом Гиббса, в то время как остальные блоки не подвержены данным искажениям.
На Фиг.3 представлена процедура вычисления приблизительной метрики различимости искажений, вызванных эффектом Гиббса, этап 202. На этапе 301 вычисляют, начиная от первого кодировочного блока изображения, приблизительную метрику различимости искажения, вызванного эффектом Гиббса, для текущего кодировочного блока изображения.
Модель появляющихся искажений, вызванных эффектом Гиббса, может быть сформулирована в соответствии со следующими правилами.
Текущий блок (подверженный данному искажению) имеет высокую активность, то есть он представлен достаточным числом ненулевых DCT коэффициентов.
По меньшей мере, один из его восьми соседей (сверху, снизу, слева или справа, слева-вверху, слева-внизу, справа-вверху, справа-внизу) представляет собой гладкий блок (малое число ненулевых коэффициентов).
Текущий блок сжат, и, в основном, причина искажений заключается в квантовании, это означает, что число нулевых коэффициентов DCT также значительно.
Рассмотрим основные функции DCT и индексы зигзагообразного сканирования для JPEG кодирования. На Фиг.4 индекс зигзагообразного сканирования надпечатан на каждой базисной функции, точно так же, как блок 8х8 коэффициентов DCT упорядочивается после квантования. Для каждого обрабатываемого блока 8×8 изображения найдены следующие значения:
max
1. Максимальный индекс ненулевого коэффициента DCT, если блок организован с применением зигзагообразного порядка в векторе, i.
DCT
2. Число ненулевых DCT коэффициентов N.
3. Те же самые значения для его восьми соседей (смежных блоков), 8×8 пикселей, сверху, снизу, слева, справа, слева-вверху, слева-внизу, справа-вверху, справа-внизу. , k=0…7.
Приблизительную метрику различимости искажения, вызванного эффектом Гиббса, RM, вычисляют для текущего кодировочного блока изображения, используя следующие формулы:
,
где
DCT
(64-N) - число нулевых DCT коэффициентов в текущем блоке. Чем больше число, тем выше сжатие;
1
θ(G<0) равно 1, если рассматриваемый блок имеет самое большое число ненулевых DCT коэффициентов среди его соседей;
2
θ(G<0) равно 1, если рассматриваемый блок имеет самый большой показатель последнего ненулевого DCT коэффициента среди его соседей;
max
θ(i≥5) равно 1, если искажения, вызванные эффектом Гиббса, имеют достаточно высокую частоту.
На этапе 302 заявляемый способ переходит к следующему кодировочному блоку изображения. На этапе 303 проверяют выполнение условия, имеются ли какие-нибудь необработанные блоки изображения. Если 303 дает положительный ответ, вычисление приблизительной метрики различимости искажения, вызванного эффектом Гиббса, заканчивают. В противном случае рассматривают следующий блок изображения, и этапы 301-303 повторяют.
1
N
Фиг.5 представляет подробности процедуры вычисления дисперсии искажения, этап 204. На этапе 501 осуществляют проверку, не превышает ли нулевого значения приблизительная метрика различимости искажения, вызванного эффектом Гиббса. Если проверка на этапе 501 дает отрицательный результат, дисперсия искажения для текущего блока обнуляется. В противном случае вычисляют дисперсию искажения для текущего кодировочного блока изображения, этап 502. Дисперсия искажения вычисляется для того, чтобы определить силу (серьезность) искажения, вызванного эффектом Гиббса. Нецелесообразно просто рассчитать дисперсию потенциальной области, подверженной искажениям, поскольку очень высока вероятность того, что эта область включает в себя четко выраженный край. Цель состоит в том, чтобы измерить дисперсию нечеткости (размытости) около края. С этой целью интенсивности пикселей кластеризируют (группируют) в блоке, подверженном искажениям. Пиксели кластеризируют (группируют) в пределах такого блока в несколько классов с использованием алгоритма k-средних. Группировку проводят по двум, трем и четырем классам, при этом выбирают тот, у которого ошибка кластеризации является наименьшей. Вычисляют среднее значение между дисперсией обнаруженных классов. Дисперсия множества интенсивностей {x…x} пикселей вычисляется по стандартной формуле (<x> - среднее значение):
Рассчитывают дисперсию между фактическими интенсивностями пикселя и "оценками для плоских поверхностей", полученными посредством кластеризации. В результате оценка силы искажения, вызванного эффектом Гиббса, выдается как дисперсия в блоке, подверженном искажениям.
На этапе 504 способ переходит к следующему кодировочному блоку изображения. На этапе 505 проверяют, имеются ли еще необработанные блоки изображения. Если таких блоков нет, то выполнение способа завершают. В противном случае приступают к рассмотрению следующего блока изображения и повторяют этапы 501-505. В результате делают заключение о том, что все блоки, которые имеют ненулевую дисперсию, подвержены искажениям, вызванным эффектом Гиббса, а остальные блок не подвержены данным искажениям.
Предложенный способ применим для цифровых камер, слайдовых сканнеров, камерафонов, принтеров или т.п.
Следует учитывать, что все вышеизложенное приведено в качестве примера реализации заявляемого способа, поэтому для специалиста в данной области должно быть ясно, что возможны различные замены, дополнения и модификации, не выходящие за объем охраны, определенный в данном описании и в прилагаемой формуле изобретения.