Формати анімаційних файлів
GIF - формат зберігання графічних зображень. Формат GIF здатний зберігати стислі дані без втрати якості у форматі не більше 256 кольорів. Незалежний від апаратного забезпечення формат GIF був розроблений в 1987 році (GIF87a) фірмою CompuServe для передачі растрових зображень по мережах. У 1989-му формат був модифікований (GIF89a), були додані підтримка прозорості і анімації. GIF використовує LZW- компресію, що дозволяє непогано стискати файли, в яких багато однорідних заливок (логотипи, написи, схеми).
GIF широко використовується на сторінках Всесвітньої Павутини.
Зображення в форматі GIF зберігається порядково, підтримується тільки формат з індексованої палітрою кольорів. Стандарт розроблявся для підтримки 256-кольорової палітри.
Недокументованою, але підтримуваної можливістю є збереження більшої кількості кольорів за допомогою анімованого GIF з нульовою затримкою між кадрами. При цьому кожен кадр містить свою палітру.
Один з квітів у палітрі може бути оголошений «прозорим». В цьому випадку в програмах, які підтримують прозорість GIF (наприклад, більшість сучасних браузерів) крізь пікселі, пофарбовані «прозорим» кольором буде видно фон. «Напівпрозорість» пікселів (технологія альфа-каналу) не підтримується.
GIF використовує формат стиснення LZW. Таким чином, добре стискаються зображення, рядки яких мають повторювані ділянки. Наприклад, зображення в яких багато пікселів одного кольору по горизонталі.
Алгоритм стиснення LZW відноситься до форматів стиснення без втрат. Це означає, що відновлення з GIF дані будуть в точності відповідати упакованості. Слід зазначити, що це вірно тільки для 8-бітних зображень з палітрою, для кольорової фотографії втрати будуть обумовлені перекладом її до 256 квітам.
Метод стиснення LZW розроблений в 1978 році ізраїльтянами Лемпелом і Зивом і доопрацьований пізніше в США. Стискає дані шляхом пошуку однакових послідовностей (вони називаються фрази) у всьому файлі. Виявлені послідовності зберігаються в таблиці, їм присвоюються коротші маркери (ключі). Так, якщо в зображенні є набори з рожевого, оранжевого і зеленого пікселів, що повторюються 50 разів, LZW виявляє це, привласнює даному набору окреме число (наприклад, 7) і потім зберігає ці дані 50 разів у вигляді числа 7. Метод LZW. так само, як і RLE. краще діє на ділянках однорідних, вільних від шуму квітів, він діє набагато краще, ніж RLE. при стисненні довільних графічних даних, але процес кодування і розпакування відбувається повільніше.
Формат GIF допускає Черезстрочне зберігання даних. При цьому рядки розбиваються на групи, і змінюється порядок зберігання рядків у файлі. При завантаженні зображення проявляється поступово, в кілька проходів. Завдяки цьому, маючи тільки частину файлу, можна побачити зображення цілком, але з меншим дозволом.
У чересстрочном GIF Ті спочатку записуються рядки 1, 5, 9 і т. Д. Таким чином, завантаживши 1/4 даних, користувач матиме уявлення про цілий зображенні. Другим проходом йдуть рядки 3, 7, 11, дозвіл зображення в браузері ще вдвічі збільшується. Нарешті, третій прохід передає всі відсутні рядки (2, 4, 6 ...). Таким чином, задовго до закінчення завантаження файлу користувач може зрозуміти, що всередині і вирішити, чи варто чекати повного завантаження зображення. Чересстрочная запис незначно збільшує розмір файлу, але це, як правило, виправдовується здобувається властивістю.
Формат GIF підтримує анімаційні зображення. Фрагменти представляють собою послідовності декількох статичних кадрів, а також інформацію про те, скільки часу кожен кадр буде показаний на екрані. Анімація може бути закольцована, тоді після останнього кадру буде знову показаний перший і так далі.
Існує дві специфікації формату GIF - GIF 87a і GIF 89a.
Перша специфікація була створена в 1987 році компанією CompuServe для заміни застарілого формату RLE. GIF став популярний в ході розвитку інтернету, так як дозволяв використовувати більш компактні (за розміром файлу) в порівнянні з іншими форматами картинки на веб-сторінках. Хоча до теперішнього часу формат багато в чому застарів, і для його заміни створений формат PNG. він як і раніше широко використовується.
Медіаконтейнера. мультімедіаконтейнер (англ. Mediacontainer) - формат файлу або потоковий формат (потік необов'язково повинен бути збережений у вигляді файлу), чиї специфікації визначають тільки спосіб збереження даних (а не алгоритм кодування) в межах одного файлу. Медіаконтейнера визначає, скільки метаданих фактично може бути збережено, разом з тим він не визначає ніяку кодифікацію самих даних. Медіаконтейнера фактично є метаформатом, так як він зберігає дані та інформацію про те, як дані будуть зберігатися безпосередньо всередині файлу. Як наслідок з цього, програма, яка здатна коректно ідентифікувати і відкрити файл (прочитати потік), записаний в будь-якому форматі, згодом може бути не здатна декодувати фактичні дані, записані всередині медіаконтейнера, так як або метадані в медіаконтейнера є недостатніми, або програмне забезпечення здатне декодувати дані, закодовані в медіаконтейнера.
Складові частини контейнера файлу мають різні найменування. У RIFF і PNG їх часто називають chunks (шматки), в MPEG-TS їх називають packets (пакети), а вJPEG вони називаються «segments» (сегменти). Основний контент даних складових частин називається «дані» або «корисне навантаження». У більшості контейнерних форматів кожна складова частина в послідовності має свій заголовок (англ. Header), в той час як медіаконтейнера TIFF натомість зберігає зміщення, що призводить до труднощів у збереженні інформації. Модульні складові частини полегшують відновлення інших складових частин у разі пошкодження файлу або при «випаданні» кадрів або при bit slip (англ.).
Деякі медіаконтейнера призначені для збереження тільки аудіо:
- AIFF (формат файлу IFF. Широко використовуваний на платформі Mac OS)
- WAV (формат файлу RIFF. Широко використовуваний на платформі Microsoft Windows)
- XMF (англ. ExtensibleMusicFormat - розширюваний формат музики)
Деякі медіаконтейнера призначені для збереження тільки статичних зображень:
- FITS (англ. FlexibleImageTransportSystem - гнучка транспортна система зображення) - медіаконтейнера для статичних зображень, необроблених даних (англ. Raw data) і пов'язаних метаданих.
- TIFF (англ. TaggedImageFileFormat - тегів файловий формат зображень) - медіаконтейнера для статичних зображень і пов'язаних метаданих.
- ANIM - медіаконтейнера для цифрової анімації на лінійці класичних комп'ютерів Commodore Amiga. слід основним специфікаціям IFF ILBM.
- ASF (англ. AdvancedSystemsFormat - просунутий системний формат) - стандартний медіаконтейнера для Microsoft WMA і WMV.
- CDXL (інше найменування для формату ANIM) - медіаконтейнера для анімації для Amiga CDTV і Amiga CD32.
- IFF (англ. InterchangeFileFormat - чергується файловий формат) - перший від платформи незалежний медіаконтейнера.
- Matroska (MKV, Матрьошка) - відкритий вільний стандарт і медіаконтейнера.
- MOV - медіаконтейнера для мультимедійного фреймворка QuickTime. розроблений Apple.
- OGM (Ogg Media) медіаконтейнера для кодеків від Xiph.org. паче не підтримуваний і формально відірваний Xiph.org. [1]
Є також багато інших медіаконтейнера. наприклад NUT, MPEG-1. MXF, GXF, ratDVD, SVI, VOBіDivX Media Format.
На додаток до «чистим» контейнерним форматам, які визначають тільки «обгортку», а не алгоритм кодування, є деякі файлові формати, які визначають і шар зберігання, і шар кодування, як частина модульного дизайну і для сумісності «знизу вгору». До таких медіаконтейнера відносяться JPEG File Interchange Format (JFIF) для JPEG- зображень і Portable Network Graphics (PNG). Такі повнофункціональні медіаконтейнера (хоча поняття «медіаконтейнера» до них не зовсім доречно) називаються «Single coding format» (рос. Єдиний формат кодування).
Всі відмінності між різними медіаконтейнера відбуваються з п'яти основ:
- Популярність. Наскільки поширений і підтримується даний контейнер.
- Розмір файла. Показує відмінність у файловому розмірі між двома файлами, які мають однаковий контент, але збережені різними медіаконтейнера.
- Підтримка розширеного контенту. Чи підтримує медіаконтейнера розділи, субтитри, мета-теги і призначені для користувача дані.
- Підтримка потокового мультимедіа.
Якістю тут можна управляти, задаючи величину, таку, що якщо відмінність між точками менше, то вони вважаються однаковими.
Одна з найбільш потужних технологій дозволяє підвищити ступінь стиснення - це компенсація руху. Її використання означає, що наступні кадри в потоці використовують схожість областей в попередніх кадрах для збільшення ступеня стиснення.
Використання більшості методів стиснення (таких, як дискретні косинусное перетворення і вейвлет-перетворення) тягне також використання процесу квантування. Квантування може бути як скалярним, так і векторних, тим не менше, більшість схем стиснення на практиці використовують скалярний квантування внаслідок його простоти.