Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
міні-шпори - v3.doc
Скачиваний:
4
Добавлен:
01.09.2019
Размер:
834.05 Кб
Скачать

1.4. Розрахунок лініатури растру.

Розрахувати, яка лініатура LPI потрібна для друку зображення на чорно-білому принтері з роздільною здатністю DPI, коли потрібно відтворити N рівнів сірого кольору. Перевірити, чи можна друкувати на такому принтері зображення з N1 градаціями? (дані відповідно до варіанту наведено у таблиці 3.1).

 

1.5. Розрахунок роздільної здатності

  1. Розрахувати, з якою роздільною здатністю треба сканувати зображення поштової марки розміром W x H, щоб надрукувати її розміром  W1 x H1 на принтері з роздільною здатністю dpi? (вихідні дані наведено у таблиці 3.2)

  2. Розрахувати, з якою роздільною здатністю треба сканувати фотографію розміром W x H, щоб вивести її розміром  W1 x H1 на Web-сторінці?

 

ДИНАМІЧНЕ КОДУВАННЯ МЕТОДОМ LZW

 

Мета роботи: вивчити алгоритм кодування, розглянути формування кодової таблиці, визначити переваги та недоліки даного методу, виконати кодування/декодування даних.

 

  1. 1. Теоретичні відомості

 

Головна ідея коду – скористатися повторенням не тільки однакових символів, але і комбінацій символів. Таблиця-словник містить як окремі символи, так і сполучення символів. Кодові слова утворюються об’єднанням кодового слова одного з попередніх рядків таблиці і поодинокого символу.

                 

Таблиця має властивість префіксності, тобто більш довгий рядок складається з префікса р та окремого символу С, причому префікс є одним з рядків таблиці. Символ С називають розширення префіксного рядка р.

 

1.1. Кодування

 

Процедура динамічного кодування полягає у наступному. Спочатку до таблиці заносяться дані, які відображають статистику даних. Якщо її немає, то рядки формуються з поодиноких символів. Після того, по мірі поступлення даних, формуються рядки з декількох символів. Оскільки розмір таблиці обмежений, то рядки, які містять символи з малою частотою появи, виключаються з метою звільнення місця для рядків з вищою частотою появи. Таким чином таблиця динамічно перебудовується і адаптується до характеру даних.

Стиснення починається з ініціалізації таблиці, коли до неї заносяться рядки - поодинокі символи. Потім надходить перший вхідний символ, що розглядається як префікс рядка PREFIX. Після цього вводиться наступний символ CHARACTER і утворюється розширений рядок шляхом об’єднання префіксу і символу -  PREFIX + CHARACTER. Цей рядок порівнюється з існуючими рядками таблиці. Якщо такий рядок є, то він стає новим префіксом, тобто PREFIX = PREFIX + CHARACTER. Далі вводиться наступний символ CHARACTER і процедура повторюється. В противному випадку, коли PREFIX + CHARACTER немає в таблиці, на вихід кодера виводиться кодова комбінація, яка відповідає поточному рядку PREFIX, а в таблицю заноситься додаткова комбінація PREFIX + CHARACTER, а символ CHARACTER стає новим PREFIX. Процедура повторюється до вичерпання вхідної послідовності.

 

Приклад

Tentomentoentetento

Початкова таблиця містить кодові слова 0-255 для поодиноких символів. Розширені рядки починаються з 256.

                    

На вхід кодера поступають 19 символів, на виході отримуємо 12, стиснення 19/12=1.56.