Відмінності між версіями «ЛР2 3 ОЗМ Глущенко»

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
Рядок 1: Рядок 1:
Лабораторна робота 2,3
 
 
Тема: Графічні формати
 
 
Мета: Вивчення форматів графічних файлів
 
 
Завдання:
 
*Вивчити формат bmp. Розробити коротку специфікацію формату.
 
*Вивчити формат jpg. Розробити коротку специфікацію формату.
 
*Вивчити формат gif. Розробити коротку специфікацію формату.
 
*Вивчити формат png. Розробити коротку специфікацію формату.
 
*Вивчити один векторний формат (на Ваш вибір). Розробити коротку специфікацію формату.
 
*Зберегти в розглянутих форматах, файл нестисненого фото. Зробити таблицю порівняння форматів.
 
 
 
== BMP ==
 
== BMP ==
http://kunegin.narod.ru/ref1/code/6.htm
 
 
 
Формат BMP (скорочено від BitMaP) - це "рідний" формат растрової графіки для Windows, оскільки він найближче відповідає внутрішньому формату Windows, в якому ця система зберігає свої растрові масиви. Для імені файлу, представленого в BMP-форматі, найчастіше використовується розширення BMP, хоча деякі файли мають розширення RLE, що означає run length encoding (кодування довжини серій). Розширення RLE імені файлу зазвичай вказує на те, що виконано стиснення растрової інформації файлу одним з двох способів стиснення RLE, які допустимі для файлів BMP-формату.
 
Формат BMP (скорочено від BitMaP) - це "рідний" формат растрової графіки для Windows, оскільки він найближче відповідає внутрішньому формату Windows, в якому ця система зберігає свої растрові масиви. Для імені файлу, представленого в BMP-форматі, найчастіше використовується розширення BMP, хоча деякі файли мають розширення RLE, що означає run length encoding (кодування довжини серій). Розширення RLE імені файлу зазвичай вказує на те, що виконано стиснення растрової інформації файлу одним з двох способів стиснення RLE, які допустимі для файлів BMP-формату.
  
 
У файлах BMP інформація про колір кожного пікселя кодується 1, 4, 8, 16 або 24 біт (біт/піксель). Числом біт/піксель, званим також глибиною уявлення кольору, визначається максимальне число кольорів в зображенні. Зображення при глибині 1 біт/піксель може мати всього два кольори, а при глибині 24 біт / піксель - більше 16 млн.
 
У файлах BMP інформація про колір кожного пікселя кодується 1, 4, 8, 16 або 24 біт (біт/піксель). Числом біт/піксель, званим також глибиною уявлення кольору, визначається максимальне число кольорів в зображенні. Зображення при глибині 1 біт/піксель може мати всього два кольори, а при глибині 24 біт / піксель - більше 16 млн.
  
Формат власне даних растрового масиву в файлі BMP залежить від числа біт, що використовуються для кодування даних про колір кожного пікселя. При 256-кольоровому зображенні кожен піксель в тій частині файлу, де містяться власне дані реєстрового масиву, описується одним байтом (8 біт). Цей опис пікселя не представляє значний кольорів RGB, а слугує вказівником для входу в таблицю кольорів файлу. Таким чином, якщо в якості першого значення кольору RGB в таблиці кольорів файлу BMP зберігається
+
Формат власне даних растрового масиву в файлі BMP залежить від числа біт, що використовуються для кодування даних про колір кожного пікселя. При 256-кольоровому зображенні кожен піксель в тій частині файлу, де містяться власне дані реєстрового масиву, описується одним байтом (8 біт). Цей опис пікселя не представляє значний кольорів RGB, а слугує вказівником для входу в таблицю кольорів файлу.  
R/G/B = 255/0/0, то значенням пікселя 0 в растровому масиві буде поставлений у відповідність яскраво-червоний колір. Значення пікселів зберігаються в порядку їх розташування зліва направо, починаючи (як правило) з нижнього рядка зображення. Таким чином, в 256-кольоровому BMP-файлі перший байт даних растрового масиву представляє собою індекс для кольору пікселя, що знаходиться в нижньому лівому куті зображення; другий байт представляє індекс для кольору сусіднього справа пікселя і т. д. Якщо число байт в кожному рядку непарній, то до кожного рядка додається додатковий байт, щоб вирівняти дані реєстрового масиву по 16-біт границі.
+
  
== JPG ==
+
Переваги:
 +
*Можливість вносити зміни в один піксель без зміни іншої частини зображення.
  
 +
== JPG ==
 
Формат файлу JPEG (Joint Photographic Experts Group - Об'єднана експертна група по фотографії, вимовляється "джейпег) був розроблений компанією C-Cube Microsystems як ефективний метод зберігання зображень з великою глибиною кольору, наприклад, одержуваних при скануванні фотографій з численними ледь вловимими (а іноді і невловимими) відтінками кольору. Найбільша відмінність формату JPEG від інших форматів полягає в тому, що в JPEG використовується алгоритм стиснення з втратами (а не алгоритм без втрат) інформації. Алгоритм стиснення без втрат так зберігає інформацію про зображення, що розпаковане зображення в точності відповідає оригіналу. При стисненні з втратами жертвується частина інформації про зображення, щоб досягти більшого коефіцієнта стиснення. Розпаковане зображення JPEG рідко відповідає оригіналу абсолютно точно, але дуже часто ці відмінності настільки незначні, що їх ледве можна (якщо взагалі можна) виявити.
 
Формат файлу JPEG (Joint Photographic Experts Group - Об'єднана експертна група по фотографії, вимовляється "джейпег) був розроблений компанією C-Cube Microsystems як ефективний метод зберігання зображень з великою глибиною кольору, наприклад, одержуваних при скануванні фотографій з численними ледь вловимими (а іноді і невловимими) відтінками кольору. Найбільша відмінність формату JPEG від інших форматів полягає в тому, що в JPEG використовується алгоритм стиснення з втратами (а не алгоритм без втрат) інформації. Алгоритм стиснення без втрат так зберігає інформацію про зображення, що розпаковане зображення в точності відповідає оригіналу. При стисненні з втратами жертвується частина інформації про зображення, щоб досягти більшого коефіцієнта стиснення. Розпаковане зображення JPEG рідко відповідає оригіналу абсолютно точно, але дуже часто ці відмінності настільки незначні, що їх ледве можна (якщо взагалі можна) виявити.
  
 
Процес стиснення зображення JPEG досить складний і часто для досягнення прийнятної продуктивності вимагає спеціальної апаратури. Спочатку зображення розбивається на квадратні блоки із стороною розміром 8 пікселів. Потім проводиться стиснення кожного блоку окремо за три кроки. На першому кроці за допомогою формули дискретного косинусоїдального перетворення фури (DCT) проводиться перетворення блоку 8х8 з інформацією про пікселі в матрицю 8x8 амплітудних значень, що відображають різні частоти (швидкості зміни кольору) в зображенні. На другому кроці значення матриці амплітуд діляться на значення матриці квантування, яка зміщена так, щоб відфільтрувати амплітуди, незначно впливають на загальний вигляд зображення. На третьому і останньому кроці квантованими матриця амплітуд стискається з використанням алгоритму стиснення без втрат.
 
Процес стиснення зображення JPEG досить складний і часто для досягнення прийнятної продуктивності вимагає спеціальної апаратури. Спочатку зображення розбивається на квадратні блоки із стороною розміром 8 пікселів. Потім проводиться стиснення кожного блоку окремо за три кроки. На першому кроці за допомогою формули дискретного косинусоїдального перетворення фури (DCT) проводиться перетворення блоку 8х8 з інформацією про пікселі в матрицю 8x8 амплітудних значень, що відображають різні частоти (швидкості зміни кольору) в зображенні. На другому кроці значення матриці амплітуд діляться на значення матриці квантування, яка зміщена так, щоб відфільтрувати амплітуди, незначно впливають на загальний вигляд зображення. На третьому і останньому кроці квантованими матриця амплітуд стискається з використанням алгоритму стиснення без втрат.
 +
 +
Переваги:
 +
*Висока і керована ступінь стиснення. Користувач сам вибирає співвідношення якість/розмір файлу
 +
*Невеликий розмір файлу
 +
*Розпізнається усіма браузерами, графічними і текстовими редакторами, сумісний і правильно відображається на всіх комп'ютерах, планшетах і мобільних пристроях
 +
*Правильна робота з кольоровими реалістичними зображеннями, де багато колірних і контрастних переходів
 +
*При невеликому ступені стиснення якість зображення залишається досить високою
 +
 +
== GIF ==
 +
 +
GIF (Graphics Interchange Format - формат обміну графічними даними), розробленого компанією CompuServe.
 +
Файл GIF починається з 13-байт заголовка, що містить сигнатуру, яка ідентифікує цей файл в якості GIF-файлу, номер версії GIF і іншу інформацію. Якщо файл зберігає лише одне зображення, слідом за заголовком зазвичай розташовується загальна таблиця кольорів, що визначає кольори зображення. Якщо у файлі зберігається декілька зображень, то замість загальної таблиці кольорів кожне зображення супроводжується локальної таблицею кольорів.
 +
Переваги:
 +
*Збереження за допомогою палітри кольорів може бути дуже вигідно - особливо для графіки, логотипу, іконки і т.п. і часто призводить до значно кращого результату при меншому розмірі файлу.
 +
*Підтримує стиснення без втрат.
 +
*Дозволяє зберігати прозорість.
 +
*Підтримує анімацію.
 +
 +
== PNG ==
 +
Формат PNG (Portable Network Graphic - портативний мережевий формат) був розроблений для заміни GIF, щоб обійти юридичні перешкоди, що стоять на шляху використання GIF-файлів. PNG успадкував багато можливостей GIF і, крім того, він дозволяє зберігати зображення з істинними квітами. Ще більш важливо, що він стискає інформацію реєстрового масиву відповідно до варіанта користується високою репутацією алгоритму стиснення LZ77 (попередника LZW), яким будь-хто може користуватися безкоштовно. Існують 2 версії формату: PNG-8 (схожий на GIF - використовує індексні кольору) і PNG-24 (ближче до JPEG - повнокольоровий палітра).
 +
 +
Переваги:
 +
*Повноцінна підтримка alpha-transparency - прозорості. Дозволяє зробити ділянки зображення прозорими і напівпрозорими.
 +
*Якісний алгоритм стиснення без втрати якості. Схожий на LZW, але трохи ефективніше.
 +
*Можливість черезрядкової розгортки, причому (на відміну від GIF) як по вертикалі, так і по горизонталі одночасно.
 +
*Вбудована гамма-корекція. Дозволяє прикріпити до зображення налаштування його відображення, для того щоб на різних моніторах зображення відображалося точно так, як і у автора.
 +
 +
== SVG ==
 +
Scalable Vector Graphics (скорочено SVG)  — специфікація мови розмітки, що базується на XML та формат файлів для двовимірної векторної графіки, як статичної, так і анімованої та інтерактивної. SVG може бути виключно декларативним, або містити описи сценаріїв. Зображення можуть містити зовнішні посилання шляхом застосування простих XLink-ів. Ця специфікація є відкритим стандартом, розробленим робочою групою SVG Working Group організації World Wide Web Consortium.
 +
 +
Переваги:
 +
*Масштабування: на відміну від растрової графіки, SVG не втрачає в якості при масштабуванні.
 +
*Зменшення HTTP-запитів: при використанні SVG скорочується кількість звернень до сервера, відповідно збільшується швидкість завантаження сайту.
 +
*Малий розмір: об'єкти SVG важать набагато менше растрових зображень.
 +
 +
== Порівняння форматів ==
 +
<div style=" style="margin: auto; text-align: center;">
 +
{| class="wikitable" border="1" width="75%"
 +
| Формат
 +
| Макс. число біт / піксель
 +
| Макс. число кольорів
 +
| Макс. розмір зображення, пікселі
 +
| Методи стиснення
 +
| Кодування декількох зображень
 +
|-
 +
| BMP
 +
| 24
 +
| 16'777'216
 +
| 65535 x 65535
 +
| RLE
 +
| Ні
 +
|-
 +
| GIF
 +
| 8
 +
| 256
 +
| 65535 x 65535
 +
| LZW
 +
| Так
 +
|-
 +
| JPG
 +
| 24
 +
| 16'777'216
 +
| 65535 x 65535
 +
| JPEG
 +
| Ні
 +
|-
 +
| PNG
 +
| 48
 +
| 281'474'976'710'656
 +
| 65535 x 65535
 +
| Deflation
 +
| Ні
 +
|}
 +
</div>

Версія за 20:55, 24 лютого 2016

BMP

Формат BMP (скорочено від BitMaP) - це "рідний" формат растрової графіки для Windows, оскільки він найближче відповідає внутрішньому формату Windows, в якому ця система зберігає свої растрові масиви. Для імені файлу, представленого в BMP-форматі, найчастіше використовується розширення BMP, хоча деякі файли мають розширення RLE, що означає run length encoding (кодування довжини серій). Розширення RLE імені файлу зазвичай вказує на те, що виконано стиснення растрової інформації файлу одним з двох способів стиснення RLE, які допустимі для файлів BMP-формату.

У файлах BMP інформація про колір кожного пікселя кодується 1, 4, 8, 16 або 24 біт (біт/піксель). Числом біт/піксель, званим також глибиною уявлення кольору, визначається максимальне число кольорів в зображенні. Зображення при глибині 1 біт/піксель може мати всього два кольори, а при глибині 24 біт / піксель - більше 16 млн.

Формат власне даних растрового масиву в файлі BMP залежить від числа біт, що використовуються для кодування даних про колір кожного пікселя. При 256-кольоровому зображенні кожен піксель в тій частині файлу, де містяться власне дані реєстрового масиву, описується одним байтом (8 біт). Цей опис пікселя не представляє значний кольорів RGB, а слугує вказівником для входу в таблицю кольорів файлу.

Переваги:

  • Можливість вносити зміни в один піксель без зміни іншої частини зображення.

JPG

Формат файлу JPEG (Joint Photographic Experts Group - Об'єднана експертна група по фотографії, вимовляється "джейпег) був розроблений компанією C-Cube Microsystems як ефективний метод зберігання зображень з великою глибиною кольору, наприклад, одержуваних при скануванні фотографій з численними ледь вловимими (а іноді і невловимими) відтінками кольору. Найбільша відмінність формату JPEG від інших форматів полягає в тому, що в JPEG використовується алгоритм стиснення з втратами (а не алгоритм без втрат) інформації. Алгоритм стиснення без втрат так зберігає інформацію про зображення, що розпаковане зображення в точності відповідає оригіналу. При стисненні з втратами жертвується частина інформації про зображення, щоб досягти більшого коефіцієнта стиснення. Розпаковане зображення JPEG рідко відповідає оригіналу абсолютно точно, але дуже часто ці відмінності настільки незначні, що їх ледве можна (якщо взагалі можна) виявити.

Процес стиснення зображення JPEG досить складний і часто для досягнення прийнятної продуктивності вимагає спеціальної апаратури. Спочатку зображення розбивається на квадратні блоки із стороною розміром 8 пікселів. Потім проводиться стиснення кожного блоку окремо за три кроки. На першому кроці за допомогою формули дискретного косинусоїдального перетворення фури (DCT) проводиться перетворення блоку 8х8 з інформацією про пікселі в матрицю 8x8 амплітудних значень, що відображають різні частоти (швидкості зміни кольору) в зображенні. На другому кроці значення матриці амплітуд діляться на значення матриці квантування, яка зміщена так, щоб відфільтрувати амплітуди, незначно впливають на загальний вигляд зображення. На третьому і останньому кроці квантованими матриця амплітуд стискається з використанням алгоритму стиснення без втрат.

Переваги:

  • Висока і керована ступінь стиснення. Користувач сам вибирає співвідношення якість/розмір файлу
  • Невеликий розмір файлу
  • Розпізнається усіма браузерами, графічними і текстовими редакторами, сумісний і правильно відображається на всіх комп'ютерах, планшетах і мобільних пристроях
  • Правильна робота з кольоровими реалістичними зображеннями, де багато колірних і контрастних переходів
  • При невеликому ступені стиснення якість зображення залишається досить високою

GIF

GIF (Graphics Interchange Format - формат обміну графічними даними), розробленого компанією CompuServe. Файл GIF починається з 13-байт заголовка, що містить сигнатуру, яка ідентифікує цей файл в якості GIF-файлу, номер версії GIF і іншу інформацію. Якщо файл зберігає лише одне зображення, слідом за заголовком зазвичай розташовується загальна таблиця кольорів, що визначає кольори зображення. Якщо у файлі зберігається декілька зображень, то замість загальної таблиці кольорів кожне зображення супроводжується локальної таблицею кольорів. Переваги:

  • Збереження за допомогою палітри кольорів може бути дуже вигідно - особливо для графіки, логотипу, іконки і т.п. і часто призводить до значно кращого результату при меншому розмірі файлу.
  • Підтримує стиснення без втрат.
  • Дозволяє зберігати прозорість.
  • Підтримує анімацію.

PNG

Формат PNG (Portable Network Graphic - портативний мережевий формат) був розроблений для заміни GIF, щоб обійти юридичні перешкоди, що стоять на шляху використання GIF-файлів. PNG успадкував багато можливостей GIF і, крім того, він дозволяє зберігати зображення з істинними квітами. Ще більш важливо, що він стискає інформацію реєстрового масиву відповідно до варіанта користується високою репутацією алгоритму стиснення LZ77 (попередника LZW), яким будь-хто може користуватися безкоштовно. Існують 2 версії формату: PNG-8 (схожий на GIF - використовує індексні кольору) і PNG-24 (ближче до JPEG - повнокольоровий палітра).

Переваги:

  • Повноцінна підтримка alpha-transparency - прозорості. Дозволяє зробити ділянки зображення прозорими і напівпрозорими.
  • Якісний алгоритм стиснення без втрати якості. Схожий на LZW, але трохи ефективніше.
  • Можливість черезрядкової розгортки, причому (на відміну від GIF) як по вертикалі, так і по горизонталі одночасно.
  • Вбудована гамма-корекція. Дозволяє прикріпити до зображення налаштування його відображення, для того щоб на різних моніторах зображення відображалося точно так, як і у автора.

SVG

Scalable Vector Graphics (скорочено SVG) — специфікація мови розмітки, що базується на XML та формат файлів для двовимірної векторної графіки, як статичної, так і анімованої та інтерактивної. SVG може бути виключно декларативним, або містити описи сценаріїв. Зображення можуть містити зовнішні посилання шляхом застосування простих XLink-ів. Ця специфікація є відкритим стандартом, розробленим робочою групою SVG Working Group організації World Wide Web Consortium.

Переваги:

  • Масштабування: на відміну від растрової графіки, SVG не втрачає в якості при масштабуванні.
  • Зменшення HTTP-запитів: при використанні SVG скорочується кількість звернень до сервера, відповідно збільшується швидкість завантаження сайту.
  • Малий розмір: об'єкти SVG важать набагато менше растрових зображень.

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

Формат Макс. число біт / піксель Макс. число кольорів Макс. розмір зображення, пікселі Методи стиснення Кодування декількох зображень
BMP 24 16'777'216 65535 x 65535 RLE Ні
GIF 8 256 65535 x 65535 LZW Так
JPG 24 16'777'216 65535 x 65535 JPEG Ні
PNG 48 281'474'976'710'656 65535 x 65535 Deflation Ні