Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Архівація і стиснення даних

Реферат Архівація і стиснення даних





і компресором, на основі вже отриманих символів. Якщо декодировщик виявляє (по префіксу), що надійшов chr-код, він просто копіює symbol у вихідний потік і в словник, пересуваючи потім словник на одну позицію слідом за текстом. Якщо ж вступив ptr-код, декодировщик копіює length символів, починаючи з позиції distance у словнику. Нагадаємо, що distance відраховується від кінця словника до початку. p> Всі характеристики класичного варіанта алгоритму майже цілком визначаються розміром словника | V | і максимальною довжиною рядків у словнику smax (див. Завдання).

Високоефективним виявляється спосіб двоступеневого кодування інформації, коли вихідний потік кодувальника LZ77 надходить на вхід блоку арифметичного кодера (LZARI) або кодера Хаффмена (LZHUF).

Таке можливо, тому що коди length і distance розподілені далеко не випадково і непогано описуються моделлю для монотонних джерел. Дійсно, більш довгі збіги зустрічаються явно рідше коротких, а ймовірність збігу слів на невеликій відстані вище, ніж вірогідність зустріти схоже слово в глибинах словника. Решта після першого проходу коди symbol і раніше підпорядковуються моделі Бернуллі. Подібне рішення, використовуване в архіваторах LHA, ARJ, PKZIP, RAR робить їх одними з найбільш ефективних і популярних в даний момент. br/>

Висновки


АлгорітмСтепень сжатіяСко-ростьПамятьСжатіе без потерьПро-ходиРОВІLZ77 LZSS932Да1ДаРедкоLZHUF LZARI1022Да2ДаРедко

Робота: в реальному масштабі часу і в потоці (крім LZARI, LZHUF).

Основне застосування: універсальний, стиснення текстів (LHA, ICE, ARJ, PKZIP, PAK, LZEXE).


Практична реалізація алгоритму LZ77


Примітка: тому алгоритм був детально розглянутий у попередньому розділі, всі опис цього розділу знаходиться всередині програми у вигляді коментарів.


Лістинг 1. Реалізація алгоритму LZ77 на мові С + +


# define DICBITS 12// Log (DICSIZE)

# define DICSIZE (1 <

# define THRESHOLD 2// Поріг

# define STRBITS 6// Log (STRMAX-THRESHOLD)

# define STRMAX ((1 <

# define BUFSIZE 0xff00U// Повний розмір буфера

# define TEXTSIZE (BUFSIZE-DICSIZE-STRMAX)// розмір буфера тексту

# define YES 1

# define NO 0

# include

# include

# include

# include

FILE * first_file, * second_file;

long srcleng = 0, fileleng; char * srcbuf, * srcstart;

/* ==============================


Назад | сторінка 13 з 16 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Створення інформаційного ресурсу та реалізація алгоритму сортування даних
  • Реферат на тему: Створення алгоритму пошуку високоінформативних діагностичних ознак захворюв ...
  • Реферат на тему: Немає нічого більш складного і тому більш цінного, ніж мати можливість прий ...
  • Реферат на тему: Реалізація алгоритму книжкового шифру
  • Реферат на тему: Реалізація криптографічного алгоритму (AES) Rijndael