Главная > Сжатие данных, изображений и звука
<< Предыдущий параграф Следующий параграф >>
Пред.
След.
Макеты страниц

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

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

4.1.2. Свойства преобразования Хаара

Примеры из этого параграфа иллюстрируют некоторые важные свойства вейвлетного преобразования Хаара, а также общих вейвлетных преобразований. На рис. 4.8 показан высоко коррелированный образ размера 8х8 и его преобразование Хаара. Даны числовые значение преобразованных коэффициентов и их графическое представление в виде квадратиков различных серых оттенков. Из-за высокой степени корреляции исходных пикселов, вейвлетные коэффициенты в основном малы по абсолютному значению и многие из них равны нулю.

Замечание. При первом взгляде на рис. 4.8 последнее утверждение кажется ложным. Приведенные коэффициенты вейвлетного преобразования достаточно велики по сравнению с исходными значениями пикселов. Нам известно, что верхний левый элемент матрицы коэффициентов преобразования Хаара должен быть равен среднему значению всех пикселов образа. Поскольку эти пикселы имеют примерно равномерное распределение на интервале [0,255], то это среднее должно быть около 128 (на самом деле, точное значение равно 131.375). А в приведенной таблице это число равно 1051 (что равно 131.375х8). Причина заключается в том, что программа, выполнявшая эти вычисления использовала  вместо 2 (см. функцию individ(n) на рис. 4.12).

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

221.jpg

Рис. 4.8. Образ 8x8, реконструированный на рис. 4.11 и его преобразование Хаара.

Преобразование Хаара является простейшим вейвлетным преобразованием, однако уже на этом простом примере обнаруживаются замечательные свойства этих преобразований. Оказывается, что поддиапазоны низкого уровня состоят из несущественных особенностей изображения, поэтому их можно смело квантовать и даже отбрасывать. Это дает хорошее сжатие с частичной потерей информации, которая, однако не отразится на качестве восстановленного образа. Реконструкция образа делается очень быстро при минимальной потери качества. На рис 4.11 показаны три реконструкции исходного образа размера 8х8 из рис. 4.8. Они получены с помощью, соответственно, 32, 13 и 5 вейвлетных коэффициентов.

222-1.jpg

Рис. 4.9. (а) Образ 128х128 пикселов с «шероховатостью» справа. (b) Его преобразование.

Рис. 4.10 является аналогичным примером. В части (а) дан двухуровневый черно-белый образ, полностью восстановленный с помощью всего 4% коэффициентов (653 коэффициентов из 128х128 показаны на рис. (b)).

222-2.jpg

Рис. 4.10. Восстановление простого образа 128х128 пикселов из 4% его коэффициентов.

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

223.jpg

Рис. 4.11. Три реконструкции образа из 8х8 пикселов.

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

В строке «filename='lena128'; dim=128;» записаны имя файла с изображением и его размер. Файл, использованный автором, был представлен в «сыром» виде. Он состоял из пикселов различных оттенков серого размера в 1 байт каждый. В файле не было никакого заголовка, не было даже разрешения образа (то есть, числа строк и столбцов). Тем не менее, Matlab читает любые файлы. Образ предполагался квадратным, а параметр dim должен быть степенью 2. Присваивание «thresh =» задает процент коэффициентов, которые следует удалить. Это позволяет легко экспериментировать с вейвлетным сжатием.

Файл «harmatt.m» содержит две функции, которые вычисляют преобразование Хаара в матричной форме (см. § 4.2.1).

(Техническое замечание: файлы Matlab с расширением «.m» могут содержать или последовательность команд, или функции, но не одновременно команды и функции. Однако допускается несколько функций в одном файле, при условии, что только самая верхняя функция будет вызываться извне этого файла. Все остальные функции должны вызываться только из этого файла. В нашем случае функция harmatt(dim) вызывает функцию individ(n).)

Пример: Программа из рис. 4.12 используется для вычисления преобразования Хаара изображения «Lena». Затем это изображение реконструируется три раза с отбрасыванием все большего и большего числа коэффициентов деталей. На рис. 4.13 показаны результаты восстановления исходного изображения с помощью 3277, 1639 и 820 вейвлетных коэффициентов, соответственно. Несмотря на сильное прореживание коэффициентов, обнаруживается слабая потеря качества картинки. Полное число вейвлетных коэффициентов, конечно, равно разрешению образа, то есть, 128х128 = 16384.

225.jpg

Рис. 4.12. Программа для вычисления преобразования Хаара (Matlab).

Использование только 820 коэффициентов соответствует отбрасыванию 95% наименьших из них (заметим однако, что часть коэффициентов сразу равнялось нулю, поэтому, реальная потеря данных будет меньше 95%).

226.jpg

Рис. 4.13. Три реконструкции образа «Lena» из 128х128 пикселов.

Categories

1
Оглавление
email@scask.ru