Лаб №2
Тема: Графічні формати
Мета: Вивчення форматів графічних файлів
Завдання:
- Вивчити формат bmp. Розробити коротку специфікацію формату.
- Вивчити формат jpg. Розробити коротку специфікацію формату.
- Вивчити формат gif. Розробити коротку специфікацію формату.
- Вивчити формат png. Розробити коротку специфікацію формату.
- Вивчити один векторний формат (на Ваш вибір). Розробити коротку специфікацію формату.
- Зберегти в розглянутих форматах, файл нестисненого фото. Зробити таблицю порівняння форматів.
bmp. формат
BMP (Bitmap) — bitmap-формат або DIB -формат файлу зображень растрової графіки, в якому зображення зберігається у вигляді двовимірного масиву пікселів. Запам'ятовує одно і багатокольорові (RGB) ілюстрації у формі Pixel. BMP-формат використовується в операційній системи Windows та OS/2. Формат файлу BMP здатний зберігати 2D цифрові зображення довільної ширини, висоти та роздільної здатності, як монохромні так і кольорові, різної глибини кольору, і, необов'язково, зі стисненням данних, альфа-каналом та керуванням кольору. В даному форматі можна зберігати лише одношарові растри. На кожен піксель в різних файлах може припадати різну кількість біт (глибина кольору). Microsoft пропонує бітності 1, 2, 4, 8, 16, 24, 32, 48 і 64. У Бітність 8 і нижче, колір вказується індексом з таблиці кольорів (палітри), а при великих безпосереднім значенням. Колір же в будь-якому випадку можна задати тільки в колірній моделі RGB (як при безпосередньому вказівці в пікселі, так і в таблиці кольорів), але в Бітність 16 і 32 можна отримати Grayscale з глибиною до 16 і 32 біт відповідно. Часткова прозорість реалізована альфа-каналом різних бітностей, але при цьому прозорість без градацій можна побічно отримати RLE-кодуванням.
У більшості випадків пікселі зберігаються у вигляді відносно простого двовимірного масиву. Для бітності 4 і 8 є RLE-кодування, яке може зменшити їх розмір. Формат BMP також підтримує вбудовування даних в форматах JPEG і PNG. Але останній скоріше більше призначене не для компактного зберігання, а для обходу обмежень архітектури GDI, яка не передбачає пряму роботу із зображеннями відмінних від BMP форматів.
В останніх версіях формату BMP також з'явилися можливості по управлінню кольором. Зокрема, можна вказувати кінцеві точки, виробляти гамма-корекцію і вбудовувати колірні профілі ICC.
jpg. формат
Формат файлу JPEG (Joint Photographic Experts Group - Об'єднана експертна група по фотографії) був розроблений компанією C-Cube Microsystems як ефективний метод зберігання зображень з великою глибиною кольору, наприклад, одержуваних при скануванні фотографій з численними відтінками кольору. Найбільша відмінність формату JPEG від інших форматів полягає в тому, що в JPEG використовується алгоритм стиснення з втратами (а не алгоритм без втрат) інформації. Алгоритм стиснення без втрат так зберігає інформацію про зображення, що розпаковане зображення в точності відповідає оригіналу. При стисненні з втратами приноситься в жертву частина інформації про зображення, щоб досягти більшого коефіцієнта стиснення. Розпаковане зображення JPEG рідко відповідає оригіналу абсолютно точно, але дуже часто ці відмінності настільки незначні, що їх ледве можна виявити.
Процес стиснення зображення JPEG досить складний і часто для досягнення прийнятної продуктивності вимагає спеціальної апаратури. Спочатку зображення розбивається на квадратні блоки із стороною розміром 8 пікселів. Потім проводиться стиснення кожного блоку окремо за три кроки. На першому кроці за допомогою формули дискретного косинусоїдального перетворення фури (DCT) проводиться перетворення блоку 8х8 з інформацією про пікселі в матрицю 8x8 амплітудних значень, що відображають різні частоти (швидкості зміни кольору) в зображенні. На другому кроці значення матриці амплітуд діляться на значення матриці квантування, яка зміщена так, щоб відфільтрувати амплітуди, незначно впливають на загальний вигляд зображення. На третьому і останньому кроці квантованими матриця амплітуд стискається з використанням алгоритму стиснення без втрат.
Оскільки в квантованной матриці відсутня значна частка високочастотної інформації, наявної у вихідній матриці, перша часто стискується до половини свого початкового розміру або навіть ще більше. Реальні фотографічні зображення часто зовсім неможливо стиснути за допомогою методів стиснення без втрат, тому 50% -ве стиснення слід визнати досить хорошим. З іншого боку, застосовуючи методи стиснення без втрат, можна стискати деякі зображення на 90%. Такі зображення погано підходять для стискування методом JPEG.
При стисненні методом JPEG втрати інформації відбуваються на другому кроці процесу. Чим більше значення в матриці квантування, тим більше відкидається інформації з зображення і тим більш щільно стискається зображення. Компроміс полягає в тому, що більш високі значення квантування призводять до гіршого якістю зображення. При формуванні зображення JPEG користувач встановлює показник якості.