- •Що таке економне кодування інформації? з якою метою воно здійснюється? Які існують способи задання кодів?
- •Що таке рівномірні й нерівномірні коди? з якою метою використовуються оптимальні нерівномірні коди?
- •Що таке надлишковість коду? Як вона визначається?
- •4. Учомуполягає принцип кодування з перевіркою на парність? Яка надлишковість коду? у чомупереваги та недолікикодування?
- •5. Щотакетвірнаматрицялінійногоблокового коду? Якіїївластивості? Яка структура твірноїматриці?
- •6. Щотакеоптимальнекодуванняінформації? Якийкритерійоптимальностістатистичнихкодів?
- •7. Які існують класи завадостійких кодів? Які коди належать до блокових завадостійких кодів? в яких випадках їх доцільно використовувати?
- •8. Які коди належать до завадостійких? Якими загальними властивостями вони характеризуються? Для чого в завадостійкі коди вводиться надлишковість?
- •11.У чомуполягає алгоритм побудовиоптимального коду Шеннона-Фано?
- •9. Які коди називаються префіксними? Що таке вектор Крафта? Як записується нерівність Крафта? у чому полягає умова оптимальності префіксних кодів?
- •12. У чому полягає алгоритм побудови оптимального коду Хаффмена?
- •13 Які необхідна і достатня умови існування завадостійкого коду?
- •14 Які існують способи задання лінійних блокових кодів? Які основні частини мають кодові слова лінійного блокового коду?
- •15 Які коди належать до лінійних блокових кодів? Які коди мають властивість систематичності?
- •16 Що таке система перевірних рівнянь лінійного блокового коду?
- •17 Що таке перевірна матриця лінійного блокового коду? Які її властивості? Яка структура перевірної матриці?
- •18 Як, скориставшись перевірною матрицею, побудувати систему перевірних рівнянь лінійного блокового коду?
- •19. Що таке кодовий синдром лінійного коду? Як він визначається?
- •20. У чому полягає алгоритм кодування циклічним кодом? Що таке перевірний поліном циклічного коду? Які його властивості?
- •21. Яким чином виявляються помилки поліноміальним кодом? в яких випадках помилки залишаються не знайденими?
- •22 Як побудувати твірну матрицю лінійного блокового коду із заданими характеристиками?
- •23 Які коди називаються блоковими? Що таке порядок блокового коду?
- •24 Які коди називаються поліноміальними?
- •25. Які поліноміальні коди називаються циклічними? Які їх властивості?
- •26. У чому полягає відмінність блокових і згорткових кодів?
- •27. У чому полягає метод блокування повідомлень? Як будується блоковий код Хаффмена?
- •Адаптивний алгоритм хаффмена з упорядкованим деревом
- •28.Які лінійні блокові коди називаються кодом Хеммінга? Як знаходиться кількість інформаційних і перевірних символів для коду Хеммінга? Як утворюються кодові слова коду Хеммінга?
- •29.Як складається перевірна та твірна матриці коду Хеммінга?
- •30.Як виконується декодування коду Хеммінга?
- •31. Як визначаються основні арифметичні операції над поліномами в полі двійкових символів gf(2)?
- •32. Як визначається поліном синдрому для циклічних кодів?
- •33. Як виявляються і виправляються помилки циклічним кодом?
- •34. Як визначаєтьсядовжинакомбінації у двійковихкодах бчх?
- •35. Як побудувати твірну матрицю коду бчх
- •36. Як визначаєтьсямінімальнакількістьперевірнихсимволів для лінійногоблокового коду іззаданими характеристиками?
- •37 Як побудувати твірну та перевірну матриці циклічного коду?
- •38 Яким чином за допомогою кодового синдрому виявляються та виправляються помилки лінійним блоковим кодом?
- •39 Як записуються необхідна і достатня умови виявлення лінійним блоковим кодом помилок заданої кратності?
- •40. Як побудувати твірну матрицю поліноміального коду?
- •41. Як записуються необхідна і достатня умови виправлення лінійним блоковим кодом помилок заданої кратності?
- •42. Який канал передачі інформації описується моделлю двійкового симетричного каналу?
- •43 Як визначається вектор помилок у двійковому каналі зв'язку? у чому полягає задача декодування переданого кодового слова?
- •44 Яку властивість має кодовий синдром прийнятої кодованої послідовності? у яких випадках синдром не дозволяє знайти помилки у переданій послідовності?
- •45 Яке кодування інформації називається статистичним? Які алгоритми стиснення даних відносять до статистичних?
- •46. За якими ознаками класифікують системи й методи стиснення даних?
- •47. Чим визначається верхня границя стиснення інформації? Які існують границі стиснення при використанні оптимального кодування Шеннона-Фано і Хаффмена?
- •48. Які переваги та недоліки використання оптимального кодування Шеннона-Фано і Хаффмена?
- •49 Які системи характеризуються стисненням без втрат інформації? Які основні елементи вони включають?
- •50 У чому полягає арифметичний алгоритм кодування інформації? Які його переваги в порівнянні з іншими статистичними методами стиснення інформації?
- •51 Як здійснюється декодування даних за арифметичним алгоритмом?
- •.У чому полягає основна ідея словникових методів стиснення інформації? у чому переваги використання словникових методів у порівнянні із статистичними? (ст.104)
- •Які основні елементи включає система стиснення інформації? Які функції вони виконують?
- •На які основні групи поділяються словникові алгоритми стиснення? Які їх характерні риси? (ст.104)
- •55 .У чому полягають словникові методи стиснення з використанням «ковзного» вікна lz77, lzss? Чим визначається довжина кодів цих алгоритмів?
- •56 Які переваги модифікованого алгоритму lzss у порівнянні з lz77?
- •57 У чому полягають словникові методи стиснення lz78, lzw? Чим визначається довжина кодів для цих алгоритмів? Які переваги модифікації lzw?
- •58 У чому полягає метод стиснення інформації способом кодування серій (алгоритм rle)
- •59 ЯкінедолікисловниковихалгоритмівLz77, lzss?
- •60 ЯкіперевагиалгоритмівLz78, lzw у порівнянні з lz77, lzss?
- •61 Якісистемихарактеризуютьсястисненнямізвтратамиінформації? у чомурізниця систем ізвтратами й без втратінформації?
- •62 У чому суть дискретного косинус-перетворення у стисканні зображень?
- •63 Яку функцію покладено на етап квантування у алгоритмі jpeg?
Адаптивний алгоритм хаффмена з упорядкованим деревом
На відміну від раніше розглянутих методів стиснення адаптивний (динамічний) алгоритм Хаффмена більш практичний, однопрохідний, не потребуючий передачі таблиці кодів. У процесі кодування залежно від значення поточного символу, що надходять на вхід алгоритму, кодове дерево постійно змінюється – коригується відповідно до зміни статистики вхідного потоку. При декодуванні відбувається той самий процес. Для однозначності декодування використовуєтьсяупорядкована структура кодового дерева.
Упорядкованим деревом Хаффменаназиваєтьсябінарне дерево, вузли якого можуть бути перелічені у порядку неубування їх ваги зліва-направо на кожному рівні і знизу-вверх за рівнями. Якщо дерево упорядковано таким чином, то при зміні ваги існуючого вузла в дереві достатньо поміняти місцями два вузли: вузол, що порушив упорядкованість, і останній з наступних за ним вузлів меншої ваги. Після обміну вузлів місцями необхідно перерахувати вагу всіх вузлів-предків.
На початку роботи алгоритму дерево містить тільки один спеціальний символ <ESC>, що завжди має частоту 0. Він необхідний для занесення в кодове дерево нового символу, що передається безпосередньо після <ESC>. При появі нового символу праворуч від вузла <ESC> додається лист і потім, якщо необхідно, дерево упорядковується. Ліві гілки кодового дерева позначаються 0, а праві - 1.
Наведемо приклад впорядкованоготаким чином дерева Хаффмена (рис. 2.8 а). Додамо в це дерево дві букви «А», тоді вузли «A» і «D» повинні помінятися місцями (рис. 2.8 б). Якщо додати ще дві букви «А», то потрібно поміняти місцями спочатку вузол «А» та вузол-батько «D» і «В», а потім вузол «Е» і вузол-брат «Е» (рис. 2.8 в-г).
а) б)
в) г)
Рисунок 2. 8
Розглянемо приклади кодування/ декодування повідомлень за адаптивним алгоритмом Хаффмена.
28.Які лінійні блокові коди називаються кодом Хеммінга? Як знаходиться кількість інформаційних і перевірних символів для коду Хеммінга? Як утворюються кодові слова коду Хеммінга?
Найпоширенішими систематичними лінійними блоковими кодами є коди Хеммінга, до яких належать коди з мінімальною кодовою відстанню dmin=3, здатні виправляти поодинокі помилки.
Синдром, що визначає систему перевірних
рівнянь коду, знаходиться із рівняння
u
=0.
Наприклад, для r = 3 система перевірних рівнянь буде така:
Звідси визначають перевірні розряди (контрольні суми)
Щоб закодувати повідомлення m u, значеннями розрядів ui, де i не дорівнює степеню двійки, будуть відповідні біти повідомлення у тому самому порядку, а перевірні розряди з індексами степеня двійки знаходяться з системи перевірних рівнянь. У кожне рівняння системи входить тільки одна контрольна сума.
29.Як складається перевірна та твірна матриці коду Хеммінга?
Характерною властивістю перевірної матриці лінійного блокового коду з dmin=3 є те, що її стовпці являють собою різні ненульові комбінації завдовжки r.
Хеммінгомзапропоновано розміщувати
стовпці перевірної матриці
так,
щоб i-й стовпець
матриці, що відповідає номеру i
помилкового розряду кодової комбінації,був
двійковим поданням цього номера. Тоді
синдром виправлення однократних
помилок кодом Хеммінгає двійковим
поданням номера розряду, в якому виникла
помилка. Для цього перевірні
розряди, що відповідають стовпцям
одиничної підматриці перевірної матриці
коду, повинні знаходитися не в правій
частині кодового слова, а у позиціях з
номерами степеня двійки, тобто 20,
21, 22,…,
.
Наприклад, для r=3 перевірна матриця Хеммінга має вигляд
.
Перевірна матриця (k, n)-
коду Хеммінга складається із r
рядків і
стовпців, що є двійковими комбінаціями
числа i, де i - номер
стовпця.
Твірна матриця коду будується таким чином, щоб стовпці з номерами нестепеня 2 відповідали інформаційним елементам повідомлення, тобто утворювали одиничну підматрицю, а стовпці з номерами степеня 2 (перевірна частина матриці) визначалися рівняннями знаходження відповідних контрольних сум.
