Двумерное сжатие с помощью элементарных волн Хаара

Одномерное волновое преобразование Хаара заключается в обработке векто­ра-строки значений пикселов длины N = 2n. Двумерное волновое преобразование Хаара включает обработку матрицы N x N значений пикселов. По существу, при двумерном волновом преобразовании Хаара сначала выполняются операции усреднения и дифференцирования с каждым рядом матрицы пикселов, а затем та же операция выполняется с каждым столбцом результата. Рассмотрим для примера матрицу пикселов 4 x 4:

 

Первый шаг двумерного волнового преобразования Хаара состоит из одномер­ного преобразования каждого ряда, осуществляемого путем умножения матриц PW, для чего используется версия 4x4 матрицы W, определенной в предыдущем подразделе:

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

(10.7)

Здесь знак ' означает транспонирование. Таким образом, двумерное волновое преобразование исходной матрицы Р равно

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

Для обратного преобразования выполним следующие действия с формулой (10.7):

(10.8)

Две нужные нам матрицы легко определить:

Таким образом,