Стиснення данихСти́снення да́них (англ. data compression) — це процедура перекодування даних, яка проводиться з метою зменшення їхнього обсягу, розміру, об'єму. Стиснення базується на усуненні надлишку інформації, яка міститься у вихідних даних. Наприклад, повторення в тексті фрагментів (наприклад, слів природної або машинної мови). Подібний надлишок зазвичай усувається заміною повторюваних послідовностей коротшим значенням (кодом). Інший вид надлишковості пов'язаний з тим, що деякі значення в даних, що стискаються, трапляються частіше інших, при цьому можна замінювати дані, що часто трапляються, коротшими кодами, а ті, що рідко, довшими (ймовірнісне стиснення). Стиснення даних, які не мають властивості надлишку (наприклад випадковий сигнал чи шум), неможливе. Також, зазвичай, неможливо стиснути зашифровану інформацію. Види стиснення:
Стиснення без втратСтиснення без втрат використовується при обробці та збереженні комп'ютерних програм і даних. Для деяких типів даних спотворення не припустимі в принципі. У їх числі:
Стиснення із втратамиСтиснення зі втратами зазвичай застосовується для зменшення обсягу звукової, фото- й відеоінформації і, як показує практика, для такого роду інформації це набагато вигідніше, але чим більша втрата даних при стисненні, тим помітніші в стиснених даних стають артефакти. Допустимість втратУ загальному випадку алгоритми стиснення без втрат універсальні в тому сенсі, що їх застосування безумовно можливо для даних будь-якого типу, в той час як можливість застосування стиснення зі втратами потрібно обґрунтувати. Системні вимоги алгоритмівРізні алгоритми можуть вимагати різної кількості ресурсів обчислювальної системи, на яких їх застосовують:
У цілому ці вимоги залежать від складності та «інтелектуальності» алгоритму. Загальна тенденція така: чим ефективніший і універсальніший алгоритм, тим більші вимоги до обчислювальних ресурсів він пред'являє. Тим не менш, у специфічних випадках прості і компактні алгоритми можуть працювати не гірше складних і універсальних. Системні вимоги визначають їх споживчі якості: чим менш вимогливий алгоритм, тим у простішій, а отже, компактній, надійній і дешевій системі він може працювати. Так як алгоритми стиснення і відновлення працюють в парі, має значення співвідношення системних вимог до них. Нерідко можна, ускладнивши один алгоритм, значно спростити інший. Таким чином, можливі три варіанти:
Алгоритми стиснення даних невідомого форматуЄ два основних підходи до стиснення даних невідомого формату.
ЗастосуванняВідеоАлгоритми стиснення відео використовують сучасні техніки кодування для зменшення надлишковості відео даних. Більшість алгоритмів стиснення відео і кодеків поєднують просторове стиснення зображення і часову компенсацію руху. Стиснення відео є практичною реалізацією стиснення даних із галузі теорії інформації. На практиці, більшість відео кодеків також паралельно використовують техніки стиснення аудіо для стиснення окремих, але поєднаних в один пакет потоків даних.[1] Більшість алгоритмів стиснення використовують стиснення з втратами. Нестиснене відео[en] потребує високої частоти даних. Хоча кодеки виконують стиснення відео без втрат із коефіцієнтом стиснення 5-12, типове стиснення MPEG-4 із втратами має коефіцієнт стиснення в межах від 20 до 200.[2] Як і при будь-якому стисненні з втратами, завжди відбувається пошук компромісу між бажаною якістю відео, затратами ресурсів на здійснення стиснення і декодування, і системними вимогами. Сильно стисненне відео може мати візуально помітні артефакти. Деякі схеми стиснення відео зазвичай оперують квадратні групи сусідніх пікселів, що називаються макроблоками. Ці групи пікселів або блоки порівнюються від одного кадру до наступного, і відео кодек посилає лише різницю в рамках цих блоків. Ті зони відео де є більше рухів, при стиснені треба закодувати більше даних, аби зберегти більшу кількість змінних пікселів. Зазвичай коли в кадрах відео є вибухи, полум’я, стада тварин, панорамні зйомки, велика частота зміни деталей призводить до зменшення якості або збільшення змінної бітової швидкості. ХронологіяНаступна таблиця є частковою історією міжнародних стандартів стиснення відео.
Примітки
Література
Див. також
Information related to Стиснення даних |