Двумерное сжатие с помощью элементарных волн Хаара
Одномерное волновое преобразование Хаара заключается в обработке вектора-строки значений пикселов длины N = 2n. Двумерное волновое преобразование Хаара включает обработку матрицы N x N значений пикселов. По существу, при двумерном волновом преобразовании Хаара сначала выполняются операции усреднения и дифференцирования с каждым рядом матрицы пикселов, а затем та же операция выполняется с каждым столбцом результата. Рассмотрим для примера матрицу пикселов 4 x 4:
Первый шаг двумерного волнового преобразования Хаара состоит из одномерного преобразования каждого ряда, осуществляемого путем умножения матриц PW, для чего используется версия 4x4 матрицы W, определенной в предыдущем подразделе:
Следующий шаг состоит в выполнении одномерного преобразования каждого столбца. Для этого матрица преобразования столбцов транспонируется, затем умножается на преобразующую матрицу, после чего результат снова транспонируется. С тем же успехом можно транспонировать преобразующую матрицу и умножить ее на матрицу преобразованных столбцов:
(10.7)
Здесь знак ' означает транспонирование. Таким образом, двумерное волновое преобразование исходной матрицы Р равно
Преобразованная матрица Т содержит среднее значение всех элементов исходной матрицы в левом верхнем углу (8), а остальные элементы соответствуют разностям. Элементы, отстоящие дальше от левого верхнего угла, соответствуют уровню более точной детализации, то есть более высокочастотным элементарным волнам. Как и раньше, сжатие может осуществляться при помощи порогового значения и удаления элементов, значение которых по модулю меньше порога.
Для обратного преобразования выполним следующие действия с формулой (10.7):
(10.8)
Две нужные нам матрицы легко определить:
Таким образом,