JPEG2000 срещу JPEG срещу PNG: Каква е разликата?

JPEG2000 срещу JPEG срещу PNG

Ако търсите списък със стандартите за формат на изображението с добро съотношение на компресия, обикновено търсене в Google ще доведе до много резултати. JPEG и подобният звук JPEG2000, заедно с PNG, са сред най-добрите формати за компресиране на изображения днес.

Въпреки това, всеки от тези формати има своите силни и слаби страни. За да можем да различаваме един от друг, трябва да разгледаме всеки поотделно. След като описахме всеки от трите формата на изображения, ще ги сравним заедно, така че можете ясно да видите как се различават и кой е подходящ за вас.

Има и други добре известни формати на растерни изображения, които не бяха включени в нашето сравнение. В наши дни GIF се използва активно за анимации, но е ограничен от 256 цветни палитри. TIFF е класически формат без загуби с поддръжка на по-голяма точност (16 бита на канал), но има слаба компресия и не се поддържа от повечето уеб браузъри. Има и редица по-нови формати, като JPEG XR, WebP и HEIF, които не са много популярни поради много ограничената поддръжка в уеб браузърите и софтуера за обработка на изображения.

Какво е JPEG?

JPEG акроним означава „Съвместна фотографска експертна група“ (името произлиза от компанията, която го е направила). За първи път се появява на сцената през 1986 г., но все още е най-популярният формат за изображения днес.

JPEG не трябва да се бърка с JPEG2000. Тези имена си приличат, тъй като и двата стандарта са предложени от една и съща компания, но са напълно различни алгоритми и формати; JPEG2000 е по-скорошен и много по-сложен.

JPEG първоначално е загубен формат, което означава, че кодирането винаги причинява загуба на качество. Коефициентът на компресия може да бъде значително увеличен с цената на повече загуби. Това е основната характеристика, която го направи толкова популярен за компресиране на фотографски изображения. Те обикновено имат плавни вариации на градиента на яркост и цвят, което позволява JPEG да постигне комбинация от добро съотношение на компресия с прилично качество. Природата на JPEG алгоритъма обаче предизвиква поява на блокиращи артефакти (особено забележими в близост до остри ръбове с висок контраст), които могат да бъдат разсейващи при високи коефициенти на компресия.

JPEG функции

Алгоритъмът за компресиране на JPEG има няколко важни характеристики, които му позволиха да придобие впечатляваща популярност:

  • Преобразуването на цветовото пространство позволява да се разделят компонентите за яркост (Y) и цветност (Cb, Cr). Намаляването на мащаба на Cb и Cr позволява намаляване на размера на файла с почти незабележими загуби на качество.
  • Квантоването след дискретна косинусна трансформация позволява да се контролира намаляването на размера на изображението чрез коефициенти на закръгляване за остри (високочестотни) детайли.
  • Незадължителното прогресивно кодиране позволява да се покаже нискокачествен предварителен преглед на цялото изображение след частично декодиране на неговия байт поток.
  • Кодиране без загуба на ентропия за DCT-трансформирани и квантовани данни от изображения.

Плюсовете и минусите на JPEG

Когато се разглежда като цяло, характеристиките на JPEG го правят надежден формат. Ето някои от предимствата му:

  • Този формат се използва от доста дълго време
  • Почти всички устройства могат да поддържат JPEG, което не е така за JPEG2000
  • Той е съвместим с повечето приложения за обработка на изображения
  • JPEG изображенията могат да бъдат компресирани до 5% от първоначалния им размер. Това прави JPEG формат по-подходящ, когато става въпрос за прехвърляне на изображения през мрежата
  • JPEG кодек може да бъде много бърз на процесора и особено на GPU

Недостатъците на JPEG включват:

  • Загубата на качеството е неизбежна след кодиране и всяка повторение на внос / износ
  • Благодарение на звънене и блокиране на артефакти изкривява изображения с остри ръбове, които стават по-трудни за разпознаване
  • Поддържат се само 1 или 3 цветни канала с 8/12-битова дълбочина
  • Не предлага запазване на прозрачността за изображения (няма отделен алфа-канал)

Какво е JPEG2000?

Лесно е да се предположи само въз основа на името, че JPEG2000 (или J2K) е ​​подобен по своята същност на JPEG. Истината е, че и двете общи неща е име. J2K алгоритъмът е разработен 8 години по-късно, след като JPEG излезе на сцената и по това време беше разглеждан като наследник на JPEG. Основната идея зад разработката на JPEG2000 беше да се създаде по-гъвкав и по-функционален алгоритъм на компресия с по-добро съотношение на компресия.

Кодиращата система JPEG2000 се захранва от технология, базирана на вълни, която позволява да се избира между компресиране без математически загуби и загуба в рамките на една архитектура (и дори в рамките на един кодов поток). Дискретната вълнова трансформация (DWT) обработва изображението като цяло, което предотвратява блокирането на артефактите в сравнение с JPEG.

Използването на DWT и двоичен аритметичен кодер позволи да се постигне по-висок коефициент на компресия в сравнение с JPEG, особено при ниски битрейтове. Въпреки че представянето на компресията беше посочено като основен двигател за дейността на разработчиците, в крайна сметка приложенията бяха привлечени от него от другите му предимства.

Кодният поток, получен след компресиране, е силно мащабируем поради използването на схема EBCOT (вградено блоково кодиране с оптимално отрязване). J2K позволява да изберете реда на прогресиране на разделителната способност, качеството, цветните компоненти и позицията, предоставяща множество производни на оригиналното изображение. Чрез поръчка на кодов поток по различни начини, приложенията могат да постигнат значително увеличаване на производителността или гъвкаво адаптиране към различна честотна лента на мрежата по време на предаване на последователност на изображения. Например, gigapixel J2K-изображение може да се гледа с малко закъснение, тъй като само цялата версия на дисплея може да се чете и декодира от целия файл. Друг пример е възможността за получаване на визуално без загуби изображение от безкомпромисното компресирано главно изображение, което може да спести време и честотна лента.

Този формат поддържа много големи изображения (до 232–1 за всяко измерение), множество компоненти (до 16384 компонента за мултиспектрални данни), по-висок динамичен диапазон (1–38 бита на компонент), където всеки компонент може да има различна разделителна способност и битова дълбочина.

Всъщност JPEG2000 е цяло семейство от стандарти, състоящо се от 12 части. Първата му част „Основна система за кодиране“ определя основния набор от функции (процеси на кодиране и декодиране, синтаксис на кода, файлов формат) и е свободна за използване без такси за плащане и лиценз. Сред допълнителните части са разширения, осигуряващи по-голяма гъвкавост (разширен файлов формат JPX, част 2), Motion JPEG 2000 (файлов формат MJ2, част 3), многослойни съставни изображения (файлов формат JPM, част 6), рамка за сигурност (част 8) , комуникационен протокол JPIP (част 9), триизмерно разширение (JP3D, част 10) и т.н.

Въпреки всичките си предимства, JPEG2000 форматът не стана толкова повсеместен, колкото разработчиците му смятаха, че ще бъде по различни причини. Ако сравним JPEG2000 и JPEG, J2K е по-сложен и изчислително взискателен, така че доскоро (преди достатъчно разработване на процесори и паралелни алгоритми) той беше твърде бавен в много практични случаи. Друг проблем беше, че нито производителите, нито постоянните клиенти бяха готови да го приемат в началото на 2000-те.

Днес JPEG2000 се счита за нишов формат и се наблюдава най-вече при получаване на изображения от скенери, медицински устройства за изображения, камери, изображения от спътници, цифрово кино и високотехнологично оборудване за изображения. Въпреки това, сега JPEG2000 вече достигна зрялост, получи поддръжка на много потребителски софтуер и има решения за повечето от възможните проблеми. Така че все още има потенциал за растеж на приемане и популярност.

JPEG2000 функции

Най-ефективният начин да разберете разликата между JPEG и JPEG2000 е като разгледате всяка тяхна характеристика. Знаейки това, ни помага да изградим връзка между двете, за да подчертаем още повече разликите. Следват някои от най-важните характеристики на JPEG2000:

  • Единична архитектура за компресия без загуби и загуби (дори в рамките на един файл с изображения)
  • Високо мащабируем кодов поток - възможност за предоставяне на версии на изображение с различни разделителни способности или качество от един файл
  • Поддръжка на много голям размер, множество компоненти, много висок динамичен обхват (до 38 бита на компонент)
  • Висока компресия (особено при ниски битрейтове)
  • Устойчивост на грешки (устойчивост на битови грешки, когато устройствата за комуникация или съхранение са ненадеждни)
  • Бърз произволен достъп до различни разделителни способности, компоненти, позиции и качествени слоеве
  • Регион на интерес (ROI) за кодиране и достъп
  • Поддръжка за специфични за домейна метаданни във формат JP2
  • Много ниска загуба на качество при множество цикли на декодиране / кодиране
  • Създаване на изображение за компресия с определен размер или качество

Плюсовете и минусите на JPEG2000

JPEG2000 има някои невероятни функции, а предимствата на използването на този формат на изображения в сравнение с други също са доста впечатляващи. Ето някои от причините, поради които може да искате да използвате JPEG2000:

  • Има единична архитектура на компресия както за загуби, така и за загуби без загуби
  • Едно главно изображение замества множество производни (различни разделителни способности и качество)
  • Подходящ е за видео продукция и работа с телевизионно съдържание на живо
  • Работи добре с естествени снимки, както и със синтетично визуално съдържание
  • Устойчивост на битови грешки.

JPEG2000 има и следните недостатъци:

  • Не се поддържа от уеб браузъри (с изключение на Safari)
  • JPEG2000 не е съвместим с JPEG. Необходимо е допълнително време и усилия за интегриране на JPEG2000 в системата или продукт, дори ако вече използва JPEG алгоритъм
  • Стандартните кодеци с отворен код JPEG2000 са твърде бавни за активна употреба

Какво е PNG?

PNG (или Portable Network Graphics) е друг формат, създаден за компресиране на изображения без загуби. Днес PNG е най-популярният формат на изображения в уебсайтове, а също така се очаква да бъде евентуалната подмяна на GIF формат, който все още активно се използва за анимации. Всъщност подмяната на GIF беше основната мотивация за създаването на PNG формат, тъй като патентованият GIF изисква лиценз и има добре познат лимит от 256 цветни палитри.

PNG използва непатентован алгоритъм за компресиране без загуби Deflate, който е комбинация от LZ77 и Huffman кодиране. Характеристиката на прогресивността на PNG се основава на незадължителна двуизмерна 7-проходна схема на преплитане, която обаче намалява съотношението на компресия при използване.

Размерът на PNG файл зависи от дълбочината на цвета (до 64 бита на пиксел), предсказуем филтър на етапа на предварително компресиране, изпълнение на компресиране на дефлация, незадължително преплитане, незадължителни метаданни. За този формат са разработени няколко опции за компресия на загуби: постеризация (намаляване на броя на уникалните цветове), усъвършенствани техники за избор на палитра (намаляване на 32-битови цветове до 8-битова палитра), филтър за средно загуби.

Въпреки че GIF поддържа анимация, беше решено PNG да е формат с едно изображение. През 2008 г. обаче беше предложено разширението на PNG, наречено APNG (анимирано PNG), и сега то се поддържа от всички основни уеб браузъри, с изключение на Microsoft IE / Edge. Нещо повече, дори Edge скоро ще получи своята подкрепа, защото през декември 2018 г. Microsoft обяви, че използва браузъра Blink в Chrome в браузъра Edge, докато преустанови разработването на собствения си собственик на браузъра EdgeHTML.

PNG има поддръжка на данни за корекция на цветовете (гама, баланс на бялото, цветни профили). Корекцията е необходима, тъй като едни и същи цифрови стойности на цветовете могат да произвеждат различни цветове в различни компютърни настройки дори при идентични монитори. Въпреки това, практическото използване на тази функция може да се превърне в проблем и тази информация често се премахва с инструменти за оптимизация на PNG.

PNG функции

PNG има няколко основни функции, които му позволиха да се превърне в най-популярния формат без загуби за растерни синтетични изображения. Нека разгледаме накратко всеки от тях:

  • Компресия без загуба
  • Поддръжка на прозрачност на алфа-каналите (уникална сред най-популярните във формати на уеб изображения)
  • 7-преминаваща прогресивност
  • Алгоритъмът за компресия на PNG е в състояние да обработва изображения, базирани на истински цветове, сиви скали и палитра от 1-битови до 16-битови (за разлика от JPEG, който поддържа само първите два и само за 8 или 12 бита)
  • Няколко варианта на компромис между съотношението на компресия и скоростта

Плюсове и минуси на PNG

Компресирането на PNG е практично и това го прави наистина популярен инструмент за съхранение и предаване на синтетични и компютърно генерирани графични изображения. Ето някои допълнителни предимства на този формат:

  • Широка поддръжка от уеб браузъри и друг софтуер
  • Няма патентни проблеми
  • Алфа канал за регулируема прозрачност на пикселите (непрозрачност)
  • Висок динамичен обхват (до 16 бита на канал)

PNG не е перфектен и също има своите недостатъци:

  • Няма присъща поддръжка на загуба на компресия
  • Нисък коефициент на компресия поради остарял алгоритъм на компресия
  • Без присъща поддръжка на анимация (само в разширения като APNG)

Какво е по-добре: JPEG срещу JPEG2000 срещу PNG

JPEG2000

Предимства

  • Както компресия, така и загуба
  • Гъвкаво прогресивно декодиране
  • Много добро съотношение на компресия на изображението
  • Грешка устойчивост

Недостатъци

  • Не се поддържа универсално от браузърите
  • Много висока изчислителна сложност

JPEG

Предимства

  • Съвместим с всички уеб браузъри
  • Поддържа се от почти целия софтуер и устройства за обработка на изображения
  • Много бързо или на процесор, или на графичен процесор

Недостатъци

  • Без режим без загуби в оригиналния стандарт
  • Блокиране на артефакти
  • Без запазване на прозрачността

PNG

Предимства

  • Съвместим с всички уеб браузъри
  • Надеждна компресия без загуби
  • Пълен контрол на прозрачността

Недостатъци

  • Не е подходящ за силно компресиране на загуби
  • Нисък коефициент на компресия

заключение

Всеки от тези три формата на изображения може да бъде полезен за различни задачи. JPEG е съвместим с повечето устройства и хардуер, така че днес може да се използва почти навсякъде, макар и с някои ограничения на качеството. JPEG2000, от друга страна, е по-полезен за поддържане на високо качество на изображенията и работа с телевизионно съдържание в реално време, докато PNG е по-удобен за онлайн прехвърляне на синтетични изображения. Всеки от тях има уникални свойства, които могат да се прилагат за съхраняване и обработка на изображения в различни ситуации.

Оригинална статия вижте тук: https://www.fastcompression.com/blog/jpeg-j2k-png-review.htm