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