FRACTALS

ѕ даРЪвРЫРе
іРЫХаХп ШЧЮСаРЦХЭШЩ даРЪвРЫЮТ
їаЮУаРЬЬл ФЫп ЯЮбваЮХЭШп даРЪвРЫЮТ
БблЫЪШ ЭР ФагУШХ бРЩвл Ю даРЪвРЫРе
ЅРЯШиШ бТЮШ ТЯХзРвЫХЭШп



 
 

LOGO
Предыдущая Следующая

Проход сверху вниз также записывает символы в двоичны^ выходной файл. Когда встречается символ РОБ, МЮ, К илц он записывается с соответствующим 2-битным кодо^ Символ 2Т не записывается в выходной файл. На Рис. 7.2.6 показана блок-схема прохода сверху вниз.

Рис. 7.2.6.

Прохол сверху вниз в алгоритме с нуль-леревом

Листинг 7.2.2. Функиия-член mark_children класса class tzerotree из прила-

гаемой к книге программы на языке С++

void tzerotree::mark^children (int row,int col,int nrows, int ncole,short symbol) { int child_end__row, child_end__col, child^rows , child^cols / // The four "children" of position (i,j) in the subtree // are: <2i-l,2j-l) , <2i-l,2j) , (2i,2j-l) and <2i,2j). child_end_row - 2*row; child__end__col = 2*col; child^rows « 2; child^cols = 2;

while < (child_end_row<=nrows)&&<child_end_col<=ncols)) i for (int i=child_end_row-child_rows+l;

i<=child_end__row; for (int j=child_end_col-child_cols+l;

j<=child_end_col;

Л7. Технологии вей влет-сжатия изображений

195

set(i,j,symbol);

child_end_row *= 2/

child_end_col *= 2/

child_rows *= 2;

child_cols *= 2;

} // end while return; }

7.2.1.3. Алгоритм кодирования с нуль-деревом

Соединим теперь все части алгоритма кодирования. На Рис. 7.2.7 изображена блок-схема алгоритма. Очевидно, первый шаг алгоритма - это применение к изображению двумерного вейвлет-преобразования. В прилагаемой к книге программе может быть выбран любой из трех видов вейвле-тов, которые мы будем рассматривать в дальнейшем: вейвле-ты Хаара, Б4-вейвлеты Добеши и Бб-вейвлеты Добеши. Данный алгоритм может использовать и другие виды вейвле-тов. Затем задаем начальный порог Г, равный наибольшей степени 2, но меньший максимального значения вейвлет-коэффициентов. В программе, прилагаемой к книге, этот максимум отслеживается автоматически по ходу вычисления вейвлет-преобразования. Часто наибольшую величину в массиве преобразования имеет низкочастотный коэффициент LL (единственный коэффициент в левом верхнем углу массива преобразования). Этот коэффициент не входит в три поддиапазона LH, НН и HL и поэтому исключается из рассмотрения при определении максимального коэффициента преобразования. Он записывается в выходной файл как есть. Кроме того, в выходной файл (в его начало) записывается некоторая дополнительная информация, необходимая декодеру: вид вейвлетов (Хаара, D4, D6), размер, т.е. количество строк (алгоритм работает только с квадратными изображениями), и log2(7).


Предыдущая Следующая


Галерея фракталов

 

Hosted by uCoz