FRACTALS

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



 
 

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

3.5.2.1. Особенности хранения информации; представленной в виде квадродерева

Хотя список индексов квадродерева является общепринятым механизмом работы с информацией о ранговых блоках в процессе разбиения, сам список не является эффективным способом хранения информации. Несколько простых наблюдений, касающихся списка индексов, представленного в виде квадродерева, помогут в построении квадродерева:

Максимальное число ранговых блоков на п-ом уровне квадродерева равно 4п.

Фракталы и вейвлеты для сжатия изображений в действии

2. Если на каком-то уровне имеется один ненулевой индекс, То должны присутствовать все 4 индекса (т.е. если в списке есть 111, то должны быть 112, 113 и 114).

3. «О» на некотором уровне означает, что все соответствующе индексы более высоких уровней - тоже нули.

Предлагается использовать двоичную структуру дерева с 4П битами на п-ом уровне. «1» показывает, что блок разбит на меньшие блоки. «О» показывает, что на данном уровне до. полнительного разбиения нет (и, следовательно, нет его и на всех более верхних уровнях). Заметим, что для того, чтобы максимальная глубина квадродерева была равна /V, дерево должно иметь только N-1 уровень, так как по определению на N-ом уровне разбиения нет. Так, например, 3-уровневое разбиение, показанное на Рис. 3.3.5, может быть представлено следующим 2-уровневым двоичным деревом:

Уровень 110 10

Уровень 2 Ю00 0000 0100 0000

Таким образом, вся информация о разбиении на Рис. 3.3.5 может быть записана в 20 битах. На самом деле, эту информацию можно записать меньшим количеством бит, если заметить, что второй и четвертый блоки на уровне 2 состоят из одних нулей и фактически являются избыточными, так как их значения определяются наличием нуля на предыдущем уровне. Такая схема требует более сложной логики декодирования. Программа, прилагаемая к книге, не исключает избыточные нули из хранимой информации.

Листинг 3.5.1 представляет относительно компактную программу, которая преобразует ранговый список индексов в состоящий из нулей и единиц «массив уровней» квадродерева, такой, как показан выше. Объяснять, что делает программа, дольше, чем написать саму эту программу. Переменная ievei_array - это массив указателей на структуру типа


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


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

 

Hosted by uCoz