Проект кодування аудіо

стиснення даних

Це проекту частує Кодування аудіо. Витяг з документа можна переглянути нижче (приблизно 2 сторінки).

Архів містить 1 файл доктор де 29 сторінок .

Викладач-керівник/Представлено вчителю: Джуріану Маріана

Ми рекомендуємо вам уважно ознайомитися з витягом та наданими зображеннями, і якщо це те, що вам потрібно для вашої документації, ви можете завантажити його. Вам це просто потрібно 5 балів.

Витяг з документа

Починаючи з 1980-х років, незабаром після появи першого ПК, було встановлено, що місця, доступного на будь-якому носії, який може зберігати дані (жорсткий диск, дискета, стример, оптичний привід), стає недостатньо за відносно короткий час. Отримання запам'ятовуючого пристрою більшої ємності не завжди є рішенням, оскільки воно передбачає великі витрати або громіздку обробку (особливо у випадку з дискетами), не кажучи вже про те, що не всі носії захищені - дискети, наприклад, мають високий шанс невдачі через деякий час. Так народилася ідея стиснення даних (стиснення), інформацію можна архівувати, займаючи менший простір, ніж початковий. Ми не будемо робити історію програм, що сприяли цій операції, ми лише згадаємо той факт, що PKZIP та ARJ домінували в періоді кінця 80-х та початку 90-х, а потім, після 1995 року, з’являться дві нові. програмне забезпечення, призначене для цієї мети, з перевагами, які перевершують дві згадані раніше: RAR та ACE.

З появою Інтернету з’явилася нова утиліта стиснення: швидкість телефонної лінії (або будь-якого іншого звичного режиму передачі в 90-х) була дуже низькою, несумісною з обсягом даних, які бажано завантажити зі світової мережі. В даний час програма, яка займає 20 МБ, вимагатиме часу передачі близько однієї години на звичайному комутованому з'єднанні, час стискання зменшується вдвічі. Це економить гроші та час. Навіть модеми виконують стиснення внутрішньо, але це далеко не попередні формати WinRAR або WinACE.

Звичайно, у випадку стиснення програмного забезпечення необхідна подальша декомпресія, операція, яка вимагає часу. Натомість існує можливість прозорого стиснення, коли дані піддаються цій операції, не знаючи про це користувача. Іншими словами, дані стискаються та декомпресуються автоматично - очевидно, з більш-менш помітним зниженням робочої швидкості, але перевага очевидна: користувачеві більше не потрібно турбуватися про стиснення, просто запускає програму стиснення, і це робить все для нього. Цей спосіб стиснення даних називається стисненням у реальному часі.

Починаючи з цієї ідеї, стиснення в реальному часі може бути повним або частковим. Найкращим прикладом загального стиснення в реальному часі є стиснення розділів із використанням програмного забезпечення, таких як DoubleSpace, DriveSpace, Stacker тощо. Недоліки є основними і полягають у зменшенні можливості контролю та високому ризику втрати даних. Автори цього програмного забезпечення, мабуть, не вважали за необхідне розробляти їх на високоякісному рівні, тому вони зникли на кілька років.

Часткове стиснення в реальному часі може бути прикладом системи стиснення, наданої Windows 2000/XP, операційна система пропонує можливість зменшити простір, зайнятий даними, за допомогою файлової системи NTFS, це ціною зменшення (зазвичай незначної) швидкості Для роботи. Стиснення може здійснюватися на рівні файлу, тому, якщо ви рідко використовували дані на жорсткому диску, ви можете вибрати це рішення.

Також частковим стисненням ми можемо назвати випадок, коли файл спочатку стискається, він буде автоматично розпакований при наборі номера. Програма декодера, яка автоматично розпаковує інформацію, працює абсолютно прозоро, користувач не знає, що його дані не в чистому вигляді, а кодуються алгоритмом стиснення. Такими прикладами є формати зображень (JPG, GIF, PNG), відео (AVI, MPG, MOV) та звук (MP3, MPC, OGG тощо). У цьому проекті ми розглянемо останнє.

Як виконати стиснення даних

Припустимо, у нас є файл, що містить рядок "AAABBBBBCCCDDDDEFF". Одним із методів його стискання є додавання кількості повторень до відповідного листа, в результаті чого виходить "3A5B3C4D1E2F". Я заощадив 6 байт, що становить 50% займаного місця. Звичайно, приклад тривіальний, стиснення базується на набагато складніших та ефективніших алгоритмах Хаффмана, Лемпеля-Зіва тощо.

Візьмемо ще один приклад: рядок "AAABBBBCCCDDDEEEFFFGGG". Ми помічаємо, що кожна буква повторюється тричі, за винятком "В" та "Е", які мають коефіцієнт повторення 4 та 2. Відповідно. Якщо коефіцієнт все ще 3, ми отримуємо, згідно загального алгоритму "3 ABCDEFG) »замість« 3A4B3C3D2E3F3G », заощаджуючи більше місця. Проблема виникає, якщо ми можемо обійтися без інформації, пов’язаної з винятком із «правила 3», отримуючи стиснення з втратами, а розпакований файл згодом не буде ідентичним вихідному. У випадку програм це неможливо, один модифікований біт, як правило, призводить до нездатності програми працювати або, можливо, до ненормальної поведінки; наприклад, якщо деякі літери, що складають слова в меню програми, змінені або в програмі, присвяченій математикам, число pi має значення "трохи" змінене, наприклад 3.10 або 3.25? У разі файлів, що містять дані, такі як фільми, зображення або звук, відсутність інформації можна не помітити (або почути, якщо це доречно). Класичними прикладами є формати стиснення відео та звуку із втратами, такі як JPG, MPG, MP3. На відміну від цього, стиснення без втрат називають без втрат.