Лабораторна робота 3 Карелін Євгеній

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

Формат BMP (Bitmap Picture)

BMP (англ. device independent bitmap) - це стандартний, не стиснутий бітовий формат зберігання растрових зображень, розроблений компанією Microsoft. Поширюється у форматах .bmp і .dib. З форматом BMP працює величезна кількість програм, так як його підтримка інтегрована в операційні системи Windows і OS/2. Особливістю формату є стиснення без втрат.

Структура файлу

BMP-файли складаються зі структур (заголовків) фіксованого розміру, а також зі структур змінного розміру, які розміщенні у заданій послідовності:

Назва структури Розмір Призначення
Файл заголовку 14 Байтів Зберігає основну інформацію
DIB заголовок Фіксований розмір (нараховує 7 різних варіацій) Зберігає основну інформацію, а також визначає формат пікселів
Додаткові бітові маски 12 або 16 байтів Визначає формат пікселів
Таблиця кольорів Змінний розмір Визначає кольори (Массив пікселів)
GAP1 Змінний розмір Вирівнювання структури
Массив пікселів Змінний розмір Визначає фактичні значення пікселів
GAP2 Змінний розмір Вирівнювання структури
ICC профіль кольору Змінний розмір Визначає профіль кольору для управління кольором

Властивості формату

Зображення зберігається у вигляді двовимірного масиву пікселів. Формат дозволяє зберігати тільки одношарові растри. На кожен піксель в різних файлах може приходити різна кількість біт (глибина кольору). Пропоновані варіанти бітності: 1, 2, 4, 8, 16, 24, 32, 48 та 64. Колір можна задати тільки в колірній моделі RGB, але при бітності 16 і 32 можна отримати відтінки сірого з глибиною до 16-ти і 32-х біт відповідно.

Формат JPEG (Joint Photographic Experts Group)

JPEG (англ. joint photographic experts group) - це найпоширеніший і найпопулярніший растровий графічний формат, який має алгоритм стиснення як з втратами, так і без втрат(режим стиснення lossless JPEG). Розроблений компанією C-Cube Microsystems як ефективний метод зберігання зображень з великою глибиною кольору. Поширюється у форматах .jpeg, .jpg, .jpe .jfif, .jfi, .jif.

Найбільш поширений JPEG в цифровій фотографії та для зберігання і передачі зображень мережею Інтернет.

Алгоритм JPEG якнайкраще підходить для стиснення фотографій і картин, що містять реалістичні сцени з плавними переходами яскравості і кольору.

З іншого боку, JPEG малопридатний для стиснення креслень, текстової та знакової графіки, де різкий контраст між сусідніми пікселями приводить до появи помітних артефактів.

Алгоритм стиснення JPEG

Процес стиснення зображення JPEG досить складний і часто для досягнення прийнятної продуктивності вимагає спеціальної апаратури.

  1. Зображення конвертується з простору кольорів RGB в YCbCr;
  2. Значення каналів розбивається на блоки 8x8 пікселів;
  3. Кожен блок перетворюється згідно дискретно-косинусного-перетворення. Отримується матриця коефіцієнтів 8x8.
  4. Утворені коефіцієнти квантуються, тобто кожен множиться на коефіцієнт матриці квантування;
  5. Коефіцієнти кодуються кодом Хаффмана.

Структура файлу

Файл JPEG містить послідовність маркерів, кожен з яких починається з байта 0xFF, що свідчить про початок маркера, та байта-ідентифікатора.Така структура файлу дозволяє швидко відшукати маркер з необхідними даними

Формат GIF (Graphics Interchange Format)

GIF(від англ. Graphics Interchange Format — «формат обміну зображеннями») - растровий графічний формат, розроблений компанією CompuServe у 1987 році. Даний формат використовує до 256 кольорів із 24-бітного діапазону RGB.До особливостей GIF-формату можна віднести підтримку анімації та прозорості.

Структура файлу

Файли формату GIF мають блочну структуру. Це означає, що вони складаються з окремих блоків, які в більшості випадків ніяк не пов'язані один з одним. Програми, що не розпізнають деякі типи блоків, можуть просто пропускати їх - для цього у кожного нестандартного блоку в заголовку вказано його розмір. Ті, що йдуть один за іншим блоки графіки (картинки) складають анімацію. Вони змінюються на екрані і створюють ілюзію руху. До них або після них (або навіть між ними) у файлі можуть перебувати інші блоки.

Підтримка анімації та прозорості

Формат GIF підтримує анімаційні зображення. Вони являють собою послідовність з кількох статичних кадрів, а також інформацію про те, скільки часу кожен кадр повинен бути показаний на екрані. Анімацію можна зробити циклічною, тоді слідом за останнім кадром почнеться відтворення першого кадру.Прозорість в GIF-анімації може використовуватись для того, щоб не зберігати черговий кадр повністю, а лише зміни наступного кадру відносно попереднього. Характеристики анімації:

  • Число повторів анімації - від 1 до 65535, а також нескінченне;
  • Час показу одного кадру анімації - від 1/100 секунди до 655 секунд;
  • Число кадрів анімації - необмежене.

Алгоритм стиснення

Для стискання файлів GIF використовує LZW-компресію,яка стала частиною стандарту цього формату зображень у 1987 році.Стиснення здійснюється без втрат.Алгоритм стиснення в GIF працює таким чином, що краще за все він буде оптимізувати розмір фото при вертикальній зміні кольору (градієнту). Тобто при перетворенні картинки GIF з горизонтальним або нахиленим градієнтом вихідне зображення може мати значно більший розмір.

Інше

Недокументованою, але підтримуваною можливістю анімованого GIF, є можливість використання більше ніж 256 кольорів. Це досягається завдяки тому, що кожен кадр може містити свою палітру, відмінну від палітри інших кадрів.

Формат PNG (Portable Network Graphics)

PNG (англ. portable network graphics) - растровий формат збереження графічної інформації, що використовує стиснення без втрат за алгоритмом Deflate. Поширюється у форматі .png. Формат PNG був створений як вільний формат для заміни GIF.

Існує 3 версії формату з глибиною кольору 16, 24 та 48 біт.

Переваги PNG над GIF

  • Практично необмежена кількість кольорів у зображенні;
  • Можливість черезрядкової розгортки(на відміну від GIF, одночасно і по вертикалі, і по горизонталі);
  • Можливість гамма-корекції;
  • Опціональна підтримка альфа-каналу;
  • Можливість розширення формату користувацькими блоками.

Недоліки PNG

  • Стиснення не може застосовуватися до частини рядка/стовпця. Тому велике зображення, збережене одним файлом, може займати значно більше місця, ніж це ж зображення, попередньо розбите на кілька частин і збережене в різних файлах;
  • APNG не підтримує палітри для різних кадрів, тому анімація в GIF може займати значно менше місця.

Структура файлу

PNG-файл складається з 8-байтового розпізнавального підпису, за яким слідують 3 або більше незалежних блоків даних, що відповідають певній структурі. Кожен блок має своє власне визначення внутрішнього формату. Вони читаються по черзі, від початку до кінця файлу.

Формат SVG (Scalable Vector Graphics)

SVG (англ. Scalable Vector Graphics) - специфікація мови розмітки, що базується на XML та формат файлів для двовимірної векторної графіки, як статичної, так і анімованої й інтерактивної. Файли цього формату мають розширення .svg або .svgz.

Переваги у порівнянні з растровими форматами

  • Доступне використання растрової графіки в SVG документах;
  • Текст в графіці SVG є текстом, а не зображенням
  • Підтримка анімації за допомогою мови SMIL;
  • Легка інтеграція з HTML і XHTML документами.
  • Сумісність із JavaScript та CSS;
  • Можливість збільшити будь-яку частину зображення SVG без втрати якості.

Таблиця порівняння форматів

Формат Максимальне число біт/піксель Максимальне число кольорів Максимальний розмір зображення, пікселі Алгоритм стиснення Підтримка прозорості
BMP 24 16 777 216 65 535 x 65 535 RLE Ні
JPEG 24 16 777 216 65 535 x 65 535 JPEG Ні
GIF 8 256 65 535 x 65 535 LZW Так (без альфа-каналу)
PNG 48 281 474 976 710 656 2 147 483 647 x 2 147 483 647 Deflation Так + альфа-канал

Порівняння форматів

BMP JPG GIF PNG
Приклади bmp jpg gif png
Розмір 2.63 МБ 79.3 КБ 385 КБ 711 КБ
Втрата якості відсутня достатня достатня відсутня
Використання Добре підходить для створення невеликих презентацій, курсових і дипломів. Дозволяє швидко завантажувати великі файли, але з втратою якості, і при цьому він сумісний як з PC так і з Mac. Дозволяє наповнювати сайт анімацією. Також цей формат є ідеальним для створення кліпартів і мальованої графіки. Ідеально підходить для створення невеликих файлів з відмінною якістю.