Введение

Алгоритм сжатия изображений с потерями Встроенные нуль-деревья вейвлет-преобразований (EZW) — это алгоритм сжатия изображений с потерями. При низких битрейтах, то есть высоких коэффициентах сжатия, большинство коэффициентов, полученных в результате субполосного преобразования (например, вейвлет-преобразования), будут равны нулю или очень близки к нулю. Это происходит потому, что изображения реального мира, как правило, содержат преимущественно низкочастотную информацию (сильно коррелированную). Однако, когда присутствует высокочастотная информация (например, границы на изображении), она особенно важна с точки зрения восприятия качества изображения человеком и, следовательно, должна быть точно представлена в любой схеме кодирования высокого качества. Рассматривая преобразованные коэффициенты как дерево (или деревья), где коэффициенты с наименьшей частотой находятся в корневом узле, а дочерние узлы каждого узла дерева — это пространственно связанные коэффициенты в следующей подполосе с более высокой частотой, существует высокая вероятность того, что одно или несколько поддеревьев будут состоять полностью из коэффициентов, равных нулю или близких к нулю; такие поддеревья называются нуль-деревьями. В связи с этим мы используем термины «узел» и «коэффициент» как взаимозаменяемые, и когда мы ссылаемся на дочерние элементы коэффициента, мы подразумеваем дочерние коэффициенты узла в дереве, где этот коэффициент расположен. Под «дочерними элементами» мы понимаем непосредственно связанные узлы, расположенные ниже в дереве, а под «потомками» — все узлы, находящиеся ниже определенного узла в дереве, даже если они не связаны напрямую. В схемах сжатия изображений на основе нуль-деревьев, таких как EZW и SPIHT, целью является использование статистических свойств деревьев для эффективного кодирования местоположений значимых коэффициентов. Поскольку большинство коэффициентов равны нулю или близки к нулю, пространственные местоположения значимых коэффициентов составляют значительную часть общего размера типичного сжатого изображения. Коэффициент (аналогично дереву) считается значимым, если его абсолютное значение (или абсолютные значения узла и всех его потомков в случае дерева) превышает определенный порог. Начиная с порога, близкого к максимальным абсолютным значениям коэффициентов, и итеративно уменьшая его, можно создать сжатое представление изображения, которое постепенно добавляет более тонкие детали. Благодаря структуре деревьев весьма вероятно, что если коэффициент в определенной частотной полосе незначителен, то все его потомки (коэффициенты пространственно связанных полос более высоких частот) также будут незначительны. EZW использует четыре символа для представления: (a) корня нуль-дерева, (b) изолированного нуля (коэффициента, который незначителен, но имеет значимые потомки), (c) значимого положительного коэффициента и (d) значимого отрицательного коэффициента. Символы могут быть представлены двумя двоичными битами. Алгоритм сжатия состоит из нескольких итераций, включающих основной и подчиненный проходы; порог обновляется (уменьшается вдвое) после каждой итерации. Основной проход кодирует значимость коэффициентов, которые еще не были признаны значимыми на предыдущих итерациях, путем сканирования деревьев и выдачи одного из четырех символов. Дочерние элементы коэффициента сканируются только в том случае, если коэффициент был признан значимым или если коэффициент был изолированным нулем. Подчиненный проход выдает один бит (наиболее значимый бит каждого коэффициента, который еще не был выдан) для каждого коэффициента, признанного значимым на предыдущих проходах значимости. Таким образом, подчиненный проход аналогичен кодированию по битовым плоскостям. Важно отметить несколько особенностей. Во-первых, алгоритм сжатия можно остановить в любой момент и получить приближение исходного изображения; чем больше получено битов, тем лучше качество изображения. Во-вторых, благодаря структуре алгоритма сжатия, основанной на серии решений, тот же алгоритм может быть запущен на декодере для восстановления коэффициентов, но решения принимаются в соответствии с входящим потоком битов. В практических реализациях обычно используется энтропийный код, такой как арифметический код, для дальнейшего повышения производительности основного прохода. Биты из подчиненного прохода обычно достаточно случайны, чтобы энтропийное кодирование не давало дополнительного выигрыша в сжатии. Производительность сжатия EZW впоследствии была превзойдена SPIHT и ее многочисленными производными.

Введение

Встроенный алгоритм вейвлет-нулевого дерева (EZW), разработанный J. Shapiro в 1993 году, обеспечивает масштабируемую передачу и декодирование изображений. Он основан на четырех ключевых концепциях: во-первых, это должно быть дискретное вейвлет-преобразование или иерархическое разложение по поддиапазонам; во-вторых, он должен предсказывать отсутствие существенной информации при исследовании самоподобия, присущего изображениям; в-третьих, он использует энтропийное кодирование последовательного приближенного квантования, и в-четвертых, он позволяет достичь универсального сжатия данных без потерь посредством адаптивного арифметического кодирования. Кроме того, алгоритм EZW также включает следующие характеристики: (1) Дискретное вейвлет-преобразование, которое может использовать компактное многоразрешенное представление изображения. (2) Кодирование нулевого дерева, обеспечивающее компактное многоразрешенное представление карт значимости. (3) Последовательное приближение для компактного многоточного представления значимых коэффициентов. (4) Протокол приоритезации, в котором важность определяется точностью, величиной, масштабом и пространственным положением вейвлет-коэффициентов в порядке убывания. (5) Адаптивное многоуровневое арифметическое кодирование, являющееся быстрым и эффективным методом энтропийного кодирования последовательностей символов.

A. Кодирование коэффициента карты значимости

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

1. Корень нулевого дерева

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

2. Изолированный ноль

Если величина коэффициента меньше порога T, но у него всё ещё есть существенные потомки, то этот коэффициент называется изолированным нулём.

3. Положительный коэффициент значимости

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

4. отрицательный коэффициент значимости

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

B. Определение порога

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

C. Порядок сканирования коэффициентов

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

(1) Пропуск для утонченных (или подчиненных)

Это определяет, что коэффициент находится в интервале [Ti, 2Ti). Для каждого значимого коэффициента кодируется бит уточнения. В этом методе значимые коэффициенты просматриваются в порядке убывания величины и растровой развертки внутри подполос.

(2) Значительное прохождение (или доминирующее прохождение)

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