- •Що таке економне кодування інформації? з якою метою воно здійснюється? Які існують способи задання кодів?
- •Що таке рівномірні й нерівномірні коди? з якою метою використовуються оптимальні нерівномірні коди?
- •Що таке надлишковість коду? Як вона визначається?
- •4. Учомуполягає принцип кодування з перевіркою на парність? Яка надлишковість коду? у чомупереваги та недолікикодування?
- •5. Щотакетвірнаматрицялінійногоблокового коду? Якіїївластивості? Яка структура твірноїматриці?
- •6. Щотакеоптимальнекодуванняінформації? Якийкритерійоптимальностістатистичнихкодів?
- •7. Які існують класи завадостійких кодів? Які коди належать до блокових завадостійких кодів? в яких випадках їх доцільно використовувати?
- •8. Які коди належать до завадостійких? Якими загальними властивостями вони характеризуються? Для чого в завадостійкі коди вводиться надлишковість?
- •9. Які коди називаються префіксними? Що таке вектор Крафта? Як записується нерівність Крафта? у чому полягає умова оптимальності префіксних кодів?
- •11.У чомуполягає алгоритм побудовиоптимального коду Шеннона-Фано?
- •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?
49 Які системи характеризуються стисненням без втрат інформації? Які основні елементи вони включають?
Стиснення без втрат (англ. Lossless) — метод стиснення даних, при використанні якого закодована інформація може бути відновлена з точністю до біта. Для кожного з типів цифрової інформації, як правило, існують свої алгоритми стиску без втрат.
За степенем відновлення інформації вирізняють системи стиснення без втрат інформації (неруйнуюче стиснення) та системи стиснення із втратами (руйнуюче стиснення).
Стисло розглянемо ці типи систем стиснення інформації.
У системах стиснення без втрат декодер відновлює дані джерела абсолютно точно. Узагальнена схема системи стиснення без втрат інформації має такий вигляд (рис. 2.12):
Рисунок 2. 12
Вектор даних, що підлягає стисненню, є
послідовністю
скінченної довжини. Елементарні
повідомлення, що утворюють вектор
,
обираються із скінченного алфавіту
джерела X.
Виходом кодера є стиснені дані у вигляді
двійкової послідовності
,
довжина якої k залежить від
.
Оскільки система стиснення неруйнуюча,
то однаковим векторам
відповідають однакові кодові слова
на виході кодера
.
50 У чому полягає арифметичний алгоритм кодування інформації? Які його переваги в порівнянні з іншими статистичними методами стиснення інформації?
Алгоритми Шеннона-Фано і Хаффмена в найкращому випадку не можуть кодувати кожний символ повідомлення менш ніж одним бітом інформації. Припустимо, що в повідомленні з 0 та 1 одиниці трапляються в 10 разів частіше. Ентропія такого повідомлення (що визначає верхню границю стиснення даних) HX≈0,469 (біт/сим) суттєво менше одиниці, тому кодування таких повідомлень оптимальними алгоритмами буде не достатньо ефективним. У таких випадках бажано використовувати алгоритми, що дозволяють кодувати символи повідомлення менш ніж 1 бітом інформації. Одним із найкращих таких алгоритмів є алгоритм арифметичного кодування.
За розподілом ймовірностей дискретної випадкової величини (далі д. в. в.) складається таблиця з пересічних в граничних точках відрізків для кожного із значень д. в. в. Об'єднання цих відрізків утворює інтервал [0; 1], а їхні довжини пропорційні ймовірностям значень д. в. в.
Алгоритм кодування полягає в побудові інтервалу, що однозначно визначає конкретну послідовність значень д. в. в. Інтервали повідомлення будуються так. Якщо є відрізок повідомлення завдовжки n-1 символів, то для побудови відрізка повідомлення завдовжки n попередній інтервал розбивається на стільки частин, скільки можливих значень має д. в. в. Для знаходження початку і кінця нового інтервалу повідомлення до початку попереднього інтервалу необхідно додати значення добутків його ширини на відповідні границі відрізка поточного нового символу з таблиці символів і їхніх інтервалів (таблиці кодера). З отриманих інтервалів вибирається той, що відповідає конкретному повідомленню завдовжки n символів.
Для побудованого таким чином інтервалу повідомлення знаходиться число, що належить цьому відрізку, як правило, це ціле число, розділене на мінімальний степінь 2. Це дійсне число і буде кодом даного повідомлення. Усі можливі коди - це числа, строго більші 0 і менші 1, тому лідируючий 0 і десяткову крапку можна не враховувати.
У міру надходження символів повідомлення його інтервал звужується, відповідно кількість розрядів, необхідна для подання інтервалу збільшується. Більш імовірні символи меншою мірою звужують інтервал, ніж менш імовірні, і, отже, додають менше розрядів до результату.
Основна відмінність арифметичного кодування від алгоритмів Шеннона-Фано і Хаффмена полягає в його неперервності, тобто відсутності необхідності блокування повідомлення. Ефективність арифметичного кодування зростає із зростанням довжини повідомлення, проте й потребує значно більших обчислювальних ресурсів. Пояснимо ідею арифметичного кодування на прикладах.
