GIF (Graphics Interchange format – формат графічного обміну).
До недавнього часу був самим розповсюдженим форматом.
1987 – перша версія формату – GIF 87a. Версія розповсюджувалась безкоштовно. GIF 87а – розширена версія стандарту. (сумісність знизу доверху). Але більшість GIF – зображення використовують тільки можливості GIF 87a.
Особливості:
1) Підтримка до 256 кольорів, для опису яких використовують від 1 до 8 бітів на піксел.
2) Зберігання в одному файлі багатьох зображень.
Для фото не змінну GIFприйшов JPEG, дякуючи кращому стисненню та більшій глибині кольору. Формат GIF продовжує використовуватись для інших додатків, але його розповсюдженню дуже заважають юридичні перепони.
Порядок розташування байтів –з молодшим байтом на першому місці (перший порядок байтів). Рядки бітів також рахуються у напрямку від самого молодшого до самого старшого біта.
Рис 3.7. Файлова структура GIF.
Заголовок: Сигнатури (“GIF”) в ASCII – коді, 3В; Версія формату – 3В.
Логічний дескриптор екрану: (global screen) Визначає логічну область екрану, в якій відтворюються окремі зображення (розмір, колір, фону), 7В.
Глобальна таблиця кольорів: Окремі зображення у файлі можуть використовувати або глобальну таблицю кольорів, або визначити власну таблицю. Сумісне використання зображенням глобальної таблиці кольорів зменшує розмір файла і спрощує його використання в системах глобальних таблиць слідує зразу після дескриптора екрану (3 байти та 1 байт на колір).
Типи блоків: Тут вказується, який тип блок вміщує змінна частина GIF – файлу (2116 – розширення; 2С16 – завершувач файлу GIF і т.п.). Завершувач (terminator) – 1 байт.
Чергування.У загальному випадку зображення GIF зберігається за порядком зверху донизу і зліва направо. Але якщо у загальному зображення встановлено прапорець режиму чергування, рядки піксельних даних формуються за 4 проходи:
1) зчитується кожен 8 рядок
2) зчитується кожен 4 рядок, (що був пропущений у 1 переході)
3) зчитується другі рядки, що були пропущені
4) зчитується перші рядки (що не читались).
Процедура чергування вирішує ту ж задачу, що і в прогресивному JPEG. Коли зображення передається через першу, чергування дозволяє користувачу отримати уяву про інформацію ще до того, як будуть завантажені всі дані зображення (Ефект “проявлення” зображення н екрані).
Формати стиснення даних.Формат GIF використовує метод LZW, на основі схеми стиснення із використанням словника (dictionary - based compression). Метод LZW підтримує ведення стиску чи словника послідовностей значень, що зустрічаються у не стиснутих даних. В процесі стиснення ці послідовності замінюються кодом. Чим більший об’єм словника тим більше різних послідовностей вихідного тексту буде відображено у словнику і чим більшим буде показник стиснення.
Базовим є методи передачі словника, що описані Абрахамом Лемпелем (Abraham Lempel) та Яковом Зівом (Jacob Ziv) у 1977 та 1978 роках і відомі, як методи LZ77 та LZ78.
В методі LZ77 для застосування словника використовується рухоме вікно у нетиснутих даних. В методі LZ78 словник формується у динамічному режимі із нетиснутих даних.
Стиснення GIF.Метод LZW – один із різновидів LZ78, був описаний в стані Тері Уолша (Terry Welsh) в 1984 р.
В методі LZW стиснутий потік даних складається повністю із кодів, що ідентифікують рядки в словнику. Словник спочатку створюється так, щоб мати наперед можливе значення даних. Наприклад, при кодування 8 – ми бітових даних словник початково має 256 однобайтових рядків із значеннями від 0 до 255.
Програма стиснення читає символи із вхідного потоку даних і добавляє їх в кінець біжучого рядка до тих пір, поки у словнику не буде знаходитися рядок, що відповідає вхідному рядку. Якщо відповідності у словнику не буде знаходитися рядок, що відповідає вхідному рядку. Якщо відповідності у словнику не буде знайдено, програма виводить код самого довгого рядка, для якого знайдено відповідність, і добавляє у словник рядок, для якого не було знайдено відповідності, (це буде рядок із знайденою відповідністю плюс 1 символ).
Чим більше повторень у вхідному потоці даних, тим більший показник стиснення, що забезпечує метод LZW.
Розміри коду LZW.На початку процесу стиснення кожне значення зберігається за допомогою мінімально можливого числа бітів (це число =9). Дорівнює МАХ розмір коду, дозволений в форматі GIF =12 бітів. Коли значення коду досягає 212– 1, кодери і декодери GIF перестають добавляти в словар нові значення.
Кодер GIF може виводити спеціальний код очистки (clear code), який приписує декодеру виконати установку словника у його початковий стан. Кодер може виводити код очистки всякий раз, коли визначить, що при використанні нового словника стиснення може покращитись.
В таблиці 3.7 наведено приклад утворення слоника для інформаційного фрагменту _______ АВАВСАВD, а на рис.3.8 показано представлення отриманого словника у виді дерева.
Таблиця 3.7
Вхідні дані | Вихідні дані | Новий код |
ABABCABD | - | - |
BABCABD | A | - |
ABCABD | B | 256=AB |
CABD | 257=BAB | |
ABD | C | 258=BC |
D | 259=CAB | |
- | D | 260=BD |
Створення словника за методом LZW.
Рис. 3.8. Дерево словника інформаційного фрагменту АВАВСАВD.
Анімація GIF.Властивості GIF – формату в одному файлі зберігати багато зображення використовується у Web – браузерах для зберігання простих мультиплікацій.
Резюме.Формат GIF був першим форматом зображення, що отримав загальне використання. На жаль, юридичні проблеми (патент на LZW – стиснення ) поклала кінець розвиткові GIF (сьогодні роботи по розвитку GIF не ведуться). GIF став застарілим форматом.
3.3.1.5. JPEG (Joint Photoshop Experts Group)(об’єднаний комітет експертів з машинної обробки фотозображень) розробник;
Самий розповсюджений формат для зберігання фотографічних зображень.
Це один із найскладніших форматів зображення тому що стандарт JPEG описує на скільки формат файлів, як визначає множину пов’язаних з ним технологій стиснення зображень.
Для збереження фотографій кращого формату нема. Для прикладу! Якщо для фотографії збережені у форматі Windows BMP необхідно 1 МВ, то в форматі JPEG її можна стиснути до 50 КВ. Хоча формат JPEG вимагає значних обчислень, його можливості із стиснення зображення перевершують недолік, пов'язаний із великими витратами часу на обробку даних.
Другий недолік – використання технології стиснення із втратами. Тому цей формат непридатний у _______ проміжного зберігання, коли необхідно багатократно повторно редагувати файл зображення.
В розробках реальних систем з використанням формату JPEG реалізується лише деякі складові стандарту. Це відбувається із-за наступного.
1) Стандарт JPEG визначає занадто багато способів вирішення однієї і тієї ж задачі. Декодер який міг би обробляти довільний можливий потік даних JPEG, був би занадто великим.
2) Режими арифметичного кодування які також представлені у стандарті, захищені патентами, і для їх використання необхідно куплети ліцензію. Кодування Хафмана виконує ідентичні функції, але за використання методу ліцензія не купляється. Додамо, що крім оплати ліцензії, патенти роблять неможливим створення загальнодоступних (безкоштовних) реалізацій деяких функцій JPEG.
Дата добавления: 2014-12-08; просмотров: 2083;