Матричная форма в преобразовании Хаара
В основе преобразования Хаара лежит вычисление средних и разностей. Оказывается, что эти операции можно легко выразить с помощью умножений соответствующих матриц (см. [Mulcahy 96] и [Mulcahy 97]). Для примера рассмотрим верхнюю строку простого изображения размера 8 х 8. Каждый, кто немного знаком с операциями над матрицами, легко построит матрицу, которая при умножении на некоторый вектор дает другой вектор, состоящий из четырех полусумм и четырех полуразностей элементов.
В этом заключается только половина работы. Для того, чтобы сделать полное преобразование, необходимо применить W к строкам произведения WI, или, что то же самое, умножим W на (WI)T . Результат для удобства тоже транспонируем.
В этом месте становится важным нормализованное преобразование Хаара. Это приводит к ортогональной матрицы W, а хорошо известно, что обращение такой матрицы сводится к ее транспонированию. Следовательно, обратное преобразование запишется в простом виде WTItrW.
Между процедурами прямого и обратного преобразования некоторые коэффициенты могут быть квантованы или отброшены. Кроме того, для лучшего сжатия, матрицу Itr можно кодировать по методу RLE и/или по методу Хаффмана. Функция individ(n) начинается с матрицы преобразования Хаара размера 2x2 (заметим, что вместо знаменателя 2 взято число у/2), затем использует эту матрицу для построения необходимого числа матриц.
Функция harmatt(dim) формирует окончательную матрицу Хаара для изображения, состоящего из dim строк и dim столбцов. Пример: Программа Matlab вычисляет W в виде произведения трех матриц Ai, А2 и A3, после чего делает преобразования изображения размера 8 х 8. Результатом становится матрица 8x8, состоящая из коэффициентов преобразования, или иного метода. Сжатие с потерей осуществляется путем квантования части преобразованных коэффициентов, которое делается до процедуры сжатия.
С другой стороны, вейвлетные преобразования являются под- диапазонными преобразованиями. Их можно вычислять с помощью операции свертки исходных данных (будь то пикселы или звуковые фрагменты) и множества фильтров пропускания определенных частот. В результате поддиапазон охватывает некоторую часть полосы частот исходных данных. Слово «свертка» означает совместное сворачивание величин или функций. Дискретная свертка двух векторов fa и gi, которая также является вектором. (Операцию свертки можно также определить для функций, но для наших потребностей сжатия данных достаточно будет дискретной свертки). Заметим, что пределы суммирования в формуле не указаны точно. Они зависят от размерности векторов и Примерами могут служить формулы.
Далее обсуждаются линейные системы. Здесь также объясняется, почему операция свертки задается таким странным способом. Этот математический материал можно пропустить при первом чтении. Для начала рассмотрим интуитивное понятие системы. Система принимает на входе некоторый сигнал и в ответ генерирует некоторый сигнал на выходе. Входные и выходные сигналы могут быть одномерными (функциями времени), двумерными (пространственными функциями двух пространственных координат) или многомерными.
Нас будет интересовать связь между входными и выходными сигналами. Мы будем рассматривать только линейные системы, поскольку они очень важны и легко устроены. Линейная система определяется следующим образом. Если входной сигнал х(t) порождает выходной сигнал y(t), если система не удовлетворяет этому свойству, то она является нелинейной.
Некоторые линейные системы являются трансляционно-инвари- антпными. В такой системе сдвиг входного сигнала по времени на число Т вызовет такой же сдвиг выходного сигнала. В связи с рассмотрением свертки, мы предполагаем, что обсуждаемая нами система является линейной и трансляционно-инвариантной. Это верно (с высокой точностью) для электрических цепей и для оптических систем, на базе которых строятся различные устройства для обработки и сжатия изображений и иных типов оцифрованных данных.
Полезно иметь некоторую общую формулу для представления линейных систем. Оказывается, что представление вида является уже достаточно общим для этих целей. Другими словами, достаточно знать функцию, зависящую от двух параметров, чтобы уметь предсказывать выход системы y(t) по известному входу х(т). Однако, нам хотелось бы иметь однопараметрическую функцию, и здесь нам поможет свойство трансляционной инвари-антности. Если система, порождаемая уравнением, обладает этим свойством, то должно выполняться тождество при любых Т.
Это равенство должно выполняться для любого входного сигнала x(t). Значит, функция f(t,r) не изменится, если добавить любое число Т к ее аргументам, то есть она остается постоянной, если разность аргументов - константа, а сама функция зависит только от разности своих аргументов.
- RSS
Наши услуги: