
- •Теорія інформації
- •Тулякова н.О.0 теорія інформації
- •Теорія інформації
- •1.1 Предмет курсу. Види інформації. Теорема дискретизації
- •1.2 Базові поняття теорії інформації
- •1.3 Способи вимірювання інформації
- •1. 4 Ентропія джерела. Властивості кількості інформації та ентропії
- •Розв'язання
- •Розв'язання
- •2.1 Умовна ентропія
- •2.2 Модель системи передачі інформації
- •2.3 Види умовної ентропії
- •2.4 Ентропія об'єднання двох джерел інформації
- •2.5 Продуктивність дискретного джерела інформації. Швидкість передачі інформації
- •2.6 Інформаційні втрати при передачі інформації по дискретному каналу зв'язку
- •2.7 Пропускна здатність дискретного каналу. Основна теорема про кодування дискретного джерела
- •Розв'язання
- •Розв'язання
- •3.1 Способи задання кодів. Статистичне кодування
- •3.2 Елементи теорії префіксних множин
- •3.3 Оптимальні методи статистичного стиснення інформації Шеннона-Фано і Хаффмена
- •Розв'язання
- •I Метод Шеннона-Фано:
- •II Метод Хаффмена:
- •4.1 Теоретичні границі стиснення інформації
- •4.2 Метод блокування повідомлення
- •Розв'язання
- •Розв'язання
- •Розв'язання
- •Метод Шеннона-Фано
- •Арифметичний метод
- •Розв'язання
- •Розв'язання
- •Розв'язання
- •Розв'язання
- •7.1 Алгоритм lz77
- •7.2 Алгоритм lzss
- •7.3 Алгоритм lz78
- •7.4 Алгоритм lzw
- •Розв'язання
- •Розв'язання
- •Розв'язання
- •Розв'язання
- •8.1 Огляд типів систем стиснення інформації
- •8.2 Стиснення без втрат інформації
- •8.3 Стиснення із втратами інформації
- •9.1 Основні принципи
- •9.2 Елементи двійкової арифметики
- •9.3 Код з перевіркою на парність
- •9.4 Ітеративний код
- •Розв'язання
- •Розв'язання
- •10.1 Способи задання лінійних кодів. Твірна матриця лінійного блокового коду
- •10.2 Перевірна матриця лінійного блокового коду
- •10.3 Кодовий синдром і виявлення помилок лінійним блоковим кодом
- •10.4 Синдромне декодування лінійних блокових кодів
- •10.5 Вага і відстань Хеммінга. Можливості лінійних кодів виявляти і виправляти помилки
- •Розв'язання
- •Розв'язання
- •Розв'язання
- •12.1 Операції над поліномами в полі двійкових символів gf(2)
- •12.2 Поліноміальні коди
- •12.3 Циклічні коди
- •12.4 Синдром і виправлення помилок у циклічних кодах
- •12.5 Твірна і перевірна матриці циклічного коду
- •12.6 Способи декодування циклічного коду
- •Розв'язання
- •Розв'язання
- •Розв'язання
8.2 Стиснення без втрат інформації
У системах стиснення без втрат декодер відновлює дані джерела абсолютно точно. Узагальнена схема системи стиснення без втрат інформації має такий вигляд (рис. 2.12):
Рисунок 2. 12
Вектор
даних, що підлягає стисненню, є
послідовністю
скінченної довжини. Елементарні
повідомлення, що утворюють вектор
,
обираються із скінченного алфавіту
джерела X.
Виходом
кодера є стиснені дані у вигляді двійкової
послідовності
,
довжина якої k
залежить від
.
Оскільки система стиснення неруйнуюча,
то однаковим векторам
відповідають однакові кодові
слова на
виході кодера
.
8.3 Стиснення із втратами інформації
У системах стиснення із втратами інформації кодування здійснюється так, що декодер не в змозі відновити дані джерела в первинному вигляді. Узагальнена схема системи стиснення із втратами інформації зображена на рис. 2.13
Рисунок
2. 13
На
відміну від попередньої схеми (рис. 2.12)
у цій схемі наявний квантователь,
що перетворює вектори вхідних даних
на вектор
достатньо
близький до
за значенням
середньоквадратичної
помилки.
Задача квантователя полягає у зменшенні
розміру алфавіту джерела. Звичайно, на
цьому етапі дані приводять до вигляду,
в якому вони можуть бути ефективно
стиснуті без втрат.
Далі
кодер
піддає неруйнуючому стисненню вектор
квантованих даних
так, щоб забезпечувалася однозначна
відповідність між
і
,
тобто для будь-яких
виконується умова
.
Проте система в цілому залишається
руйнуючою, оскільки двом різним векторам
на вході може відповідати той самий
відновлений вектор.
Руйнуючий кодер характеризується швидкістю стиснення R і величиною спотворень D, що знаходяться за формулами:
,
.
(2.17)
Параметр
R
характеризує
швидкість стиснення у бітах на одне
елементарне повідомлення, а параметр
D
є мірою середньоквадратичної різниці
та
.
Ці два параметри пов'язані зворотною
залежністю.
Вибір системи стиснення із втратами або без втрат залежить від типу даних, що стискаються. При стисненні текстів, документів, комп'ютерних програм, банківської інформації і т. ін. очевидно, що необхідно використовувати неруйнуюче стиснення, оскільки в цих випадках необхідне точне відновлення початкової інформації. А у тих випадках, коли інформація, що стискається, використовується лише для якісної її оцінки - це, як правило, аналогові дані, використовується стиснення із втратами, що виявляється дуже доцільним, оскільки при практично непомітних спотвореннях стиснення із втратами забезпечує на порядок, а іноді і на два більшу його швидкість. Зрозуміло, що стиснення із втратами забезпечує і істотно більший коефіцієнт стиснення порівняно із системами неруйнуючого кодування.
Контрольні запитання до розділів 3-8
Що таке економне кодування інформації? З якою метою воно здійснюється?
Які існують способи задання кодів?
Що таке рівномірні й нерівномірні коди?
З якою метою використовуються оптимальні нерівномірні коди?
Що таке надлишковість коду? Як вона визначається?
Яке кодування інформації називається статистичним? Які алгоритми стиснення даних відносять до статистичних?
Що таке оптимальне кодування інформації? Який критерій оптимальності статистичних кодів?
Які коди називаються префіксними? Що таке вектор Крафта? Як записується нерівність Крафта? У чому полягає умова оптимальності префіксних кодів?
У чому полягає алгоритм побудови птимального коду Шеннона-Фано?
У чому полягає алгоритм побудови оптимального коду Хаффмена?
Які переваги та недоліки використання оптимального кодування Шеннона-Фано і Хаффмена?
Чим визначається верхня границя стиснення інформації? Які існують границі стиснення при використанні оптимального кодування Шеннона-Фано і Хаффмена?
Які коди характеризуються «наявністю пам'яті»?
Які коди називаються блоковими? Що таке порядок блокового коду?
У чому полягає метод блокування повідомлень? Як будується блоковий код Хаффмена?
У чому полягає арифметичний алгоритм кодування інформації? Які його переваги в порівнянні з іншими статистичними методами стиснення інформації?
Як здійснюється декодування даних за арифметичним алгоритмом?
У чому полягає адаптивний алгоритм Хаффмена? Що таке упорядковане дерево Хаффмена?
Як здійснюється кодування/декодування вхідних даних за адаптивним алгоритмом Хаффмена?
Які переваги і недоліки адаптивного алгоритму Хаффмена?
У чому полягає основна ідея словникових методів стиснення інформації? У чому переваги використання словникових методів у порівнянні із статистичними?
На які основні групи поділяються словникові алгоритми стиснення? Які їх відмітні риси?
У чому полягають словникові методи стиснення з використанням «ковзного» вікна LZ77, LZSS? Чим визначається довжина кодів цих алгоритмів?
Які переваги модифікованого алгоритму LZSS у порівнянні з LZ77?
Які недоліки словникових алгоритмів LZ77, LZSS?
У чому полягають словникові методи стиснення LZ78, LZW? Чим визначається довжина кодів для цих алгоритмів? Які переваги модифікації LZW?
Які переваги алгоритмів LZ78, LZW у порівнянні з LZ77, LZSS?
Які основні елементи включає система стиснення інформації? Які функції вони виконують?
За якими ознаками класифікують системи й методи стиснення даних?
Чим відрізняються системи стиснення інформації, призначені для передачі й для архівації даних?
Які способи стиснення належать до лінійних, матричних, каскадних?
Як характеризуються системи стиснення інформації за ступенем і швидкістю стиснення?
Як знаходяться коефіцієнт та швидкість стиснення двійкових даних?
Які системи характеризуються стисненням без втрат інформації? Які основні елементи вони включають?
Які системи характеризуються стисненням із втратами інформації? У чому різниця систем із втратами й без втрат інформації?
Чим визначаються швидкість стиснення й величина спотворень у системах стиснення із втратами інформації?
Частина III Завадостійке кодування інформації |
Розділ 9 ОСНОВНІ ПРИНЦИПИ ЗАВАДОСТІЙКОГО КОДУВАННЯ.
ЛІНІЙНІ БЛОКОВІ КОДИ