Відмінності між версіями «Рябовол 36 Лабораторна робота №1»
(не показано 8 проміжних версій цього учасника) | |||
Рядок 1: | Рядок 1: | ||
'''Теоретичні відомості про формати.'''<br> | '''Теоретичні відомості про формати.'''<br> | ||
− | Формат .bmp (Bitmap-бітова карта)- це формат для зберігання растрових картинок. | + | '''Формат .bmp''' (Bitmap-бітова карта)- це формат для зберігання растрових картинок. |
− | Глибина кольору даного формата складає від 1 до 48 біт на піксель. Формат BMP може робити стиснення по алгоритму RLE, але його так і не використовують в інтернеті із зі великого розміру файла. В загальному випадку пікселі зберігаються у вигляді простого двійкового масива. Прозорість реалізована альфа-каналом різних бітностей, але при цьому прозорість без градації можна отримати RLE-кодуваннямю Дані формата bmp Максимальні габарити зображення складає 65535×65535 пікселів. | + | Глибина кольору даного формата складає від 1 до 48 біт на піксель. Формат BMP може робити стиснення по алгоритму RLE, але його так і не використовують в інтернеті із зі великого розміру файла. В загальному випадку пікселі зберігаються у вигляді простого двійкового масива. Прозорість реалізована альфа-каналом різних бітностей, але при цьому прозорість без градації можна отримати RLE-кодуваннямю Дані формата bmp Максимальні габарити зображення складає 65535×65535 пікселів.<br>Вказівка кольору і значення альфа-каналу. Для вказівки кольору при зберіганні у форматі BMP не залежно від способу завдання використовуються тільки беззнакові цілі числа. |
+ | ''Сам же колір пікселя може здаватися двома способами:'' | ||
+ | <br>1)Індексом у таблиці кольорів ( при битности 8 і нижче);<br>2)Безпосереднім значенням в колірній моделі RGB ( при битности вище 8 ).<br>При безпосередньому задання кольору пікселя крім значень RGB формат Windows Bitmap опціонально дозволяє ще задати значення альфа- каналу. У плані бітності і кодуванні значень він ідентичний до кольорових каналів : у нього довільна бітність і використовуються беззнакові цілі числа . Що ж до зіставлення значень , то нуль відповідає повній прозорості , а максимальне доступне число - повного заповнювання. | ||
+ | |||
---- | ---- | ||
− | Формат .jpg (Joint Photographic Experts Group)-формат був названий на честь корпорації розробників | + | '''Формат .jpg''' (Joint Photographic Experts Group)-формат був названий на честь корпорації розробників.<br> Алгоритм JPEG дозволяє стискати зображення як з втратами, так і без втрат. Підтримуються зображення з лінійним розміром не більше 65 535 × 65 535 пікселів.<br> Файл JPEG містить послідовність маркерів кожен із яких починається з байта 0xFF, що свідчить про початок маркера, і байта-ідентифікатора. |
− | Даний формат є самим найпоширенішим, його використовують у більшості фотокамер. Для швидкості, зручності і універсальності використовують JPG. | + | Даний формат є самим найпоширенішим, його використовують у більшості фотокамер. Для швидкості, зручності і універсальності використовують JPG.<br>'''Різновиди схем стиснення JPEG.'''<br> Стандарт JPEG передбачає два основних способи представлення кодованих даних. |
+ | Найбільш поширеним і підтримуваним більшістю доступних кодеків, є послідовне (sequential JPEG) подання даних, що припускає послідовний обхід кодованого зображення поблочно зліва направо, зверху вниз. Врезультаті кодування поміщаються у вихідний потік у вигляді єдиного «скана», тобто масиву кодованих даних, відповідного послідовно пройденого ("просканованого") зображення. Основний або «базовий» (baseline) режим кодування допускає тільки таке подання. Розширений (extended) режим поряд з послідовним допускає також прогресивне (progressive JPEG) подання даних.<br> | ||
+ | У разі progressive JPEG стислі дані записуються в вихідний потік у вигляді набору сканування, кожен з яких описує зображення повністю із все більшим ступенем деталізації. Це досягається або шляхом запису в кожен скан, ще не повного набору коефіцієнтів ДКП, а лише якоїсь їхньої частини: спочатку - низькочастотних, в наступних сканах - високочастотних (метод «спектральної селекції» тобто спектральних вибірок), або шляхом послідовного, від скана до скана, уточнення коефіцієнтів ДКП (метод «послідовного наближення», тобто послідовних наближень). Таке прогресивне подання даних виявляється особливо корисним при передачі стислих зображень з використанням низькошвидкісних каналів зв'язку, оскільки дозволяє отримати уявлення про всі зображенні вже після передачі незначної частини JPEG -файла. | ||
+ | Обидві описані схеми (і sequential, і progressive JPEG) базуються на ДКП і принципово не дозволяють отримати відновлене зображення абсолютно ідентичним вихідному. Однак стандарт допускає також стиснення, що не використовує ДКП, а побудоване на основі лінійного провісника (lossless, тобто «без втрат », JPEG), що гарантує повне, біт- в- біт, збіг вихідного і відновленого зображень. При цьому коефіцієнт стиснення для фотографічних зображень рідко досягає 2, але гарантоване відсутність спотворень в деяких випадках виявляється затребуваним. Помітно великі ступеня стиснення можуть бути отримані при використанні не має , незважаючи на схожість у назвах , безпосереднього відношення до стандарту JPEG ISO / IEC 10918-1 (ITU T.81 Recommendation) методу стиснення JPEG -LS, описуваного стандартом ISO / IEC 14495-1 (ITU T.81 Recommendation). | ||
---- | ---- | ||
− | Формат .gif (Graphics Interchange Format)Даний формат здатний зберігати дані без втрат якостей зображення. фомат був розроблений в 1987 році для передачі растрових форматів по мережі. | + | '''Формат .gif''' (Graphics Interchange Format) Даний формат здатний зберігати дані без втрат якостей зображення. фомат був розроблений в 1987 році для передачі растрових форматів по мережі. У 1989 році CompuServe випустила розширену версію формату - GIF89a. У неї було додано прозорість і анімацію. У 1995 році фірма Unisуs, що володіє патентом на метод LZW, несподівано вирішила, що на ньому можна заробити, і заборонила розповсюдження програм, що використовують стиснення LZW, без ліцензії. Тепер, щоб продавати або навіть безкоштовно поширювати програми, що створюють або показують зображення GIF, потрібно було платити за ліцензію щонайменше 5000 доларів. На щастя, 20 червня 2003 термін дії основного патенту Unisуs на метод LZW в США закінчився, а патенти в Європі та Канаді були дійсні лише до 7 липня 2004.<br>'''Загальні дані'''<br> |
+ | |||
+ | Розмір картинки - від 1х1 до 65535х65535 пікселів. <br> | ||
+ | Число кольорів палітри - від 2 до 256.<br> | ||
+ | Кожен колір палітри має глибину 24 біта / піксель (вибір з 16 мільйонів кольорів).<br> | ||
+ | Карта прозорості - 1-бітна (напівпрозорих кольорів немає).<br> | ||
+ | Число повторів анімації - від 1 до 65535, а також нескінченне. <br> | ||
+ | Час показу одного кадру анімації - від 1/100 секунди до 655 секунд.<br> | ||
+ | Число кадрів анімації - необмежена. <br> | ||
+ | Число невидимих текстових коментарів і розмір кожного коментаря - необмежені.<br> | ||
+ | '''Структура'''<br> | ||
+ | |||
+ | Файли формату GIF мають блокову структуру. Це означає , що вони складаються з окремих блоків , які в більшості випадків ніяк не пов'язані один з одним. Програми, що не розпізнають деякі типи блоків , можуть просто пропускати їх - для цього у кожного нестандартного блоку в заголовку вказано його розмір. Ті, що йдуть один за одним блоки графіки (картинки) складають анімацію. Вони змінюються на екрані і створюють ілюзію руху. До або після них (або навіть між ними) у файлі можуть перебувати інші блоки: | ||
+ | |||
+ | 1. Коментарі. Прихований текст, його можна побачити лише за допомогою спеціальних програм - наприклад, GIF - аніматорів, таких, як Ulead GIF Animator.<br> | ||
+ | 2. Простий текст. Рядки символів з обмеженими можливостями форматування. В даний час не використовується.<br> | ||
+ | 3. Блоки управління графікою, що задають параметри виводу окремих картинок.<br> | ||
+ | 4. Глобальні та локальні колірові палітри, що визначають, які саме кольори будуть у картинок.<br> | ||
+ | 5. Особливі блоки, які можуть використовуватися лише тими програмами, які знають про їх існування і призначення - наприклад, блок Netscape, що задає число циклів анімації. Без нього анімація після завантаження сторінки спрацьовує всього один раз. А в блоці Pianygif зберігаються назви окремих картинок для полегшення їх редагування. | ||
+ | ---- | ||
+ | '''Формат .png''' (Portable Network Graphics)cтворений для заміни застарілого і більш простого формату GIF, а також в деякій мірі для заміни значно більш комплексного формату TIFF. 4 січня 1995, Т. Боутелл запропонував у низці конференцій Usenet створити вільний формат, який був би не гірше GIF. Через три тижні після публікації ідеї були розроблені чотири версії нового формату. Спочатку він мав назву PBF (Portable Bitmap Format), а нинішнє ім'я отримав 23 січня 1995 року. Уже в грудні того ж року специфікація PNG версії 0.92 була розглянута консорціумом W3C, а з виходом 1 жовтня 1996 версії 1.0 PNG був рекомендований як повноправного мережевого формату. | ||
+ | '''Стиснення''' | ||
+ | PNG володіє кращим рівнем стиснення без втрат інформації і без патентних відрахувань, але на жаль далеко не всі реалізації повністю використовують доступні можливості і навіть ті які такі можливості використовують, можуть бути неправильно застосовані. | ||
+ | PNG підтримує три основних типи зображення це: "повноколірний", "відтінки сірого" та індексовані на основі палітри (8-бітний). JPEG підтримує тільки два перших, а GIF лише третій (хоча при використанні сірої палітри може фальсифікувати на "відтінки сірого"). Щільність стиснення відбувається із здатності змішувати різні типи зображення в одному PNG файлі. Змушуючи додаток зберегти 8-бітове зображення як 24-бітний "повноколірний" (або RGB), в результаті ми не отримаємо маленького файлу. Це може бути неминуче у випадку коли оригінал був змінений з додаванням більше 256 кольорів (наприклад якщо в якості фону був доданий суцільний градієнт), але багато зображення призначених для мережі, складаються з 256 кольорів, а іноді і всього з декількох (наприклад з десяти).<br> | ||
+ | Основна помилка, це включення занадто великої кількості даних палітри в PNG зображення. Ця помилка найбільш помітна при конвертації невеликих GIF зображень (маркерів, кнопок та ін) у формат PNG. Ці зображення займають в середньому 1000 байт і містять 256 вхідних в палітру даних з яких необхідні лише 50, що призводить до більш ніж 600 байтам витраченого марно простору стиснення.<br> |
Поточна версія на 13:28, 13 березня 2014
Теоретичні відомості про формати.
Формат .bmp (Bitmap-бітова карта)- це формат для зберігання растрових картинок.
Глибина кольору даного формата складає від 1 до 48 біт на піксель. Формат BMP може робити стиснення по алгоритму RLE, але його так і не використовують в інтернеті із зі великого розміру файла. В загальному випадку пікселі зберігаються у вигляді простого двійкового масива. Прозорість реалізована альфа-каналом різних бітностей, але при цьому прозорість без градації можна отримати RLE-кодуваннямю Дані формата bmp Максимальні габарити зображення складає 65535×65535 пікселів.
Вказівка кольору і значення альфа-каналу. Для вказівки кольору при зберіганні у форматі BMP не залежно від способу завдання використовуються тільки беззнакові цілі числа.
Сам же колір пікселя може здаватися двома способами:
1)Індексом у таблиці кольорів ( при битности 8 і нижче);
2)Безпосереднім значенням в колірній моделі RGB ( при битности вище 8 ).
При безпосередньому задання кольору пікселя крім значень RGB формат Windows Bitmap опціонально дозволяє ще задати значення альфа- каналу. У плані бітності і кодуванні значень він ідентичний до кольорових каналів : у нього довільна бітність і використовуються беззнакові цілі числа . Що ж до зіставлення значень , то нуль відповідає повній прозорості , а максимальне доступне число - повного заповнювання.
Формат .jpg (Joint Photographic Experts Group)-формат був названий на честь корпорації розробників.
Алгоритм JPEG дозволяє стискати зображення як з втратами, так і без втрат. Підтримуються зображення з лінійним розміром не більше 65 535 × 65 535 пікселів.
Файл JPEG містить послідовність маркерів кожен із яких починається з байта 0xFF, що свідчить про початок маркера, і байта-ідентифікатора.
Даний формат є самим найпоширенішим, його використовують у більшості фотокамер. Для швидкості, зручності і універсальності використовують JPG.
Різновиди схем стиснення JPEG.
Стандарт JPEG передбачає два основних способи представлення кодованих даних.
Найбільш поширеним і підтримуваним більшістю доступних кодеків, є послідовне (sequential JPEG) подання даних, що припускає послідовний обхід кодованого зображення поблочно зліва направо, зверху вниз. Врезультаті кодування поміщаються у вихідний потік у вигляді єдиного «скана», тобто масиву кодованих даних, відповідного послідовно пройденого ("просканованого") зображення. Основний або «базовий» (baseline) режим кодування допускає тільки таке подання. Розширений (extended) режим поряд з послідовним допускає також прогресивне (progressive JPEG) подання даних.
У разі progressive JPEG стислі дані записуються в вихідний потік у вигляді набору сканування, кожен з яких описує зображення повністю із все більшим ступенем деталізації. Це досягається або шляхом запису в кожен скан, ще не повного набору коефіцієнтів ДКП, а лише якоїсь їхньої частини: спочатку - низькочастотних, в наступних сканах - високочастотних (метод «спектральної селекції» тобто спектральних вибірок), або шляхом послідовного, від скана до скана, уточнення коефіцієнтів ДКП (метод «послідовного наближення», тобто послідовних наближень). Таке прогресивне подання даних виявляється особливо корисним при передачі стислих зображень з використанням низькошвидкісних каналів зв'язку, оскільки дозволяє отримати уявлення про всі зображенні вже після передачі незначної частини JPEG -файла.
Обидві описані схеми (і sequential, і progressive JPEG) базуються на ДКП і принципово не дозволяють отримати відновлене зображення абсолютно ідентичним вихідному. Однак стандарт допускає також стиснення, що не використовує ДКП, а побудоване на основі лінійного провісника (lossless, тобто «без втрат », JPEG), що гарантує повне, біт- в- біт, збіг вихідного і відновленого зображень. При цьому коефіцієнт стиснення для фотографічних зображень рідко досягає 2, але гарантоване відсутність спотворень в деяких випадках виявляється затребуваним. Помітно великі ступеня стиснення можуть бути отримані при використанні не має , незважаючи на схожість у назвах , безпосереднього відношення до стандарту JPEG ISO / IEC 10918-1 (ITU T.81 Recommendation) методу стиснення JPEG -LS, описуваного стандартом ISO / IEC 14495-1 (ITU T.81 Recommendation).
Формат .gif (Graphics Interchange Format) Даний формат здатний зберігати дані без втрат якостей зображення. фомат був розроблений в 1987 році для передачі растрових форматів по мережі. У 1989 році CompuServe випустила розширену версію формату - GIF89a. У неї було додано прозорість і анімацію. У 1995 році фірма Unisуs, що володіє патентом на метод LZW, несподівано вирішила, що на ньому можна заробити, і заборонила розповсюдження програм, що використовують стиснення LZW, без ліцензії. Тепер, щоб продавати або навіть безкоштовно поширювати програми, що створюють або показують зображення GIF, потрібно було платити за ліцензію щонайменше 5000 доларів. На щастя, 20 червня 2003 термін дії основного патенту Unisуs на метод LZW в США закінчився, а патенти в Європі та Канаді були дійсні лише до 7 липня 2004.
Загальні дані
Розмір картинки - від 1х1 до 65535х65535 пікселів.
Число кольорів палітри - від 2 до 256.
Кожен колір палітри має глибину 24 біта / піксель (вибір з 16 мільйонів кольорів).
Карта прозорості - 1-бітна (напівпрозорих кольорів немає).
Число повторів анімації - від 1 до 65535, а також нескінченне.
Час показу одного кадру анімації - від 1/100 секунди до 655 секунд.
Число кадрів анімації - необмежена.
Число невидимих текстових коментарів і розмір кожного коментаря - необмежені.
Структура
Файли формату GIF мають блокову структуру. Це означає , що вони складаються з окремих блоків , які в більшості випадків ніяк не пов'язані один з одним. Програми, що не розпізнають деякі типи блоків , можуть просто пропускати їх - для цього у кожного нестандартного блоку в заголовку вказано його розмір. Ті, що йдуть один за одним блоки графіки (картинки) складають анімацію. Вони змінюються на екрані і створюють ілюзію руху. До або після них (або навіть між ними) у файлі можуть перебувати інші блоки:
1. Коментарі. Прихований текст, його можна побачити лише за допомогою спеціальних програм - наприклад, GIF - аніматорів, таких, як Ulead GIF Animator.
2. Простий текст. Рядки символів з обмеженими можливостями форматування. В даний час не використовується.
3. Блоки управління графікою, що задають параметри виводу окремих картинок.
4. Глобальні та локальні колірові палітри, що визначають, які саме кольори будуть у картинок.
5. Особливі блоки, які можуть використовуватися лише тими програмами, які знають про їх існування і призначення - наприклад, блок Netscape, що задає число циклів анімації. Без нього анімація після завантаження сторінки спрацьовує всього один раз. А в блоці Pianygif зберігаються назви окремих картинок для полегшення їх редагування.
Формат .png (Portable Network Graphics)cтворений для заміни застарілого і більш простого формату GIF, а також в деякій мірі для заміни значно більш комплексного формату TIFF. 4 січня 1995, Т. Боутелл запропонував у низці конференцій Usenet створити вільний формат, який був би не гірше GIF. Через три тижні після публікації ідеї були розроблені чотири версії нового формату. Спочатку він мав назву PBF (Portable Bitmap Format), а нинішнє ім'я отримав 23 січня 1995 року. Уже в грудні того ж року специфікація PNG версії 0.92 була розглянута консорціумом W3C, а з виходом 1 жовтня 1996 версії 1.0 PNG був рекомендований як повноправного мережевого формату.
Стиснення
PNG володіє кращим рівнем стиснення без втрат інформації і без патентних відрахувань, але на жаль далеко не всі реалізації повністю використовують доступні можливості і навіть ті які такі можливості використовують, можуть бути неправильно застосовані.
PNG підтримує три основних типи зображення це: "повноколірний", "відтінки сірого" та індексовані на основі палітри (8-бітний). JPEG підтримує тільки два перших, а GIF лише третій (хоча при використанні сірої палітри може фальсифікувати на "відтінки сірого"). Щільність стиснення відбувається із здатності змішувати різні типи зображення в одному PNG файлі. Змушуючи додаток зберегти 8-бітове зображення як 24-бітний "повноколірний" (або RGB), в результаті ми не отримаємо маленького файлу. Це може бути неминуче у випадку коли оригінал був змінений з додаванням більше 256 кольорів (наприклад якщо в якості фону був доданий суцільний градієнт), але багато зображення призначених для мережі, складаються з 256 кольорів, а іноді і всього з декількох (наприклад з десяти).
Основна помилка, це включення занадто великої кількості даних палітри в PNG зображення. Ця помилка найбільш помітна при конвертації невеликих GIF зображень (маркерів, кнопок та ін) у формат PNG. Ці зображення займають в середньому 1000 байт і містять 256 вхідних в палітру даних з яких необхідні лише 50, що призводить до більш ніж 600 байтам витраченого марно простору стиснення.