
- •Глава 1. Стиснення зображень
- •Глава 1
- •1.1. Основи
- •1.1.1. Кодова надмірність
- •1.1.2. Міжелементна надмірність
- •1.1.3. Візуальна надмірність
- •1.1.4. Критерії вірності відтворення
- •1.2. Моделі стиснення зображень
- •1.2.1. Кодер і декодер джерела
- •1.2.2. Кодер і декодер каналу
- •1.3. Елементи теорії інформації
- •1.3.1. Вимірювання інформації
- •1.3.2. Канал передачі інформації
- •1.3.3. Основні теореми кодування
- •1.3.4. Застосування теорії інформації
- •1.4. Стиснення без втрат
- •1.4.1. Нерівномірне кодування
- •1.4.2. Lzw кодування
- •1.4.3. Кодування бітових площин
- •1.4.4. Кодування без втрат з передбаченням
- •1.5. Стиснення з втратами
- •1.5.1. Кодовання з передбаченням
- •1.5.2. Трансформаційне кодування
- •1.5.3. Вейвлет-кодування
- •1.6. Стандарти стиснення зображень
- •1.6.1. Стандарти стиснення двійкових зображень
- •8.6.2. Стандарти стиснення півтонових нерухомих зображень
- •1.6.3. Телевізійні стандарти стиснення
1.2.2. Кодер і декодер каналу
Коли канал передачі на Рис. 1.5 є каналом із шумом, тобто в ньому можливе виникнення помилок, важливу роль у загальному процесі кодування-декодування грають кодер і декодер каналу. Для зменшення впливу шуму каналу, до вихідних закодованим даними регульованим чином додається деяка надлишкова інформація. Оскільки дані на виході кодера джерела мають малу надмірність, то в відсутність такої «регульованої надмірності» передані дані були б украй чутливі до перешкод.
Один з найбільш фундаментальних і корисних способів кодування каналу був розроблений Р.В. Хеммінга [Натгшпе, 1950]. Він базується на додаванні до переданих даним деякого числа бітів, які гарантують, що допустимі кодові слова будуть відрізнятися не менш ніж у заданому числі позицій (двійкових розрядів, бітів). Хеммінг показав, наприклад, що якщо 4-бітове кодове слово розширити трьома додатковими бітами (перевірочними символами) так,щоб відстань між будь-якими двома допустимими кодовими словами стало не менш ніж 3, то будь-які одиничні помилки (в будь однією позиції будь-якого слова) можуть бути виявлені і виправлені. Додавання більшої кількості перевірочних бітів дозволяє виявляти і виправляти помилки в декількох позиціях одночасно.
Розглянемо
7-бітовий код Хеммінга, що складається
з кодових слів виду
,
асоційований з безліччю 4-бітових
двійкових чисел
:
де
знак
означає операцію виключає АБО. Зауважимо,
що біти
,
і
суть біти парності для наборів бітів
і
відповідно. (Нагадаємо, що двійкова
рядок є парною, якщо містить парне число
бітів зі значенням 1).
При декодуванні декодер каналу повинен перевірити на парність бітові позиції отриманого розширеного кодового слова. Це здійснюється наступними операціями:
В
результаті формується перевірочне
слово
,
яке в разі відсутності
помилок буде дорівнює нулю. При виникненні
одиночної помилки сформоване двійкове
число
вкаже номер позиції, в якій сталася
помилка. Для її виправлення необхідно
значення біта в даній позиції змінити
на протилежне. Потім з виправленого
розширеного кодового слова витягується
вихідне кодове слово, яке в даному
випадку буде складатися з бітів
.
Приклад 8.5. Кодування по Хеммінга.
Розглянемо передачу 4-бітових значень яскравості, наприклад, отриманих за допомогою алгоритму модифікованого квантування яскравості (МКЯ) - див. Таблицю 1.2, по каналу зв'язку з шумом. Помилка в єдиному біті може призвести до зміни правильного значення сигналу на 128 градацій яскравості. Для підвищення стійкості до шуму і щоб забезпечити виявлення і усунення одиночних помилок, кодер каналу може використовувати код Хеммінга, що потребує деякого збільшення надмірності. Згідно рівнянням (1.2-1), після кодування по Хеммінга перше значення МКЯ з Таблиці 1.2 буде однаково 1100110. Оскільки код Хеммінга збільшує число біт, необхідних для передачі значення МКЯ, з 4 до 7, то коефіцієнт стиснення 2:1, який був раніше досягнутий за рахунок використання методу МКЯ, зменшиться до 8/7 або 1,14:1 . Таке зменшення результуючого коефіцієнта стиснення є та ціна, яку доводиться платити за підвищення перешкодозахищеності.