Предыдущая Следующая
Проход сверху вниз также записывает символы в двоичны^ выходной файл. Когда встречается символ РОБ, МЮ, К илц он записывается с соответствующим 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). Предыдущая Следующая
|