Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсова Стиснення зображення.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
7.16 Mб
Скачать

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 . Таке зменшення результуючого коефіцієнта стиснення є та ціна, яку доводиться платити за підвищення перешкодозахищеності.